RAC DB 开机自启动问题
ORACLE 12.2C
本来很简单一个事,默认情况下,DB都是随着CRS资源启动完之后自动启动的,却偏偏让我遇到了其中一个库,DB不能自启动:
ora.cow.db 1 ONLINE OFFLINE Instance Shutdown,ST ABLE 2 ONLINE OFFLINE Instance Shutdown,ST ABLE
第一列:Target ,ONLINE,没毛病。
第二列:State , OFFLINE,这不应该啊,因为集群资源都启来了。
于是在网上搜了一下,发现问题的根源了:
CRS RESOURCE 有许多参数, 对于数据库,其中一个参数,可以决定是否开机自动启动。
查看当前数据库开机自启动属性:
注意一个小细节,命令行帮助文档中是没有 -p 这个参数的,但实际上是可以用的,可以查出资源的全部属性,如果不加 -p 只能查出几个简单属性。所以我认为ORACLE现在已经开始挖坑了。
[root@oradb3 trace]# crsctl status resource ora.cow.db -p|grep -i auto_start
AUTO_START=restore
这是默认值,一般没问题。
这是12C以后的推荐的做法,可是在我现在这个情况下,这样做是解决不了问题的,因为是CRS资源的一个属性值出问题了。
[oracle@oradb3 ~]$ srvctl enable database -db cow
PRCC-1010 : cow was already enabled
PRCR-1002 : Resource ora.cow.db is already enabled
12C以后要想调整CRS资源属性,需要加上 -unsupported关键字,就是这么牛逼,感觉高大上的样子。其实,我觉得ORACLE的产品经理就是个大坏蛋,你不让我直接调用crsctl命令改参数,让我使用srvctl去改,可是实际上srvctl 根本改不了这些个参数。你说这不是把人往死路上逼吗? 我信你个鬼!
参数名称和参数值严格区分大小写
crsctl modify resource ora.cow.db -attr AUTO_START=always -unsupported
再次查询一下,看修改生效了没有:
[root@oradb3 trace]# crsctl status resource ora.cow.db -p|grep -i auto_start
AUTO_START=always
改完了,再也不用为这点屁事烦恼了。
reference:
RAC集群数据库不能自启动问题_热爱生活,努力工作-CSDN博客




