うんちくメモ

ただのメモです。内容は妄想の可能性があります

RACインスタンス停止時のサービス停止

・11gR2 RACでは特定インスタンスのみ停止時にサービスがフェイルオーバーせず、同時に停止される動作にデフォルトが変更になったらしい。
サービスはフェイルオーバーさせたい場合は -f オプションを利用する。


Oracle® Real Application Clusters管理およびデプロイメント・ガイド 11g リリース2 (11.2)B56290-05
http://docs.oracle.com/cd/E16338_01/rac.112/b56290/srvctladmin.htm#i1009520

-fオプションを指定しない場合は、インスタンスを停止し、指定したインスタンスで実行されているすべてのサービスを停止します。
-fを指定すると、インスタンス停止時に、サービスは使用可能インスタンスにフェイルオーバーします。

※追記
・12cでは-failoverオプションに変わっている様で、-f オブションではサービスごと停止されてしまう。(12.1.0.2から?マニュアルでは変更が見つからずコマンドのヘルプで確認した

またsrvctlユーティリティー自体のコマンドパラメータ指定自体も単一文字ではなくキーワードとしてのコマンド・パラメータの指定が必要となった(下位互換はあるようだが前述の通りオプションの意味が変わるものもあるので要注意)ようで注意が必要。


Oracle® Real Application Clusters管理およびデプロイメント・ガイド
12cリリース1 (12.1)
B71323-05
https://docs.oracle.com/cd/E57425_01/121/RACAD/srvctladmin.htm#CHDJFFEF

・12.1.0.2でのコマンド例

srvctl stop instance -db {DB_NAME} -instance {INSTANCE_NAME} -failover