共计 2034 个字符,预计需要花费 6 分钟才能阅读完成。
我们知道在某些停机测试场景,是需要人为禁用 crs/has 的自启动的,防止过程中主机反复重启对数据库集群造成影响。
使用 crsctl disable/enable crs 命令可以禁用 / 启用 crs 的自启动,但没有命令去查看当前自启动状态,虽然命令可以反复执行,但看不到实际状态总归还是让人不放心。
我在 Linux 测试环境下试了几个 Oracle RAC 版本:
Oracle RAC 10.2.0.5
Oracle RAC 11.2.0.4
Oracle RAC 12.1.0.2
发现对于 Oracle RAC 10.2.0.5 来说:
使用 root 用户 crsctl disable/enable crs 时,改变的是这个文件的值:
–10.2.0.5
[root@rac1-server ~]# /s01/oracle/product/10.2.0/crs_1/bin/crsctl disable crs
[root@rac1-server ~]# more /etc/oracle/scls_scr/rac1-server/root/crsstart
disable
[root@rac1-server ~]# /s01/oracle/product/10.2.0/crs_1/bin/crsctl enable crs
[root@rac1-server ~]# more /etc/oracle/scls_scr/rac1-server/root/crsstart
enable
对于 Oracle RAC 11.2.0.4 和 Oracle RAC 12.1.0.2 来说:
使用 root 用户 crsctl disable/enable crs 时,改变的是这个文件的值:
–11.2.0.4
[root@db01 ~]# /opt/app/11.2.0/grid/bin/crsctl disable crs
CRS-4621: Oracle High Availability Services autostart is disabled.
[root@db01 ~]# more /etc/oracle/scls_scr/db01/root/ohasdstr
disable
[root@db01 ~]# /opt/app/11.2.0/grid/bin/crsctl enable crs
CRS-4622: Oracle High Availability Services autostart is enabled.
[root@db01 ~]# more /etc/oracle/scls_scr/db01/root/ohasdstr
enable
–12.1.0.2
[root@oemapp1 ~]# /app/12.1.0.2/grid/bin/crsctl disable crs
CRS-4621: Oracle High Availability Services autostart is disabled.
[root@oemapp1 ~]# more /etc/oracle/scls_scr/oemapp1/root/ohasdstr
disable
[root@oemapp1 ~]# /app/12.1.0.2/grid/bin/crsctl enable crs
CRS-4622: Oracle High Availability Services autostart is enabled.
[root@oemapp1 ~]# more /etc/oracle/scls_scr/oemapp1/root/ohasdstr
enable
基本上可以认定是 10.2.0.5 版本,都是去对应 crsstart 这个文件的值。11.2.0.4 和 12.1.0.2 版本都是去对应 ohasdstr 这个文件值。
对于主流的小机环境:
对于 AIX 系统,跟 Linux 的配置文件路径没有区别;
而对于 SUN Solaris 和 HP-UX,需要注意配置文件的路径有所区别(/etc/oracle/.. -> /var/opt/oracle/..):
–10.2.0.5
/var/opt/oracle/scls_scr/$hostname/root/crsstart
–11.2.0.4
/var/opt/oracle/scls_scr/$hostname/root/ohasdstr
相关案例:
最近某客户 AIX 的一套 10g RAC,现场运维 DBA 反映说是之前主机重启,crs 不会自启动,每次都需要人工启动 crs。但协助排查发现其配置文件 crsstart 的值已经是 enable,且查到该配置文件的修改日期在 7 年前。说明配置是自启动的,而且 7 年没有人动过这个配置,比较诡异,最终是让其尝试 disable 再 enable 的方式,同时观察到配置文件的修改日期也会正常变,且在后续一次主机重启的维护中发现 crs 已经可以正常自启动。目前还无法解释为何之前无法自启动,先记录下这个现象。
更多 Oracle 相关信息见 Oracle 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=12
: