Sie sind auf Seite 1von 7

4/7/2014 Document 1376225.

How to Modify an Existing ASM Spfile in a RAC Environment (Doc ID 1376225.1)


Modified: 21-Sep-2012 Type: HOWTO

In this Document

Goal
Fix
1) Shutdown +ASM2 instance on second node, or if multiple node RAC, all ASM instances on each node
except node 1:
2) Then, on node 1, connect to +ASM1 instance:
3) Create a modified ASM pfile:
4) Start up the +ASM1 instance on the first node:
5) Check if the ASM diskgroups are mounted properly or not:
6) Create the spfile:
7) Check the new spfile location through ASMCMD as well:
8) Shutdown +ASM1:
9) Check the $ASM_HOME/dbs/init+ASM1.ora to ensure that it points to new location of spfile:
10) Restart the +ASM1 instance using the new spfile:
11) Check the new spfile location through SQL*Plus:
12) Check if the ASM diskgroups are mounted properly or not:
13) Go to node 2, or each node in multiple node RAC, and check the $ASM_HOME/dbs/init+ASM2.ora to
ensure that it points to new location of spfile:
14) Restart the +ASM2 instance using the new spfile, or follow this step, step 15, and step 16 in sequential
order, for each ASM instance in multiple node RAC (This is a safe startup process for the ASM instances in
RAC, rather then using srvctl to startup the rest of the ASM instances.):
15) Check the new spfile location through SQL*Plus, or on each ASM instance in multiple node RAC:
16) Check if the ASM diskgroups are mounted properly or not, or for each ASM instance in multiple node
RAC:
Additional Resources
References

This document is being delivered to you via Oracle Support's Rapid Visibility (RaV) process and therefore has not
been subject to an independent technical review.

APPLIES TO:

Oracle Server - Enterprise Edition - Version 10.2.0.1 to 11.1.0.8 [Release 10.2 to 11.1]
Information in this document applies to any platform.

GOAL

This document provides an example on how to modify an existing Automatic Storage Management (ASM) spfile in a
two node Real Application Clusters (RAC) Environment. These steps can be applied to a multiple node Real Application
Clusters (RAC) Environment.

https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=3vpjg1155_130&id=1376225.1 1/7
4/7/2014 Document 1376225.1

FIX

If an spfile is used in Clustered ASM environments, then the spfile must be on a shared Clusterware device, i.e. shared
spfile.

Note: Before proceeding with the following steps, it is assumed that the databases using ASM will have been
shutdown on each node.

1) Shutdown +ASM2 instance on second node, or if multiple node RAC, all ASM instances on each node
except node 1:

The default locations are based on environment variable settings when the ASM instance is started.

$ export $ORACLE_SID=+ASM2
$ export $ORACLE_HOME=<full path of the asm home>

10g and 11gR1:


$ sqlplus '/ as sysdba'

SQL> shutdown immediate;

2) Then, on node 1, connect to +ASM1 instance:

$ export $ORACLE_SID=+ASM1
$ export $ORACLE_HOME=<full path of the asm home>

10g and 11gR1:


$ sqlplus '/ as sysdba'

SQL> show parameter spfile ---> make a note of spfile location

SQL> create pfile =<the full pathname of init+ASM1.ora> from spfile;

SQL> shutdown immediate;

3) Create a modified ASM pfile:

For example:
Modify the 'init+ASM1.ora' to include both +ASM1 and +ASM2 diskgroups parameter and save 'init+ASM1.ora':

+ASM1.asm_diskgroups='DAT'#Manual Mount ---> Here


+ASM2.asm_diskgroups='DAT'#Manual Mount ---> Here
*.asm_diskgroups='DAT'
*.asm_diskstring='ORCL:*'
*.background_dump_dest='/app/oracle/admin/+ASM/bdump'
*.cluster_database=true
*.core_dump_dest='/app/oracle/admin/+ASM/cdump'
+ASM1.instance_number=1
+ASM2.instance_number=2
*.instance_type='asm'
https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=3vpjg1155_130&id=1376225.1 2/7
4/7/2014 Document 1376225.1
*.large_pool_size=12M
*.remote_login_passwordfile='exclusive'
*.user_dump_dest='/app/oracle/admin/+ASM/udump'

4) Start up the +ASM1 instance on the first node:

$ export $ORACLE_SID=+ASM1
$ export $ORACLE_HOME=<full path of the asm home>

10g and 11gR1:


$ sqlplus '/ as sysdba'

SQL> startup pfile=<the full pathname of init+ASM1.ora>

The ASM instance should start up properly.

5) Check if the ASM diskgroups are mounted properly or not:

SQL> select name, total_mb, free_mb from v$asm_diskgroup;

NAME TOTAL_MB FREE_MB


------------------------------ ---------- ----------
ACFS 97660 316
DAT 9773 9720
RECO 390640 366400
SPFILE 35824 35765 ------> SPFILE is just an example diskgroup. The ASM spfile
can be located on any diskgroup.

4 rows selected.

6) Create the spfile:

SQL> create spfile='+SPFILE' from pfile=<the full pathname of init+ASM1.ora>;

File created.

7) Check the new spfile location through ASMCMD as well:

$ export $ORACLE_SID=+ASM1
$ export $ORACLE_HOME=<full path of the asm home>

ASMCMD> ls
ACFS/
DAT/
RECO/
SPFILE/
ASMCMD> cd SPFILE
ASMCMD> ls
ASM/

