[转载]----ORA-15097:cannot SHUTDOWN ASM instance with connected client和ORA-01031:insufficient privileges处理方法
停RAC的ASM实例的时候报错:
ORA-15097: cannot SHUTDOWN ASM instance with connected client srvctl stop asm -n enode1 -f PRCR-1014 : Failed to stop resource ora.asm PRCR-1065 : Failed to stop resource ora.asm CRS-2673: Attempting to stop 'ora.asm' on 'enode1' ORA-15097: cannot SHUTDOWN ASM instance with connected client CRS-2675: Stop of 'ora.asm' on 'enode1' failed CRS-2675: Stop of 'ora.asm' on 'enode1' failed
RAC环境是Oracle 11gR2。在Metalink上搜了一下,明白咋回事了。还是习惯的问题。
在Oracle 10g环境下,我们停RAC的顺序是:
(1)、数据库;
(2)、ASM;
(3)、CRS。
但是在Oracle 11gR2下,如果是用OUI来安装的话,除了数据文件之外,OCR也是放在ASM里的。11gR2是支持RAW设备的,但是需要手动的安装。
所以这里就遇到了问题。OCR也是放在ASM里的,这样CRSD就会成为ASM客户端。如果我们像Oracle 10g里那样直接停ASM的时候,就会报上面的错误。所以,在11gR2下面,要停ASM实例的话,只能和CRS一起停。
在root用户下执行:crsctl stop crs
注意:不要直接kill 掉ASM进程,或者用shutdown abort来关闭ASM实例。这样CRS也会被挂掉。
在关闭ASM实例的时候,还遇到一个问题:
sqlplus / as sysdba SQL> shutdown immediate; ORA-01031: insufficient privileges SQL>
提示权限不够,如果遇到这种错误,可以用sqlplus / as sysasm方式连接。这样就有了sysasm的权限。