Database Journal
MS SQL Oracle DB2 Access MySQL PostgreSQL Sybase PHP SQL Etc SQL Scripts & Samples Tips Database Forum Rss Feed

» Database Journal Home
» Database Articles
» Database Tutorials
MS Access
SQL Scripts & Samples
» Database Forum
» Slideshows
Free Newsletters:

News Via RSS Feed

Rss Feed

Database Journal |DBA Support |SQLCourse |SQLCourse2

Featured Database Articles


Posted Mar 25, 2010

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

By Jim Czuprynski

Managing ACFS: The ACFSUTIL Utility

I can verify the status of any ACFS-controlled mount point with the acfsutil command-line utility. For example, the acfsutil info fs command shows me the current state of the existing ACFS file system, including where and how it’s been mounted, its current availability, how much free disk space is available, whether any software redundancy is in place, and even the stripe size used:

#> acfsutil info fs
    ACFS Version:
    flags:        MountPoint,Available
    mount time:   Sun Mar  7 22:56:43 2010
    volumes:      1
    total size:   6442450944
    total free:   6391668736
    primary volume: /dev/asm/acfs_db1-152
        flags:                 Primary,Available,ADVM
        on-disk version:       39.0
        allocation unit:       4096
        major, minor:          252, 77825
        size:                  6442450944
        free:                  6391668736
        ADVM diskgroup         ACFS
        ADVM resize increment: 268435456
        ADVM redundancy:       unprotected
        ADVM stripe columns:   4
        ADVM stripe width:     131072
    number of snapshots:  0
    snapshot space usage: 0

Listing 2.2 shows a detailed list of acfsutil commands that are currently available. I’m going to dive much deeper into acfsutil in the next article in this series when I demonstrate how to create an ACFS file system snapshot (FSS) for faster patching of Oracle homes with virtually zero downtime.

Mounting an ACFS File System Automatically After Server Reboot. As you can see from my invocation of the Linux ls command below, the new ACFS file system is actually not yet mounted:

#> ls -la /u01/app/oracle/acsfmounts/*
total 8
drwxr-x--- 2 oracle dba 4096 Mar  7 22:54 .
drwxr-x--- 3 oracle dba 4096 Mar  7 22:54 ..

To mount this new ACFS file system at the appropriate mount point, I’ll simply invoke the mount command as the root user, but note that for the first time, I’ll specify a new file system type of acfs:

#> mount -t acfs /dev/asm/acfs_db1-152 /u01/app/oracle/acsfmounts/acfs_db1/

#> mount
/dev/sda1 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda3 on /tmp type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sdb1 on /u01/app/oracle/product type ext3 (rw)
/dev/sdc1 on /stage type ext3 (rw)
/dev/sdd1 on /u01/app/oracle/oradata type ext3 (rw)
/dev/sdh1 on /u01/app/oracle/oraFRA type ext3 (rw)
/dev/sdi2 on /DONTTOUCH type ext3 (rw)
/dev/mapper/vg1-lvfra on /u01/app/flash_recovery_area type ext3 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
.host:/ on /mnt/hgfs type vmhgfs (rw,ttl=1)
none on /proc/fs/vmblock/mountPoint type vmblock (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
oracleasmfs on /dev/oracleasm type oracleasmfs (rw)
/dev/asm/acfs_db1-152 on /u01/app/oracle/acsfmounts/acfs_db1 type acfs (rw)

And one other thing that I must not forget to do before I reboot my server: I’ll need to add an entry to my server’s /etc/fstab configuration file to insure that my eventual new Oracle 11gR2 database home is actually mounted before I attempt to start the database within that home:

LABEL=/                 /                       ext3    defaults        1 1
LABEL=/tmp              /tmp                    ext3    defaults        1 2
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
LABEL=SWAP-sda2         swap                    swap    defaults        0 0
/dev/sdb1               /u01/app/oracle/product ext3    defaults        0 0
/dev/sdc1               /stage                  ext3    defaults        0 0
/dev/sdd1               /u01/app/oracle/oradata ext3    defaults        0 0
/dev/sdh1               /u01/app/oracle/oraFRA  ext3    defaults        0 0
/dev/sdi2               /DONTTOUCH              ext3    defaults        0 0
/dev/vg1/lvfra          /u01/app/flash_recovery_area    ext3    defaults        0 0

/dev/asm/acfs_db1-152   /u01/app/oracle/acfsmounts/acfs_db1     acfs   defaults        0 0

Installing a New Oracle 11g Release 2 Database Home

Just as with the installation of a new Oracle 11gR2 Grid Infrastructure home, I’ll once again use the Oracle Universal Installer (OUI) utility to install a new Oracle 11gR2 database home. I simply invoked the standard runInstaller OUI script, this time from the /stage/11.2.0/database/ directory from my staging disk. I won’t bore you with my responses to every single prompt on every OUI panel here; however, I’ve included all of the panels and my responses in Listing 2.3 starting with Figure 2.6.

Once all of the installation panels have been completed appropriately, the new Oracle database home has been successfully propagated, and I’ve run the standard root.sh script from within the new Oracle 11gR2 database home directory, I’m at last ready to create a new Oracle 11gR2 database, or even upgrade an existing 11gR1 database to release 11gR2 … but that’s a topic for my next article.

Next Steps

We’re making excellent progress … but it’s going to get a lot more interesting (and a lot less tedious) in the next article in this series, as I’ll demonstrate how to:

  • Upgrade an existing Oracle 11gR1 database to Oracle 11gR2 using an ACFS-resident Oracle Home
  • Use new ASMCMD command options to selectively monitor ASM disk performance and ASM file system content

References and Additional Reading

Before you proceed to experiment with any of these new features, I strongly suggest that you first look over the corresponding detailed Oracle documentation before trying them out for the first time. I’ve drawn upon the following Oracle Database 11g Release 2 documents for this article’s technical details:

E10881-02 Oracle Database 11gR2 New Features

E10592-03 Oracle Database 11gR2 SQL Language Reference

E10700-01 Oracle Database 11gR2 DataGuard Concepts and Administration

E10595-05 Oracle Database 11gR2 Administrator’s Guide

E10713-03 Oracle Database 11gR2 Concepts

E10820-02 Oracle Database 11gR2 Reference

E10500-02 Oracle Database 11gR2 Storage Administrator’s Guide

E10837-02 Oracle Database 11gR2 VLDB and Partitioning Guide

» See All Articles by Columnist Jim Czuprynski

Oracle Archives

Latest Forum Threads
Oracle Forum
Topic By Replies Updated
Oracle Data Mining: Classification jan.hasller 0 July 5th, 07:19 AM
Find duplicates - Unique IDs Lava 5 July 2nd, 08:30 AM
no matching unique or primary key rcanter 1 April 25th, 12:32 PM
Update values of one table based on condition of values in other table using Trigger Gladiator 3 February 29th, 06:01 PM