https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=3vpjg1155_130&id=1376225.1 3/7
4/7/2014 Document 1376225.1
ASMCMD> cd ASM
ASMCMD> ls
ASMPARAMETERFILE/
ASMCMD> cd ASMPARAMETERFILE/
ASMCMD> ls
REGISTRY.228.769874562
ASMCMD> ls -l
Type Redund Striped Time Sys Name
ASMPARAMETERFILE UNPROT COARSE OCT 01 11:00:00 Y REGISTRY.228.769874562
ASMCMD> exit

8) Shutdown +ASM1:

$ export $ORACLE_SID=+ASM1
$ export $ORACLE_HOME=<full path of the asm home>

10g and 11gR1:


$ sqlplus '/ as sysdba'

SQL> shutdown immediate;

9) Check the $ASM_HOME/dbs/init+ASM1.ora to ensure that it points to new location of spfile:

For example:

$ cd $ASM_HOME/dbs
$ cat init+ASM1.ora
SPFILE='+SPFILE/asm/asmparameterfile/registry.228.769874562'

If $ASM_HOME/dbs/init+ASM1.ora does not point to new location of spfile, then:

$ vi $ASM_HOME/dbs/init+ASM1.ora

modify $ASM_HOME/dbs/init+ASM1.ora:
$ SPFILE='+SPFILE/asm/asmparameterfile/registry.228.769874562'

$ save init+ASM1.ora

re-check $ASM_HOME/dbs/init+ASM1.ora:
$ cat init+ASM1.ora
SPFILE='+SPFILE/asm/asmparameterfile/registry.228.769874562'

10) Restart the +ASM1 instance using the new spfile:

Note: To ensure that the +ASM1 instance starts up using the new spfile, rename the pfile (<the full pathname of
init+ASM1.ora>) so that +ASM1 can not recognize it.

$ export $ORACLE_SID=+ASM1

https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=3vpjg1155_130&id=1376225.1 4/7
4/7/2014 Document 1376225.1
$ export $ORACLE_HOME=<full path of the asm home>

10g and 11gR1:


$ sqlplus '/ as sysdba'

SQL> startup

11) Check the new spfile location through SQL*Plus:

SQL> sho parameter spfile

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

spfile string +SPFILE/asm/asmparameterfile/registry.228.769874562

12) Check if the ASM diskgroups are mounted properly or not:

SQL> select name, total_mb, free_mb from v$asm_diskgroup;

NAME TOTAL_MB FREE_MB


------------------------------ ---------- ----------
ACFS 97660 316
DAT 9773 9720
RECO 390640 366400
SPFILE 35824 35765

4 rows selected.

13) Go to node 2, or each node in multiple node RAC, and check the $ASM_HOME/dbs/init+ASM2.ora to
ensure that it points to new location of spfile:

For example:

$ cd $ASM_HOME/dbs
$ cat init+ASM2.ora
SPFILE='+SPFILE/asm/asmparameterfile/registry.228.769874562'

If $ASM_HOME/dbs/init+ASM2.ora does not point to new location of spfile, then:

$ vi $ASM_HOME/dbs/init+ASM2.ora

modify $ASM_HOME/dbs/init+ASM2.ora:
$ SPFILE='+SPFILE/asm/asmparameterfile/registry.228.769874562'

$ save init+ASM2.ora

re-check $ASM_HOME/dbs/init+ASM2.ora:
$ cat init+ASM2.ora
SPFILE='+SPFILE/asm/asmparameterfile/registry.228.769874562'

https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=3vpjg1155_130&id=1376225.1 5/7
4/7/2014 Document 1376225.1

Note: Both $ASM_HOME/dbs/init+ASM1.ora and $ASM_HOME/dbs/init+ASM2.ora, or each init_ASM[n] in multiple


node RAC, have to point to the same ASM spfile location.

14) Restart the +ASM2 instance using the new spfile, or follow this step, step 15, and step 16 in sequential
order, for each ASM instance in multiple node RAC (This is a safe startup process for the ASM instances in
RAC, rather then using srvctl to startup the rest of the ASM instances.):

$ export $ORACLE_SID=+ASM2
$ export $ORACLE_HOME=<full path of the asm home>

10g and 11gR1:


$ sqlplus '/ as sysdba'

SQL> startup

15) Check the new spfile location through SQL*Plus, or on each ASM instance in multiple node RAC:

SQL> sho parameter spfile

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

spfile string +SPFILE/asm/asmparameterfile/registry.228.769874562

16) Check if the ASM diskgroups are mounted properly or not, or for each ASM instance in multiple node
RAC:

SQL> select name, total_mb, free_mb from v$asm_diskgroup;

NAME TOTAL_MB FREE_MB


------------------------------ ---------- ----------
ACFS 97660 316
DAT 9773 9720
RECO 390640 366400
SPFILE 35824 35765

4 rows selected.

Additional Resources

Community Discussions: Storage Management MOS Community


Still have questions? Use the above community to search for similar discussions or start a new discussion on this
subject.
https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=3vpjg1155_130&id=1376225.1 6/7
4/7/2014 Document 1376225.1

REFERENCES

NOTE:1313657.1 - How to start up the ASM instance when the spfile is misconstrued or lost ?
NOTE:946145.1 - ASM 11gR2 Instance Is Unable To Start Due To ASM Spfile Is Missing.

https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=3vpjg1155_130&id=1376225.1 7/7

Das könnte Ihnen auch gefallen