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

March 25, 2010

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:

[oracle@11gR2Base ~]$ 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

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

[oracle@11gR2Base ~]$ 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

# 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 

The Network for Technology Professionals



Legal Notices, Licensing, Permissions, Privacy Policy.
Advertise | Newsletters | E-mail Offers