リソースを再起動させない設定とは?
AUTO_START 属性を never に設定することで、サーバーの再起動後にリソースの自動再起動を止めることが可能となる。
srvctl modify database -database <DB名> -policy norestart
設定手順
デフォルトの状態確認
AUTO_START のデフォルト値は restore
restore はサーバーが停止した時と同じ状態にリソースをリストアしてくれる設定
実行例
[grid@hellomyworld ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.HA1.dg
ONLINE ONLINE hellomyworld STABLE
ora.LISTENER.lsnr
ONLINE ONLINE hellomyworld STABLE
ora.NODE1DG.dg
ONLINE ONLINE hellomyworld STABLE
ora.asm
ONLINE ONLINE hellomyworld Started,STABLE
ora.ons
OFFLINE OFFLINE hellomyworld STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.cssd
1 ONLINE ONLINE hellomyworld STABLE
ora.diskmon
1 OFFLINE OFFLINE STABLE
ora.evmd
1 ONLINE ONLINE hellomyworld STABLE
ora.orcl.db
1 ONLINE★ ONLINE hellomyworld Open,HOME=/u01/app/o
racle/product/19.3.0
/dbhome_1,STABLE
--------------------------------------------------------------------------------
[grid@hellomyworld ~]$ crsctl stat res ora.orcl.db -p | grep AUTO_START
AUTO_START=restore
属性の変更と HAS の再起動
AUTO_START の値を変更し、HAS を再起動させて反映させる
実行例
[oracle@hellomyworld ~]$ srvctl modify database -database orcl -policy norestart
[grid@hellomyworld ~]$ crsctl stat res ora.orcl.db -p | grep AUTO_START
AUTO_START=never
[grid@hellomyworld ~]$ crsctl stop has
[grid@hellomyworld ~]$ crsctl start has
確認
DB リソースの Target が OFFLINE となり、自動で DB リソースが起動されていないことを確認
実行例
[grid@hellomyworld ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.HA1.dg
OFFLINE OFFLINE hellomyworld STABLE
ora.LISTENER.lsnr
ONLINE ONLINE hellomyworld STABLE
ora.NODE1DG.dg
ONLINE OFFLINE hellomyworld STABLE
ora.asm
ONLINE OFFLINE hellomyworld Instance Shutdown,STABLE
ora.ons
OFFLINE OFFLINE hellomyworld STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.cssd
1 ONLINE OFFLINE hellomyworld STARTING
ora.diskmon
1 OFFLINE OFFLINE STABLE
ora.evmd
1 ONLINE INTERMEDIATE hellomyworld STABLE
ora.orcl.db
1 OFFLINE★ OFFLINE Instance Shutdown,STABLE
--------------------------------------------------------------------------------
-
Oracle Clusterwareのリソース・リファレンス
docs.oracle.com
always
: サーバーが停止したときのリソースの状態に関係なく、サーバーの再起動時にリソースを再起動します。
restore
: サーバーが停止したときと同じ状態にリソースをリストアします。サーバーが停止する前にTARGET
の値がONLINE
だった場合、Oracle Clusterwareはリソースの再起動を試行します。https://docs.oracle.com/cd/F19136_01/cwadd/oracle-clusterware-resource-reference.html#GUID-889D6367-B991-4C02-9782-7A79BAC9F608
never
: サーバーが停止したときのリソースの状態に関係なく、Oracle Clusterwareはリソースを再起動しません。