在11.2的ASM实例上,执行show parameter spfile:
[grid@rac1 ~]$ sqlplus / as sysasm
SQL*Plus: Release 11.2.0.1.0 Production on Sun MAY 11 15:56:12 2014
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Automatic Storage Management option
SQL> show parameter spfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string+DATA/asm/asmparameterfile/registry.253.704991445
可以看到spfile在ASM磁盘组里了。但是,和之前的版本不同,在$ORACLE_HOME/dbs目录下却没有pfile来定位spfile。
[grid@rac1 ~]$ ls $ORACLE_HOME/dbs
ab_+ASM.dat
hc_+ASM.dat
init.ora
orapw+ASM
peshm_+ASM_1
那么ASM实例如何得知它的spfile具体位置的呢?
答案是通过一个“本地注册表”。
Oracle的Grid Infastructure使用这样一个“本地注册表”来记录本地的所有可控资源。
“本地注册表”位置在/etc/oracle/olr.loc文件中,查看olrconfig_loc变量:
[grid@rac1 ~]$ cat /etc/oracle/olr.loc
olrconfig_loc=/u01/app/grid/product/11.2.0/grid/cdata/localhost/rac1.olr
crs_home=/u01/app/grid/product/11.2.0/grid
查看“本地注册表”的内容:
[grid@rac1 ~]$ ocrdump -local -xml
[grid@rac1 ~]$ grep -i spfile OCRDUMPFILE
Oracle 11g RAC ASM磁盘全部丢失后的恢复