ページの先頭行へ戻る
PRIMECLUSTER Wizard for Oracle 4.5 導入運用手引書
FUJITSU Software

F.3.1 クラスタ環境における Oracle データベースの制御

Oracle Data Guard/Oracle Active Data Guardを使用したスタンバイ運用におけるOracleリソースの起動、停止、監視処理について説明します。

Oracle インスタンスの起動

Oracle インスタンスの起動処理は以下のようになります。

  1. su - <Oracleユーザー>

  2. sqlplus /nolog

  3. CONNECT / AS SYSDBA

  4. STARTUP NOMOUNT または STARTUP MOUNT

  5. ALTER DATABASE MOUNT; ("4"で STARTUP NOMOUNT を実行したとき)

  6. データベース・ロールに応じた処理をします。

  7. Oracleインスタンスリソースの設定で“PDBを使用”をyesに設定した場合、PDBを起動します。

    • プライマリ・データベースの場合

      ALTER DATABASE OPEN;
      ALTER PLUGGABLE DATABASE ALL OPEN; ※“PDBを使用”をyesに設定した場合

    • フィジカル・スタンバイ・データベースの場合

      Oracle インスタンスリソースの設定項目REDOApplyの設定値に応じた処理をします。

      • ReceiveOnlyの場合

        何も実施しません。

      • NormalApplyの場合

        ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING ARCHIVED LOGFILE DISCONNECT;

      • RealTimeApplyの場合

        ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT;

      • ReadOnlyOPENの場合

        ALTER DATABASE OPEN;
        ALTER PLUGGABLE DATABASE ALL OPEN; ※“PDBを使用”をyesに設定した場合

      • RealTimeQueryNの場合

        ALTER DATABASE OPEN;
        ALTER PLUGGABLE DATABASE ALL OPEN; ※“PDBを使用”をyesに設定した場合
        ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING ARCHIVED LOGFILE DISCONNECT;

      • RealTimeQueryRの場合

        ALTER DATABASE OPEN;
        ALTER PLUGGABLE DATABASE ALL OPEN; ※“PDBを使用”をyesに設定した場合
        ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT;

    • ロジカル・スタンバイ・データベースの場合

      Oracle インスタンスリソースの設定項目REDOApplyの設定値に応じた処理をします。

      • ReceiveOnly、ReadOnlyOPEN、RealTimeQueryN、RealTimeQueryRの場合

        ALTER DATABASE OPEN;
        ALTER PLUGGABLE DATABASE ALL OPEN; ※“PDBを使用”をyesに設定した場合

      • NormalApplyの場合

        ALTER DATABASE OPEN;
        ALTER PLUGGABLE DATABASE ALL OPEN; ※“PDBを使用”をyesに設定した場合
        ALTER DATABASE START LOGICAL STANDBY APPLY;

      • RealTimeApplyの場合

        ALTER DATABASE OPEN;
        ALTER PLUGGABLE DATABASE ALL OPEN; ※“PDBを使用”をyesに設定した場合
        ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE;

    • スナップショット・スタンバイ・データベースの場合

      ALTER DATABASE OPEN;
      ALTER PLUGGABLE DATABASE ALL OPEN; ※“PDBを使用”をyesに設定した場合


Oracle インスタンスの停止

