1. 程式人生 > 資料庫 >Oracle查詢當前的crs/has自啟動狀態例項教程

Oracle查詢當前的crs/has自啟動狀態例項教程

前言

我們知道在某些停機測試場景,是需要人為禁用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已經可以正常自啟動。目前還無法解釋為何之前無法自啟動,先記錄下這個現象。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對我們的支援。