首页 > 代码库 > Oracle单实例+ASM启动与关闭

Oracle单实例+ASM启动与关闭

转自:chenoracle  :  http://blog.itpub.net/29785807/viewspace-1744718/

 

 

启动关闭注意事项

1 ASM实例的启动和数据库实例的启动有严格的先后关系,ASM启动一定早于数据库实例,关闭一定晚于ASM实例,因为它是数据库数据文件存储位置;

2 需要优先启动CSS,HAS服务。

 

启动:

一 启动时应该先启动ASM,在启动数据库

如果顺序反了会报错

例如:

关闭ASM

[grid@ogg1 ~]$ sqlplus

Enter user-name: /as sysasm

 

SQL> shutdown immediate

ASM diskgroups dismounted

ASM instance shutdown

 

启动数据库报错

[oracle@ogg1 ~]$ sqlplus / as sysdba

 

SQL> startup

ORA-01078: failure in processing system parameters

ORA-01565: error in identifying file ‘+SYSTEDG/prod1/spfileprod1.ora‘

ORA-17503: ksfdopn:2 Failed to open file +SYSTEDG/prod1/spfileprod1.ora

ORA-15077: could not locate ASM instance serving a required diskgroup

 

 

正确的顺序是

 

一 启动ASM之前应该确保css,has服务已经启动

1

检查CSS服务是否启动:

[grid@ogg1 ~]$ crsctl check css

[grid@ogg1 ~]$ ps -ef|grep cssd

2

检查HAS服务是否启动:

[grid@ogg1 ~]$ crsctl check has

[grid@ogg1 ~]$ ps -ef|grep d.bin

发现HAS服务启动了,而ora.cssd和ora.diskmon这2个服务是依赖于HAS维护的.       

3

进一步查看各资源的状态    

[grid@ogg1 ~]$ crs_stat -t

[grid@ogg1 ~]$ crsctl status resource -t

4

检查ora.cssd和ora.diskmon的默认属性

[grid@ogg1 ~]$ crs_stat -p ora.cssd

。。。。。

AUTO_START=never

。。。。。

[grid@ogg1 ~]$ crs_stat -p ora.diskmon

。。。。。。

AUTO_START=never 

。。。。。。

可以看到这两个资源的AUTO_START属性默认都设置为never,

也就是说他们不会随着HAS服务的启动而自动启动的,尽管默认情况下HAS服务是开机自动启动的.

5

手动启动

[grid@ogg1 ~]$ crsctl start resource ora.cssd 

注:ora.cssd和ora.diskmon这两个服务是有依赖关系的,启动哪个都会把两个都起来.

其他操作

1)默认情况下HAS(High Availability Service)是自动启动的.

通过如下命令可以取消和启用自动启动       

取消自启动:crsctl disable has       

启用自启动:crsctl enable has      

2)HAS手动启动和停止

crsctl start has       

crsctl stop has     

3)查看HAS的状态       

crsctl check has     

4)如果想让ora.css和ora.diskmon服务随着HAS的启动而自动启动,可以这两个服务的AUTO_START属性

crsctl modify resource "ora.cssd" -attr "AUTO_START=1"

        or        

crsctl modify resource "ora.diskmon" -attr "AUTO_START=1"     

5)如果想取消ora.css和ora.diskmon的Auto start        

crsctl modify resource "ora.cssd" -attr "AUTO_START=never"       

crsctl modify resource "ora.diskmon" -attr "AUTO_START=never"

 

二 启动ASM实例

[grid@ogg1 ~]$ sqlplus / as sysasm

SQL> startup

SQL> col instance_name for a15

SQL> col status for a15

SQL>  select instance_name,status from v$instance;

INSTANCE_NAME   STATUS

--------------- ---------------

+ASM         STARTED

 

三 启动数据库

[oracle@ogg1 ~]$ sqlplus / as sysdba

SQL> startup

SQL> col instance_name for a15

SQL> col status for a15

SQL> select instance_name,status from v$instance;

INSTANCE_NAME   STATUS

--------------- ---------------

prod1        OPEN

 

关闭ASM

一 关闭应该先关闭数据库,在关闭ASM

如果顺序反了会报错

例如:

关闭ASM

[root@ogg1 ~]# su - grid

[grid@ogg1 ~]$ sqlplus / as sysasm

SQL> shutdown immediate

ORA-15097: cannot SHUTDOWN ASM instance with connected client (process 7322)

 

正确的顺序是:

一 关闭数据库

[oracle@ogg1 ~]$ sqlplus / as sysdba

SQL> shutdown immediate

 

二 关闭ASM

[root@ogg1 ~]# su - grid

[grid@ogg1 ~]$ sqlplus / as sysasm

 

SQL> shutdown immediate

ASM diskgroups dismounted

ASM instance shutdown

Oracle单实例+ASM启动与关闭