Oracle インスタンスの停止処理は以下のようになります。

  1. su - <Oracleユーザー>

  2. sqlplus /nolog

  3. CONNECT / AS SYSDBA

  4. フィジカル・スタンバイ・データベース、またはロジカル・スタンバイ・データベースの場合、ログ適用サービスを停止します。

    • フィジカル・スタンバイ・データベースの場合

      ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

    • ロジカル・スタンバイ・データベースの場合

      ALTER DATABASE ABORT LOGICAL STANDBY APPLY;

  5. SHUTDOWN <IMMEDIATE/ABORT/TRANSACTIONAL> (StopModeStop で設定)

    デフォルト : IMMEDIATE

  6. "5"で Oracle インスタンスが停止しない場合、SHUTDOWN ABORT ("5"で、ABORT 以外の場合)

  7. "5"または"6"で Oracle インスタンスが停止しない場合、バックグラウンド・プロセスに SIGKILL を送信して強制停止


  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. Oracleバックグラウンド・プロセス(PMON・SMON)の存在を30秒間隔(固定)で確認。
    Oracleインスタンスが起動し、プロセス(PMON・SMON)の存在を確認した場合は"2"へ進む。

  2. su - <Oracleユーザー>

  3. OracleデータベースのSYSTEMユーザー、またはSYSDBA権限でOracleインスタンスへローカル接続。

  4. プライマリ・データベース、ロジカル・スタンバイ・データベース、またはスナップショット・スタンバイ・データベースの場合、Oracleインスタンスのステータスが“OPEN”であるかを確認します。
    フィジカル・スタンバイ・データベースの場合、Oracleインスタンスのステータスが“MOUNTED”または“OPEN”であるかを確認します。

  5. Oracleバックグラウンド・プロセス(PMON・SMON・DBWn・LGWR・CKPT)の生存を監視。
    監視間隔はデフォルト30秒で、設定項目「監視間隔(Interval)」で変更可能です。

  6. プライマリ・データベースの場合、「監視間隔(Interval)」に設定された監視間隔でSQL監視を実行。SQL監視は、SYSTEM ユーザーのデフォルト表領域上の監視用テーブルに対し、SQL(INSERT・UPDATE・DELETE・COMMIT) が正常に実施できるかを確認します。ただし、前回のSQL監視からの経過時間をチェックし、60秒以上経過している場合にのみSQL監視を実行します。

  7. PDBを監視。
    Oracleインスタンスリソースの設定で“PDBを使用”をyesに設定し、かつCDBをOPEN状態で起動した場合、「監視間隔(Interval)」に設定された監視間隔でPDBの監視を実行します。V$PDBS表で各PDBのOPEN_MODEを確認します。

  8. 24時間に1度、Oracleインスタンスへ再接続。


待機ノードでは、"1"を実行し、Oracleバックグラウンド・プロセス(PMON・SMON)が存在しないことを確認します。

PDBの監視

V$PDBS表で各PDBのOPEN_MODEを確認します。

プライマリ・データベース、ロジカル・スタンバイ・データベース、スナップショット・スタンバイ・データベースの場合

OPEN_MODEが“READ WRITE”の場合は、PDBが正常と判断します。
OPEN_MODEが“READ WRITE”以外の場合は、PDBが異常と判断します。

フィジカル・スタンバイ・データベースの場合

Oracle インスタンスリソースの設定項目REDOApplyの設定値に応じた処理をします。

ReceiveOnly、NormalApply、RealTimeApplyの場合

PDBを監視しません。

ReadOnlyOPEN、RealTimeQueryN、RealTimeQueryRの場合

OPEN_MODEが“READ ONLY”の場合は、PDBが正常と判断します。
OPEN_MODEが“READ ONLY”以外の場合は、PDBが異常と判断します。

「監視間隔(Interval)」に設定された監視間隔でPDBの監視を実行し、前回の監視時から状態が変わった場合はsyslogへメッセージを出力します。PDBの異常による再起動やフェイルオーバは行いません。

PDBが正常な状態になった場合は以下のメッセージを出力します。

FSP_PCLW-ORACLE_FJSVclora: INFO: 9142: OPEN_MODE of PDB <PDB名> was OPEN. (CDB=<CDBのORACLE_SID> PDB=<PDB名> OPEN_MODE=<PDBのステータス>)

PDBの異常を検出した場合は以下のメッセージを出力します。

FSP_PCLW-ORACLE_FJSVclora: ERROR: 9242: clorapdbmon detected OPEN_MODE of PDB <PDB名> is invalid. (CDB=<CDBのORACLE_SID> PDB=<PDB名> OPEN_MODE=<PDBのステータス>)

リスナーの起動、停止、監視

リスナーの起動・停止・監視は、Oracle Data Guardを使用しない環境と同じです。
3.1 クラスタ環境における Oracle データベースの制御」を参照してください。

ASMインスタンスの起動、停止、監視

ASMインスタンスの起動・停止・監視は、Oracle Data Guardを使用しない環境と同じです。
3.1 クラスタ環境における Oracle データベースの制御」を参照してください。