第 4 章 コマンド
4.4 cloracpy - Oracle 設定ツール(待機ノード用)
ください。
- $ORACLE_BASE/admin/<ASMインスタンス名> 配下
ASM 初期化パラメータの確認
ASM インスタンスの初期化パラメータ "ASM_DISKGROUPS" に、Oracle データベースを作成したディスクグループ名が設定されて いることを確認してください。
参照
ASM インスタンスの初期化パラメータについては、Oracle のマニュアルを参照してください。
userApplication の作成
userApplication 作成時は、Oracle インスタンスリソースと同様に ASM インスタンスリソースを作成してください。1つの userApplication に ASM インスタンスリソースと Oracle インスタンスリソースを登録してください。
参考
・ ASM インスタンスをリソース登録する場合の手順については、「2.2.7.1 Oracle リソースの作成と userApplication への登録」の手 順“5”を参照してください。
・ ASM インスタンスリソースのフラグ設定値には、NullDetector 属性のみが自動設定されます。この値を変更することはできません。
2.4.2.2 運用時の注意
ASM インスタンスで使用するディスクグループは、手動でマウント操作 (mount/umount) をしないでください。ディスクグループがマウン トされている場合は、ASM リソース活性化時に以下のメッセージがコンソールに出力される場合がありますが、特に対処する必要はあ りません。
・ ORA-15032: not all alterations performed
・ ORA-15017: diskgroup "ディスクグループ名" cannot be mounted
・ ORA-15030: diskgroup name "ディスクグループ名" is in use by another diskgroup
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 フラグが自動的に有効になります。
Oracle RAC インスタンスの停止
Oracle RAC インスタンスの停止処理は、以下のように行われます。
1. su - <Oracle ユーザー>
2. srvctl stop instance -d $DB_NAME -i $ORACLE_SID
Oracle RAC インスタンスの監視
スタンバイ運用の場合と同じになります。ただし、監視間隔 (Interval) のデフォルトが60秒である点が異なります。詳しくは、「3.1.1 ス タンバイ運用の場合」の「Oracle インスタンスの監視」を参照してください。
リスナーの起動
リスナーの起動処理は、以下のように行われます。
1. su - <Oracle ユーザー>
2. srvctl start listener -n $NODE_NAME -l $LSNR_NAME
リスナーの停止
リスナーの停止は Oracle Clusterware に委ねており、PRIMECLUSTER Wizard for Oracle では停止しません。
リスナーの監視
スタンバイ運用の場合と同じになります。ただし、監視間隔(Interval)のデフォルトが60秒である点と、tnsping 監視を行わない点が異 なります。詳しくは、「3.1.1 スタンバイ運用の場合」の「リスナーの監視」を参照してください。
Oracle Clusterware の起動
Oracle Clusterware の起動処理は、以下のように行われます。
1. /etc/init.d/init.crs start
2. crs_stat -t で Oracle Clusterware の起動が完了したことを確認。
Oracle Clusterware の停止
Oracle Clusterware の停止処理は、以下のように行われます。
1. /etc/init.d/init.crs stop
Oracle Clusterware の監視
Oracle Clusterware の監視は行いません。NullDetector フラグが自動的に有効になります。
ここでは、Oracle の設定変更、Oracle のパッチ適用、Oracle データベースのバックアップ・リカバリなど、メンテナンス時の操作につい て説明します。
クラスタシステムにおいては、Oracle の起動・停止と Oracle のデータが格納されている共用ディスク装置の活性/非活性制御が連動し て行われます。
・ userApplication 運用中、Oracle の監視を行っているので、Oracle を手動停止すると異常が発生したと見なされ、Oracle の再起動
や待機ノードへの切替えが発生します。
・ userApplication 停止中は、共用ディスク装置が非活性になり、共用ディスク装置へのアクセスができない状態になります。
そのため、Oracle コールドバックアップなどメンテナンス作業のために Oracle を手動で制御する必要がある場合は、事前に Oracle イ ンスタンス、リスナーの監視を一時的に中断する必要があります。
Oracle のメンテナンス時の基本的な手順を以下に示します。メンテナンスを行うノードにて実施してください。
1. userApplication の起動
設定変更を行う Oracle インスタンスリソースが含まれている userApplication が停止している場合は、起動してください。
2. 監視中断
hvoradisable コマンドで Oracle インスタンスリソース、リスナーリソースの監視を中断してください。これは、Oracle を手動停止し
てもリソース異常が発生しないようにするためです。
次の手順へ進む前に、監視中断が正常に行われたことを確認してください。
3. Oracle に依存するリソースの停止
Oracle に依存するリソースがある場合は、Oracle を停止するよりも前に手動停止する必要があります。
hvoradisable コマンドで監視中断している場合、RMS コマンド hvdisable でこれらのリソースを監視中断状態にした後に、手動停
止してください。
4. Oracle の停止
Oracle を手動停止してください。
5. Oracle のメンテナンス
Oracle の設定変更、Oracle のパッチ適用、Oracle データベースのバックアップ・リカバリなどの操作を行ってください。
6. Oracle の起動
メンテナンス完了後、Oracle インスタンスを OPEN 状態まで手動起動してください。リスナーも停止していた場合は手動起動して ください。
次の手順へ進む前に、Oracle インスタンス、リスナーが正常に動作していることを確認してください。Oracle インスタンスは OPEN 状態で起動している必要があります。
7. Oracle に依存するリソースの起動