Using a block device for the ASM RAC instance spfileThis is a featured page

Using a block device for the ASM RAC instance spfile

Benefits:

Removes the clusterware layer in configuration stack, preventing outages to the ASM instance (and instances using the ASM disk) from a clusterware failure.

Disadvantages:

Creates a minor increased level of complexity in restores and crash debugging

Overview Method:

1. Create an ASM instance using a normal spfile on a cluster mount point,
such as an OCFS2 mount.
2. Copy ocfs2 spfile to a shared block device using dd command
3. shutdown ASM instance
4. Delete original spfile on ocfs2 mount point
5. Run srvctl modify to use spfile on block device
6. Start ASM instance
7. Create and edit a pfile with the spfile location parameter only

Detail Method:

1. Create an ASM instance using a normal spfile on a cluster mount point, such as an
OCFS2 mount.

Using dbca, create you ASM instance using an OCSF2 formated mount point shared
among the RAC nodes.

Example: /ocfs2/asmspfile/spfile_+ASM.ora

2. Copy ocfs2 spfile to a shared block device using dd command

After ASM instance has been created, run the following to copy the contents of the
spfile to the block device:

dd if=/ocfs2/asmspfile/spfile_+ASM.ora of=/dev/asmspfile

(Where /dev/asmspfile is a simple shared formated ext3 disk mounted to all nodes in
the cluster.)

3. shutdown ASM instance

Use srvctl to shut dow the instance, not sqlplus.

srvctl stop asm -n <Node1,Node2,etc>

4. Delete original spfile on ocfs2 mount point

rm /ocfs2/asmspfile/spfile_+ASM.ora

5. Run srvctl modify to use spfile location to the block device location

When starting the ASM instance using srvctl the path for the spfile is embedded in the
configuration when you create the ASM instance. You need to change it to the block
device location or the next time you restart with srvctl or reboot the server it will
try to use the original spfile location. Here is how:

srvctl modify asm -n Linux1 -i +ASM1 -o \
/u01/app/oracle/product/11.1.0/asm_1 -p /dev/asmspfile
srvctl modify asm -n Linux2 -i +ASM2 -o \
/u01/app/oracle/product/11.1.0/asm_1 -p /dev/asmspfile

(Where +ASM1 and +ASM2 are the two ASM instances in the cluster (run one of these
commands for each instance) and /u01/app/oracle/product/11.1.0/asm_1 is the
ORACLE_HOME of the ASM instances and /dev/asmspfile is the block device you copied
the spfile to using the "dd" commands.)

6. Start ASM instance

Again, use srvctl, not sqlplus.

svrctl start asm -n <Node1,Node2,etc>

Tail the alert log in $ORACLE_BASE/diag/asm/+asm/+ASM1/trace/alert_+ASM1.log and
verify it is using the spfile from the block device.
(Where ASM1 is the instance name.)

7. Create and edit a pfile with only the spfile location parameter only

On each node crate and edit the $ORACLE_HOME/dbs/init+ASM<x>.ora file and add the
following parameter:

spfile='/dev/asmspfile'

Do not add any additional parameters to the init.ora, as they will overwrite what is
in the spfile if added after the spfile parameter.

8. Test stopping and starting the ASM instance using sqlplus

sqlplus "/ as sysasm"
shutdown immediate
startup
exit

Tail the alert log in $ORACLE_BASE/diag/asm/+asm/+ASM1/trace/alert_+ASM1.log and
verify it is using the spfile from the block device.
(Where ASM1 is the instance name.)



emocat
emocat
Latest page update: made by emocat , Apr 24 2009, 12:38 PM EDT (about this update About This Update emocat Moved from: The Official Oracle Wiki - emocat

No content added or deleted.

- complete history)
Keyword tags: ASM block device spfile
More Info: links to this page
There are no threads for this page.  Be the first to start a new thread.

Related Content

  (what's this?Related ContentThanks to keyword tags, links to related pages and threads are added to the bottom of your pages. Up to 15 links are shown, determined by matching tags and by how recently the content was updated; keeping the most current at the top. Share your feedback on Wetpaint Central.)