Oracle Database 11gR2: Building an ASM Clustered File System (ACFS)

Synopsis.
As its integration of grid computing features that had only been available in a
Real Application Clusters (RAC) clustered database environment, Oracle Database
11g Release 2 (11gR2) integrates a new ASM-based file system – the ASM
Clustered File System – that offers the ability to store files other than
database specific files like online redo logs, control files, and datafiles. This
article – the next in this series – will demonstrate how to install and
configure a new Oracle 11g Release 2 (11gR2) Grid Infrastructure home as the
basis for the majority of these grid computing features.

Oracle Database 11gR2: Installing Grid Infrastructure explained how to:

  • Configure ASMLIB
    for block devices
  • Install the new Oracle 11gR2 Grid Infrastructure
    components in single-server mode
  • Create an ASM
    instance
    using the Grid Infrastructure tools

Continuing
along this same course, I’ll next illustrate how to:

  • Install and configure the new Oracle 11gR2 ASM
    Clustered File System
    (ACFS)
  • Create a new Oracle 11gR2 database home
    within an ACFS file system
  • Use myriad new features of the ASM command-line utility, ASMCMD, to manage all facets of an ASM
    instance, ASM disk groups, and ASM disks

Installing ACFS: Preparation

Now
that I’ve got an Automatic Storage
Management
(ASM) instance configured, I’ll turn my attention to
setting up a new ASM disk group that uses 11gR2’s
new ASM Cluster File System
(ACFS) as its underlying file system. First, I’ll verify whether my ASM
instance has been successfully restarted after I rebooted my host server:

[[email protected] ~]$ ps -ef | grep +ASM
oracle   13568     1  0 11:30 ?        00:00:00 asm_pmon_+ASM
oracle   13570     1  0 11:30 ?        00:00:00 asm_vktm_+ASM
oracle   13574     1  0 11:30 ?        00:00:00 asm_gen0_+ASM
oracle   13576     1  0 11:30 ?        00:00:00 asm_diag_+ASM
oracle   13578     1  0 11:30 ?        00:00:00 asm_psp0_+ASM
oracle   13580     1  0 11:30 ?        00:00:06 asm_dia0_+ASM
oracle   13582     1  0 11:30 ?        00:00:00 asm_mman_+ASM
oracle   13584     1  0 11:30 ?        00:00:00 asm_dbw0_+ASM
oracle   13586     1  0 11:30 ?        00:00:00 asm_lgwr_+ASM
oracle   13588     1  0 11:30 ?        00:00:00 asm_ckpt_+ASM
oracle   13590     1  0 11:30 ?        00:00:00 asm_smon_+ASM
oracle   13592     1  0 11:30 ?        00:00:00 asm_rbal_+ASM
oracle   13594     1  0 11:30 ?        00:00:02 asm_gmon_+ASM
oracle   13596     1  0 11:30 ?        00:00:00 asm_mmon_+ASM
oracle   13598     1  0 11:30 ?        00:00:00 asm_mmnl_+ASM
oracle   14318 14217  0 17:09 pts/2    00:00:00 grep +ASM

[[email protected] ~]$ . oraenv
ORACLE_SID = [orcl] ? +ASM
The Oracle base for ORACLE_HOME=/u01/app/oracle/product/11.2.0/grid is /u01/app/oracle

[[email protected] ~]$ srvctl status asm
ASM is running on 11gr2base

Excellent
news! My ASM instance is running after the server was rebooted, and this means
that the setup for Oracle 11gR2 High Availability Services (HAS) is still
intact. If you’ve worked with Oracle
Clusterware
(OC) and Real
Application Cluster
(RAC) databases in prior Oracle releases, by the
way, you’ll notice that I used the venerable srvctl
OC command to confirm the status of my ASM instance. This illustrates that
Oracle Clusterware is indeed imbedded within the Grid Infrastructure components
of Oracle 11gR2. (I’ll be
covering a range of new srvctl commands in my next article as we explore
how an Oracle single-instance database is managed within the 11gR2 Grid Infrastructure.)

Configuring ACFS For Server Reboots. Before
I can proceed with the creation of an ACFS-based Oracle Home, I need to verify
that the corresponding ACFS module and its service, oracleacfs, is also running. I’ll
connect as the root user and then issue the lsmod command to search for that
service:

#> lsmod | grep oracle
oracleasm              81576  1 

Unfortunately,
neither oracleacfs nor its counterpart oracleadvm service
that Oracle uses to manage ASM Dynamic
Volume Management
(ADVM), is loaded right now because I haven’t yet
implemented the proper acfsload startup script. Much like the losetup
script in the prior article, I’ve built a new script, /etc/init.d/acfsload,
as shown below, and I’ll activate this script as a service for automatic reboot
using the Linux chkconfig
command:

#> view /etc/init.d/acfsload

#!/bin/sh
# chkconfig: 2345 30 31
# description: Automatically load Oracle 11gR2 ACFS drivers during system reboot
/u01/app/oracle/product/11.2.0/grid/bin/acfsload start -s

#> chmod 775 acfsload
#> chkconfig --add acfsload
#> chkconfig --list acfsload

acfsload        0:off   1:off   2:on    3:on    4:on    5:on    6:off

Once
I constructed and then executed this script manually, I can confirm that the
proper ACFS and ADVM modules are now loaded:

#> lsmod | grep oracle
oracleacfs            877320  0 
oracleadvm            221760  0 
oracleoks             276880  2 oracleacfs,oracleadvm
oracleasm              81576  1 
Jim Czuprynski
Jim Czuprynski
Jim Czuprynski has accumulated over 30 years of experience during his information technology career. He has filled diverse roles at several Fortune 1000 companies in those three decades - mainframe programmer, applications developer, business analyst, and project manager - before becoming an Oracle database administrator in 2001. He currently holds OCP certification for Oracle 9i, 10g and 11g. Jim teaches the core Oracle University database administration courses on behalf of Oracle and its Education Partners throughout the United States and Canada, instructing several hundred Oracle DBAs since 2005. He was selected as Oracle Education Partner Instructor of the Year in 2009. Jim resides in Bartlett, Illinois, USA with his wife Ruth, whose career as a project manager and software quality assurance manager for a multinational insurance company makes for interesting marital discussions. He enjoys cross-country skiing, biking, bird watching, and writing about his life experiences in the field of information technology.

Latest Articles