Wednesday, July 30, 2014

RAC ASM 11.2 Change ASM SPFILE location

Locate asm spfile location:

[grid@rac1 ~]$ asmcmd spget
+VOTE/rac/asmparameterfile/registry.253.853798947
[grid@rac1 ~]$ /u01/app/11.2.0/grid/bin/gpnptool get |  xmllint --format - | egrep 'SPFile'
  <orcl:ASM-Profile id="asm" DiscoveryString="" SPFile="+VOTE/rac/asmparameterfile/registry.253.853798947"/>


Copy the spfile to the new location .
NOTE: This step is working only if you specify the exact path and name for spfile (see bellow the errors). This command doesn't use OMF.

[grid@rac1 ~]$ asmcmd
ASMCMD> cd vote/rac/asmparameterfile
ASMCMD> ls
REGISTRY.253.853798947
ASMCMD> spcopy +vote/rac/asmparameterfile/REGISTRY.253.853798947 +vote_tmp
ORA-15056: additional error message
ORA-17502: ksfdcre:4 Failed to create file +vote_tmp/REGISTRY.253.853798947
ORA-15177: cannot operate on system aliases
ORA-06512: at line 7 (DBD ERROR: OCIStmtExecute)
 

NOTE: Spcopy will not use OMF. Have to specify the full path and name for new spfile


1. Move ASM spfile using ASMCMD

Check spfile location:


[grid@rac1 ~]$ asmcmd spget
+VOTE_TMP/rac/asmparameterfile/registry.253.854289061


Copy spfile with -u option - to update GPnP profile in RAC environment:

[grid@rac1 ~]$ asmcmd spcopy -u +VOTE_TMP/rac/asmparameterfile/registry.253.854289061 +VOTE/rac/asmparameterfile/spfileASM.ora
[grid@rac1 ~]$ asmcmd spget
+VOTE/rac/asmparameterfile/spfileASM.ora


Restart CRS stack to verify that ASM starts with new spfile:
 

[grid@rac1 ~]$ su -
Password: 
-bash-4.1# cd /u01/app/11.2.0/grid/bin/
-bash-4.1# ./crsctl stop crs
-bash-4.1# ./crsctl start crs
CRS-4123: Oracle High Availability Services has been started.


Check new spfile:

[grid@rac2 ~]$ asmcmd spget
+VOTE/rac/asmparameterfile/spfileASM.ora


Restart CRS stack on the other node and check spfile location.



[grid@rac1 ~]$ asmcmd spget
+VOTE/rac/asmparameterfile/spfileASM.ora

Remove old spfile

[grid@rac1 ~]$ asmcmd rm +VOTE_TMP/rac/asmparameterfile/registry.253.854289061



2. Copy ASM SPFILE using SQL Plus.


View spfile location:

[grid@rac1 ~]$ sqlplus / as sysasm

SQL> show parameter spfile;   

spfile                     string     +VOTE/rac/asmparameterfile/reg istry.253.853798947
SQL> create pfile from spfile;

File created.

SQL> create spfile='+VOTE_TMP' from pfile;

File created.

SQL> show parameter spfile;

spfile                     string     +VOTE/rac/asmparameterfile/registry.253.853798947
SQL>exit


Check location of the new spfile:

[grid@rac1 dbs]$ asmcmd
ASMCMD> cd +vote_tmp/rac/asmparameterfile
ASMCMD> ls
REGISTRY.253.854289061


Restart clusterware stack on first node:

[grid@rac1 ~]$ su -
Password: 
-bash-4.1# cd /u01/app/11.2.0/grid/bin/
-bash-4.1# ./crsctl stop crs
-bash-4.1# ./crsctl start crs
CRS-4123: Oracle High Availability Services has been started.


Check new spfile location.

[grid@rac1 dbs]$ asmcmd spget
+VOTE_TMP/rac/asmparameterfile/registry.253.854289061


Restart clusterware stack on second node:

[grid@rac1 ~]$ su -
Password: 
-bash-4.1# cd /u01/app/11.2.0/grid/bin/
-bash-4.1# ./crsctl stop crs
-bash-4.1# ./crsctl start crs
CRS-4123: Oracle High Availability Services has been started.


Check new spfile on second node:

[grid@rac2 ~]$ asmcmd spget
+VOTE_TMP/rac/asmparameterfile/registry.253.854289061


Remove old spfile:


[grid@rac2 ~]$ asmcmd rm +vote/rac/asmparameterfile/REGISTRY.253.853798947

No comments:

Post a Comment