PRIMECLUSTER Wizard for Oracle では、Oracle インスタンス、リスナーの起動・停止(Online 処理・Offline 処理)の途中、またはその前後で、ユーザー独自の処理を実行させることができます。例えば、Oracle インスタンス、リスナーの起動・停止に連動して、アプリケーションの起動・停止や、バッチ処理を実行することができます。
スクリプトの種類
スクリプト | 説明 | ||
起動系 | PreOnlineScript | リソースの Online 処理の前に実行されます。 | |
OnlineScript | リソースとして登録された対象 (Oracle インスタンス、リスナー) の起動 (Online 処理) を行います。 | ||
prestartup* | スタンバイ運用の Oracle インスタンスリソースのみ設定可能です。 | ||
nomount* | スタンバイ運用の Oracle インスタンスリソースのみ設定可能です。 | ||
mount* | スタンバイ運用の Oracle インスタンスリソースのみ設定可能です。 | ||
PostOnlineScript | リソースの Online 処理の後に実行されます。 | ||
停止系 | PreOfflineScript | リソースの Offline 処理の前に実行されます。 | |
OfflineScript | リソースとして登録された対象 (Oracle インスタンス、リスナー) の停止 (Offline 処理) を行います。 | ||
PostOfflineScript | リソースの Offline 処理の後に実行されます。 | ||
その他 | FaultScript | リソース異常発生時に実行されます。 |
参照
次のスクリプトの設定方法は、「2.2.7.1 Oracle リソースの作成と userApplication への登録」の手順“7”または手順“10”を参照してください。
PreOnlineScript
PostOnlineScript
PreOfflineScript
PostOfflineScript
FaultScript
次のスクリプトの処理内容は、「3.1 クラスタ環境における Oracle の制御」を参照してください。
OnlineScript (Online 処理)
OfflineScript (Offline 処理)
スクリプトの実行順序
スクリプト | userApplication 起動時 | リソースの AutoRecover 時 | userApplication 停止 (通常時) | userApplication 停止 (リソース異常時) | ||
起動系 | PreOnlineScript | 1 | ― | ― | ― | |
OnlineScript | 2 | 1 | ― | ― | ||
prestartup* | 3 | 2 | ― | ― | ||
nomount* | 4 | 3 | ― | ― | ||
mount* | 5 | 4 | ― | ― | ||
PostOnlineScript | 6 | 5 | ― | ― | ||
停止系 | PreOfflineScript | ― | ― | 1 | 2 | |
OfflineScript | ― | ― | 2 | 3 | ||
PostOfflineScript | ― | ― | 3 | 4 | ||
その他 | FaultScript | ― | ― | ― | 1 |
例
Oracle インスタンスとリスナーが StartPriority=Listener でリソース登録されたスタンバイ運用の場合、以下の順序で実行されます。
userApplication 起動時
全てのリソースの PreOnlineScript が最初に実行されることに注意してください。
リスナーリソースの PreOnlineScript
Oracle インスタンスリソースの PreOnlineScript
リスナーリソースの OnlineScript
リスナーリソースの PostOnlineScript
Oracle インスタンスリソースの OnlineScript (prestartup*・nomount*・mount* 含む)
Oracle インスタンスリソースの PostOnlineScript
リスナーリソースの AutoRecover 時
PreOnlineScript は実行されないことに注意してください。
リスナーリソースの OnlineScript
リスナーリソースの PostOnlineScript
userApplication 停止時
全てのリソースの PreOfflineScript が最初に実行されることに注意してください。
Oracle インスタンスリソースの PreOfflineScript
リスナーリソースの PreOfflineScript
Oracle インスタンスリソースの OfflineScript
Oracle インスタンスリソースの PostOfflineScript
リスナーリソースの OfflineScript
リスナーリソースの PostOfflineScript
リスナーリソース異常に伴う userApplication 停止時
FaultScript は異常が発生したリソースだけでなく、その上位リソース (後に起動し、先に停止するリソース) でも実行されることに注意してください。
リスナーリソースの FaultScript
Oracle インスタンスリソースの FaultScript
Oracle インスタンスリソースの PreOfflineScript
リスナーリソースの PreOfflineScript
Oracle インスタンスリソースの OfflineScript
Oracle インスタンスリソースの PostOfflineScript
リスナーリソースの OfflineScript
リスナーリソースの PostOfflineScript
留意事項 (PreOnlineScript・PostOnlineScript・PreOfflineScript・PostOfflineScript・FaultScript)
root ユーザーで実行されます。
exit コード 0 で正常終了です。0 以外の場合は異常終了となり、Online 処理または Offline 処理が異常となります。
スクリプトの実行時間が ScriptTimeout を超えると異常終了となり、Online 処理または Offline 処理が異常となります。
各スクリプトには、RMS で定義された環境変数が設定されています。
スクリプトは、フルパスで設定してください。引数を指定する場合は、"半角空白"で区切ります。
参照
各スクリプトの詳細は 「PRIMECLUSTER RMS 導入運用手引書」の「2.6.3 スクリプト」などを参照してください。
留意事項 (prestartup*・nomount*・mount*)
格納場所は /opt/FJSVclora/usr 配下とし、複数存在する場合は名前順に実行されます。
正常終了時は 0、異常終了時は 0 以外で復帰してください。
異常終了した場合、Oracle インスタンス起動処理自体もその時点で異常終了します。
root ユーザーで実行されます。
次のパラメータが渡されます。
$1 : $ORACLE_HOME
$2 : $ORACLE_SID
$3 : Oracleユーザー名
起動タイムアウト時間内に終了しなかった場合、異常終了と見なされます。
起動タイムアウト時間については、「2.2.7.1 Oracle リソースの作成と userApplication への登録」の手順“7”または手順“10”の「ScriptTimeout」を参照してください。
注意
これらのスクリプトは、スタンバイ運用の Oracle インスタンスリソースのみ使用可能です。