1.问题描述:
你是否也经常会遇到这种问题:
数据库服务器开机后,RAC集群起来了,但是数据库实例没有自动启动
[grid@rac1 ~]$ crsctl status res -t
--------------------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA.dg
ONLINE ONLINE rac1
ONLINE ONLINE rac2
ora.LISTENER.lsnr
ONLINE ONLINE rac1
ONLINE ONLINE rac2
ora.VOTE.dg
ONLINE ONLINE rac1
ONLINE ONLINE rac2
ora.asm
ONLINE ONLINE rac1 Started
ONLINE ONLINE rac2 Started
ora.gsd
OFFLINE OFFLINE rac1
OFFLINE OFFLINE rac2
ora.net1.network
ONLINE ONLINE rac1
ONLINE ONLINE rac2
ora.ons
ONLINE ONLINE rac1
ONLINE ONLINE rac2
ora.registry.acfs
ONLINE ONLINE rac1
ONLINE ONLINE rac2
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE rac2
ora.cvu
1 ONLINE ONLINE rac1
ora.oc4j
1 ONLINE ONLINE rac1
ora.orcl.db
1 OFFLINE OFFLINE Instance Shutdown
2 OFFLINE OFFLINE Instance Shutdown
ora.rac1.vip
1 ONLINE ONLINE rac1
ora.rac2.vip
1 ONLINE ONLINE rac2
ora.scan1.vip
1 ONLINE ONLINE rac2
2.问题分析:
出现这种问题可能是因为DBA之前维护曾手动关闭过数据库,而默认策略又是保持之前的状态导致的。
/g01/app/11.2.0/grid/bin/crsctl stat res ora.orcl.db -p|grep AUTO_START AUTO_START=restore
也有可能是其它异常导致的,如果你的公司没有专业的维护人员,可能会不知道如何操作。
关于AUTO_START几个可修改参数说明
1.always
当集群节点起动的时候,自动把资源服务起动。
2.restore
就是恢复关闭集群节点之前的状态,如果你关闭集群节点之前数据库时offline,那么你再启动集群了点后,他还是offline
3.never
在集群节点启动后,也不起动。
一般来说,都是DBA需要维护
3.建议及如何进行修改
建议是保持不动,毕竟起停是有DBA维护的,有可能是因为某些原因需要这样执行。
如查想要修改,可以按如下方法执行
执行如下命令把AUTO_START修改为always进行修改,
[root@rac2 ~]# /g01/app/11.2.0/grid/bin/crsctl modify resource "ora.orcl.db" -attr "AUTO_START=always"
[root@rac2 ~]# /g01/app/11.2.0/grid/bin/crsctl stat res ora.orcl.db -p|grep AUTO_START
AUTO_START=always
这里有个注意事项,从12.1.0.2之后,如果使用crsctl 进行ora resource的修改、启动、关闭,都会遭遇CRS-4995The command 'Modify resource' is invalid in crsctl. Use srvctl for this command.的错误。
需要按如下SQL执行,增加-unsupported
crsctl modify resource "ora.racdb.db" -attr "AUTO_START=always" -unsupported
4.进行验证:
增加完成后,再次重启服务器或CRS,数据库服务可以自动启动。
[root@rac1 ~]# /g01/app/11.2.0/grid/bin/crsctl status res -t
--------------------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA.dg
ONLINE ONLINE rac1
ONLINE ONLINE rac2
ora.LISTENER.lsnr
ONLINE ONLINE rac1
ONLINE ONLINE rac2
ora.VOTE.dg
ONLINE ONLINE rac1
ONLINE ONLINE rac2
ora.asm
ONLINE ONLINE rac1 Started
ONLINE ONLINE rac2 Started
ora.gsd
OFFLINE OFFLINE rac1
OFFLINE OFFLINE rac2
ora.net1.network
ONLINE ONLINE rac1
ONLINE ONLINE rac2
ora.ons
ONLINE ONLINE rac1
ONLINE ONLINE rac2
ora.registry.acfs
ONLINE ONLINE rac1
ONLINE ONLINE rac2
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE rac2
ora.cvu
1 ONLINE ONLINE rac2
ora.oc4j
1 ONLINE ONLINE rac2
ora.orcl.db
1 ONLINE ONLINE rac1 Open
2 ONLINE ONLINE rac2 Open
ora.rac1.vip
1 ONLINE ONLINE rac1
ora.rac2.vip
1 ONLINE ONLINE rac2
ora.scan1.vip
1 ONLINE ONLINE rac2
也欢迎关注我的公众号【徐sir的IT之路】,一起学习!
————————————————————————————
公众号:徐sir的IT之路
CSDN :https://blog.csdn.net/xxddxhyz?type=blog
墨天轮:https://www.modb.pro/u/3605
PGFANS:https://www.pgfans.cn/user/home?userId=5568
————————————————————————————