首页 > 代码库 > Oracle单实例+ASM启动与关闭
Oracle单实例+ASM启动与关闭
转自:chenoracle : http://blog.itpub.net/29785807/viewspace-1744718/
启动关闭注意事项
1 ASM实例的启动和数据库实例的启动有严格的先后关系,ASM启动一定早于数据库实例,关闭一定晚于ASM实例,因为它是数据库数据文件存储位置;
2 需要优先启动CSS,HAS服务。
启动:
一 启动时应该先启动ASM,在启动数据库
如果顺序反了会报错
例如:
1 关闭ASM
[grid@ogg1 ~]$ sqlplus
Enter user-name: /as sysasm
SQL> shutdown immediate
ASM diskgroups dismounted
ASM instance shutdown
2 启动数据库报错
[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这两个服务是有依赖关系的,启动哪个都会把两个都起来.
6 其他操作
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
如果顺序反了会报错
例如:
1 关闭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启动与关闭