Symptoms
After creating an initial parameter file init+ASM.ora manually and starting an ASM instance, certain ASM commands fails with ORA-29786 in sqlplus:
sqlplus / as sysasm
SQL> create spfile='$ORACLE_HOME/spfile+ASM.ora' from pfile='$ORACLE_HOME/dbs/init+ASM.ora';
create spfile='$ORACLE_HOME/spfile+ASM.ora' from pfile='$ORACLE_HOME/dbs/init+ASM.ora'
*
ERROR at line 1:
ORA-29786: SIHA attribute GET failed with error [Attribute 'SPFILE' sts[200]
lsts[0]]
SQL> create diskgroup dg1 normal redundancy disk'/opt/oracle/oradata/nobilldb/DG1_dev0' disk'/opt/oracle/oradata/nobilldb/DG1_dev1';
Diskgroup created.
SQL> drop diskgroup dg1;
drop diskgroup dg1
*
ERROR at line 1:
ORA-15039: diskgroup not dropped
ORA-29786: SIHA attribute GET failed with error [Attribute 'SPFILE' sts[200]
lsts[0]]
Better option to create ASM instance is to run asmca in GUI/Silent mode.
Changes
Starting with 11gR2, ASM instance is a resoure in CRS repository also in single instance installations. Hence, it must be registered to OCR before doing certain operations like create/drop diskgroup, create pfile/spfile, etc.
Cause
ASM instance is created and started manually but it is not registered to cluster repository.
Solution
If ASM instance is created manually, add ASM instance to CRS repository with srvctl add asm:
srvctl add asm -p $ORACLE_HOME/dbs/init+ASM.ora
srvctl add asm -h -- will give the options
小白注: 在grid用户下,出错时执行命令:crs_stat -t 显示如下:
grid@linux177:/opt/oracrs/product/11gR2/grid/bin> crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora.cssd ora.cssd.type ONLINE ONLINE linux177
ora.diskmon ora....on.type OFFLINE OFFLINE
ora.evmd ora.evm.type ONLINE ONLINE linux177
ora.ons ora.ons.type OFFLINE OFFLINE
少一条:
ora.asm ora.asm.type ONLINE ONLINE linux177
执行命令报错:
grid@linux177:/opt/oracrs/product/11gR2/grid/bin> crsctl start res ora.asm
CRS-2613: Could not find resource 'ora.asm'.
CRS-4000: Command Start failed, or completed with errors.
但在目录$ORACLE_HOME/dbs/下,有spfile+ASM.ora
grid@linux177:/opt/oracrs/product/11gR2/grid/dbs> ll
total 20
-rw-rw---- 1 grid oinstall 1334
2013-10-25 11:30 ab_+ASM.dat
-rw-rw---- 1 grid oinstall 1544
2013-10-25 11:30 hc_+ASM.dat
-rw-r--r-- 1 grid oinstall 2851 2009-05-15 13:35 init.ora
-rw-r----- 1 grid oinstall 1536 2013-07-10 00:25 orapw+ASM
-rw-r----- 1 grid oinstall 1536
2013-10-25 11:30 spfile+ASM.ora
执行命令:
grid@linux177:/opt/oracrs/product/11gR2/grid/dbs> srvctl add asm -p $ORACLE_HOME/dbs/init+ASM.ora
grid@linux140:/opt/oracrs/product/11gR2/grid/dbs> ll
total 20
-rw-rw---- 1 grid oinstall 3291
2013-11-12 17:10 ab_+ASM.dat
-rw-rw---- 1 grid oinstall 1544
2013-11-12 17:10 hc_+ASM.dat
-rw-r--r-- 1 grid oinstall 2851 2009-05-15 13:35 init.ora
-rw-r----- 1 grid oinstall 1536 2013-07-10 00:25 orapw+ASM
-rw-r----- 1 grid oinstall 1536
2013-11-12 17:10 spfile+ASM.ora