Oracle インスタンスの起動・停止に失敗した場合のトラブル事例です。
[ケース1] (スタンバイ、Oracle RAC スケーラブル、シングルノードクラスタ)
PRIMECLUSTER RMS のリソース設定が誤っている場合に発生します。
clorainfo -c コマンドを実行してリソース設定情報を確認できます。次に示す設定情報が実際の環境と一致していることを確認してください。(参考 “4.6 clorainfo - 設定情報や監視状態の表示”)
Oracle ユーザー名
OracleSID
PreOnlineScript などに設定したスクリプト
パスが正しいこと
実行権限があること
単体で正しく動作すること
一致していなかった場合、正しい設定に変更してください。(参考 “第2章 環境設定”)
[ケース2] (スタンバイ、シングルノードクラスタ)
/opt/FJSVclora/usr 配下に配置したユーザースクリプトが誤っている場合に発生します。
(スタンバイ運用の場合のみ)
これらのユーザースクリプトが正しく動作することを確認してください。
[ケース3] (スタンバイ、Oracle RAC スケーラブル、シングルノードクラスタ)
Oracle データベースの設定が誤っている場合に発生します。
Oracle データベースのアラート・ファイル等を確認し、起動・停止に失敗した原因が記録されていないか確認してください。
また、Oracle データベース単体で起動・停止が正しく行えることを確認してください。
Oracle インスタンスリソースの監視を中断させると、手動による単体操作が可能になります。
(参考 “3.2.4.1 Oracle データベースを停止させる必要がある場合”)
[ケース4] (Oracle RAC スケーラブル)
Oracle Clusterware が起動していない状態で Oracle インスタンスリソースを含む userApplication を起動すると、リソースは ScriptTimeoutに設定した時間(2.3.5 Oracle RAC インスタンス、リスナーリソースを含む userApplication の作成 - 手順10 を参照してください)を過ぎるまで Wait状態となり、それを過ぎるとリソース異常となります。
以下は、各構成パターン別の対処方法です。
Oracle Clusterware と Oracle RAC インスタンスを異なる userApplication に登録する構成(2.3.3の構成パターンA)の場合
まずは、Oracle Clusterware が起動しているかどうかを確認してください。
以下のコマンド実行により、Oracle Clusterware が起動しているかどうかを確認することができます。
# su - <Gridユーザー> $ crsctl status resource
以下のメッセージが出力された場合は、Oracle Clusterware が停止している可能性があります。
CRS-0184: CRSデーモンと通信できません。
Oracle Clusterware が起動していない場合は、Oracle Clusterware が Oracle RAC インスタンスより先に起動する設定がされていない可能性があります。
Oracle RAC インスタンスリソースの PreOnlineScript スクリプトにOracle Clusterware リソースを起動するスクリプトが設定されているかどうかを確認してください(2.3.5 Oracle RAC インスタンス、リスナーリソースを含む userApplication の作成 -手順10 - 注意 を参照してください)。
Oracle Clusterware と Oracle RAC インスタンスを同一の userApplication に登録する構成(2.3.3の構成パターンB)の場合
Oracle RAC インスタンスリソースの起動に失敗している可能性があります。
Oracle RAC インスタンスリソースの設定に誤りがないかどうかを確認してください(2.3.5 Oracle RAC インスタンス、リスナーリソースを含む userApplication の作成)。
また、PRIMECLUSTER RMS のリソースや Oracle データベースの設定に誤りがないかどうかを確認してください([ケース1]、[ケース3]を参照してください)。
Oracle Clusterwareをリソース登録しない構成(2.3.3の構成パターンC)の場合
Oracle Clusterwareが起動しているかどうかを確認してください。
Oracle Clusterware が起動しているかどうかを、以下のコマンドを実行して確認してください。
# su - <Gridユーザー> $ crsctl status resource
以下のメッセージが出力された場合は、Oracle Clusterware が停止している可能性があります。
CRS-0184: CRSデーモンと通信できません。
リソースの Fault 状態を解除し(hvutil -c)、以下のコマンドで Oracle Clusterware を起動してください。
# <Gridユーザーの$ORACLE_HOME>/crsctl start crs
Oracle Clusterware を起動した後、userApplication を再度起動してください。
[ケース5] (Oracle RAC スケーラブル)
Oracle Clusterware が停止している状態で、userApplication またはリソースの設定変更を行った場合に発生します。
userApplication またはリソースの設定変更を行う場合は、全ノード上で Oracle Clusterware を事前に起動してください。(参考 “2.3.7 RMS 構成定義の生成と配布”を参照してください。)