[转载]----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的权限。

posted @ 2013-03-21 22:01  I’m Me!  阅读(2608)  评论(0编辑  收藏  举报