スタンバイ運用では、PRIMECLUSTER Wizard for Oracle による Oracle の制御は以下のように行われます。
Oracle インスタンスの起動
Oracle インスタンスの起動処理は以下のようになります。
su - <Oracle ユーザー>
sqlplus /nolog
connect / as sysdba
startup nomount または startup mount
alter database mount; (“4”で startup nomount を行ったとき)
alter database open;
初期化パラメータ・ファイル/サーバー・パラメータ・ファイルの配置
PRIMECLUSTER Wizard for Oracle による Oracle の起動では、デフォルトの配置先の初期化パラメータ・ファイルが使用されますので、以下のデフォルトのパスに初期化パラメータ・ファイルを配置 (またはシンボリックリンク) してください。
<$ORACLE_HOME>/dbs/init<$ORACLE_SID>.ora
サーバー・パラメータ・ファイルは動的に変更される資源のため、共用ディスク装置に配置する必要があります。サーバー・パラメータ・ファイルを使用する場合は、「2.2.6 データベースの作成/設定」の例に従って、サーバー・パラメータ・ファイルのパスを初期化パラメータ・ファイルに記述してください。
初期化パラメータ・ファイルを使用する場合は、運用・待機ノードで同一の設定とすることを推奨します。
リカバリ処理
PRIMECLUSTER Wizard for Oracle は、Oracle インスタンスのリカバリを行い Oracle を起動する場合があります。
V$BACKUP 表内に ACTIVE な表領域がある場合
V$RECOVER_FILE 表内に、リカバリが必要なファイルがある場合
DBA の認証
PRIMECLUSTER Wizard for Oracle は、Oracle インスタンス、データベースの起動/停止を行う際に SYSDBA システム権限で接続しますが、このときオペレーティング・システム認証によるローカル接続を行います。
Oracle インスタンスの停止
Oracle インスタンスの停止処理は以下のようになります。
オペレーターによる userApplication の手動停止や手動切替えに伴う停止の場合
su - <Oracle ユーザー>
sqlplus /nolog
connect / as sysdba
shutdown <immediate/abort/transactional> (StopModeStop で設定)
デフォルト : immediate
“4”で Oracle が停止しない場合、shutdown abort (“4”で、abort 以外の場合)
“4”または“5”で Oracle が停止しない場合、バックグラウンド・プロセスに SIGKILL を送信して強制停止
リソース異常 (Oracle 以外のリソース異常も含む) に伴う停止の場合
su - <Oracle ユーザー>
sqlplus /nolog
connect / as sysdba
shutdown <immediate/abort> (StopModeFail で設定)
デフォルト : abort
“4”で Oracle が停止しない場合、shutdown abort (“4”で、abort 以外の場合)
“4”または“5”で Oracle が停止しない場合、バックグラウンド・プロセスに SIGKILL を送信して強制停止
Oracle インスタンスの監視
Oracle インスタンスの監視処理は以下のようになります。
バックグラウンド・プロセス (PMON・SMON) の存在状況を定間隔で確認
プロセスの存在を確認した場合は“2”へ進む
su - <Oracle ユーザー>
Oracle の SYSTEM ユーザーにて Oracle へローカル接続
Oracle のステータスが OPEN であるか確認
バックグラウンド・プロセス (PMON・SMON・DBWn・LGWR・CKPT) の生存監視を実施
SYSTEM ユーザーのデフォルト表領域上の監視用テーブルを使って、INSERT・UPDATE・DELETE・COMMIT が正常に実施できるか確認
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)」で変更可能です。
リスナーの起動
リスナーの起動処理は以下のようになります。
su - <Oracle ユーザー>
lsnrctl start <ListenerName>
リスナープロセスが存在することを確認
リスナーの停止
リスナーの停止処理は以下のようになります。
su - <Oracle ユーザー>
lsnrctl stop <ListenerName>
リスナープロセスが存在しないことを確認
“3”でリスナープロセスが存在する場合、SIGKILL を送信して強制停止
リスナーの監視
リスナーの監視処理は以下のようになります。
リスナープロセスが存在することを確認
tnsping コマンドを実行し、ネット・サービス名に到達できるかを確認 (設定項目「OracleTNS名(TNSName)」が設定されている場合)
待機ノードなどリスナーが停止している状態では、定間隔で“1”を実施します。
リスナーが起動して運用ノードとなると、“1”と“2”を定間隔で実施します。
この定間隔時間はデフォルト30秒で、設定項目「監視間隔 (Interval)」で変更可能です。(ただし、“2”は最低60秒以上の間隔で実施します。)
ASM インスタンスの起動
ASM インスタンスの起動処理は以下のようになります。
su - <Oracle ユーザー>
sqlplus /nolog
connect / as sysasm
startup mount (既に STARTED 状態の場合は alter diskgroup all mount;)
ASM インスタンスの停止
ASM インスタンスの停止処理は以下のようになります。
オペレーターによる userApplication の手動停止や手動切替えに伴う停止の場合
su - <Oracle ユーザー>
sqlplus /nolog
connect / as sysasm
shutdown <immediate/abort/transactional> (StopModeStop で設定)
デフォルト : immediate
“4”で ASM が停止しない場合、shutdown abort (“4”で、abort 以外の場合)
“4”または“5”で ASM が停止しない場合、バックグラウンド・プロセスに SIGKILL を送信して強制停止
リソース異常 (ASM 以外のリソース異常も含む) に伴う停止の場合
su - <Oracle ユーザー>
sqlplus /nolog
connect / as sysasm
shutdown <immediate/abort> (StopModeFail で設定)
デフォルト : abort
“4”で ASM が停止しない場合、shutdown abort (“4”で、abort 以外の場合)
“4”または“5”で ASM が停止しない場合、バックグラウンド・プロセスに SIGKILL を送信して強制停止
ASM インスタンスの監視
ASM インスタンスの監視は行いません。NullDetector フラグが自動的に有効になります。