第 3 章 運用
3.1 クラスタ環境における Oracle の制御
3.1.1 スタンバイ運用の場合
4. shutdown <immediate/abort/transactional> (StopModeStop で設定) デフォルト : immediate
5. “4”で Oracle が停止していない場合、shutdown abort (4.で、abort 以外の場合)
6. “4”または“5”で Oracle が停止していない場合、バックグラウンド・プロセスに SIGKILL を送信して強制停止
・ リソース異常 (Oracle 以外のリソース異常も含む) に伴う停止の場合 1. su - <Oracle ユーザー>
2. sqlplus /nolog 3. connect / as sysdba
4. shutdown <immediate/abort> (StopModeFail で設定) デフォルト : abort
5. “4”で Oracle が停止していない場合、shutdown abort (4.で、abort 以外の場合)
6. “4”または“5”で Oracle が停止していない場合、バックグラウンド・プロセスに SIGKILL を送信して強制停止
Oracle インスタンスの監視
Oracle インスタンスの監視処理は以下のようになります。
1. バックグラウンド・プロセス (PMON・SMON) の存在状況を定間隔で確認 プロセスの存在を確認した場合は“2”へ進む
2. su - <Oracle ユーザー>
3. Oracle の SYSTEM ユーザーにて Oracle へローカル接続
4. Oracle のステータスが OPEN であるか確認
5. バックグラウンド・プロセス (PMON・SMON・DBWn・LGWR・CKPT) の生存監視を実施
6. SYSTEM ユーザーのデフォルト表領域上の監視用テーブルを使って、INSERT・UPDATE・DELETE・COMMIT が正常に実施
できるか確認
7. 24時間に1度、Oracle へ再接続
待機ノードなど Oracle が停止している状態では、30秒間隔 (固定) で1を実施します。
Oracle が起動して運用ノードとなると、2以降を実施します。起動が完了して稼動状態に入ると、“5”、“6”のみを定間隔で実施します。
この間隔はデフォルト30秒で、設定項目 Interval で変更可能です。(ただし、“6”は最低60秒以上の間隔で実施します。)
・ SYSTEM ユーザーのパスワード
PRIMECLUSTER Wizard for Oracle による Oracle の監視は SYSTEM ユーザーにて行います。「4.3 clorapass - 監視用パスワー ドの登録」に従って、SYSTEM ユーザーのパスワードを PRIMECLUSTER Wizard for Oracle に登録してください。
登録されたパスワードが誤っている場合、ORA-01017を検出し、Oracle インスタンスリソースは Warning 状態となります。
・ 監視用テーブル (FAILSAFEORACLE_<ORACLE_SID>)
PRIMECLUSTER Wizard for Oracle は、監視のために監視用テーブルを SYSTEM ユーザーのデフォルト表領域上に作成します
(初回起動時や、監視時の監視用テーブルが存在しない場合自動作成されます)。監視用テーブルは削除されません。
・ Warning 状態
以下の異常を検出した場合 Warning を通知します (Fault ではないためフェイルオーバはしません)。
- clorapass コマンドで登録された SYSTEM ユーザーのパスワードが誤っており Oracle へ接続できない場合 (ORA-01017を検 出)
- SYSTEM ユーザーのアカウントがロックされており、Oracle へ接続できない場合 (ORA-28000を検出)
- max session エラー、max process エラーなどで Oracle へ接続できない場合
- 監視の SQL 文(INSERT・UPDATE など) が一定時間応答しないが、Oracle に接続ができ、ステータスは OPEN である場合
- SYSTEM ユーザーのパスワードが期限切れとなり、監視機能が Oracle に接続できない場合 (ORA-28001を検出)
・ 監視タイムアウト
監視の SQL 文(INSERT・UPDATE など) を発行し、Oracle からの応答が一定時間返らない場合、監視タイムアウトと判定し、Oracle
インスタンスリソースの状態を Warning にします。監視タイムアウトが2回連続して発生すると、リソース異常と判断してフェイルオー バ、または縮退させます。
Oracle からの応答待ち時間 (監視タイムアウト時間) は、設定項目 WatchTimeout で変更可能です。
リスナーの起動
リスナーの起動処理は以下のようになります。
1. su - <Oracle ユーザー>
2. lsnrctl start <ListenerName>
3. リスナープロセスが存在することを確認
リスナーの停止
リスナーの停止処理は以下のようになります。
1. su - <Oracle ユーザー>
2. lsnrctl stop <ListenerName>
3. リスナープロセスが存在しないことを確認
4. “3”でリスナープロセスが存在する場合、SIGKILL を送信して強制停止
リスナーの監視
リスナーの監視処理は以下のようになります。
1. リスナープロセスが存在することを確認
2. tnsping コマンドを実行し、ネット・サービス名に到達できるかを確認 (設定項目 TNSName が設定されている場合)
待機ノードなどリスナーが停止している状態では、定間隔で“1”を実施します。
リスナーが起動して運用ノードとなると、“1”と“2”を定間隔で実施します。
この定間隔時間はデフォルト30秒で、設定項目 Interval で変更可能です。(ただし、“2”は最低60秒以上の間隔で実施します。)
ASM インスタンスの起動
ASM インスタンスの起動処理は以下のようになります。
1. su - <Oracle ユーザー>
2. sqlplus /nolog
3. connect / as sysdba (Oracle 11g 以降は connect / as sysasm)
4. startup mount (既に STARTED 状態の場合は alter diskgroup all mount;)
ASM インスタンスの停止
ASM インスタンスの停止処理は以下のようになります。
・ オペレータによる userApplication の手動停止や手動切替えに伴う停止の場合 1. su - <Oracle ユーザー>
2. sqlplus /nolog
3. connect / as sysdba (Oracle 11g 以降は connect / as sysasm) 4. shutdown <immediate/abort/transactional> (StopModeStop で設定)
デフォルト : immediate
5. “4”で ASM が停止していない場合、shutdown abort (“4”で、abort 以外の場合)
6. “4”または“5”で ASM が停止していない場合、バックグラウンド・プロセスに SIGKILL を送信して強制停止
・ リソース異常 (ASM 以外のリソース異常も含む) に伴う停止の場合 1. su - <Oracle ユーザー>
2. sqlplus /nolog
3. connect / as sysdba (Oracle 11g 以降は connect / as sysasm) 4. shutdown <immediate/abort> (StopModeFail で設定)
デフォルト : abort
5. “4”で ASM が停止していない場合、shutdown abort (“4”で、abort 以外の場合)
6. “4”または“5”で ASM が停止していない場合、バックグラウンド・プロセスに SIGKILL を送信して強制停止
ASM インスタンスの監視
ASM インスタンスの監視は行いません。NullDetector フラグが自動的に有効になります。