データベース・ステータス

通常、ブローカは、実際のデータベースの状態と設定がブローカ構成ファイル内の記述と一致することを検証し、データベースの健全性をチェックします。

そのためには、Oracle Data Guard構成のコンポーネントで正常に機能していないものがないかどうか(REDO転送サービスにエラーがないかどうかなど)、その他の必須のデータベースの設定が正しく行われているかどうか(サーバー・パラメータ・ファイルが使用可能かどうか、ARCHIVELOGモードがオンになっているかどうかなど)をチェックします。ここでは、ブローカによりプライマリ・データベース上とスタンバイ・データベース上でチェックされる項目を詳しく説明します。

プライマリ・データベースの健全性チェックでは、次の条件が満たされているかどうかを判別します。

  • データベースが、ユーザーが指定してブローカ構成ファイルに記録された状態であるかどうか。

  • データベースが正しいデータ保護モードであるかどうか。

  • データベースでサーバー・パラメータ・ファイルが使用されているかどうか。

  • データベースがARCHIVELOGモードであるかどうか。

  • データベース・ガードがオフになっているかどうか。

  • 補助ロギングがオンになっているかどうか(構成にロジカル・スタンバイ・データベースが含まれている場合)。

  • REDO転送サービスにエラーがあるかどうか。

  • データベース設定が、ブローカの構成可能なプロパティで指定された設定と一致しているかどうか。

  • REDO転送設定が、スタンバイ・データベースのREDO転送関連プロパティで指定された設定と一致しているかどうか。

  • 現行のデータ保護レベルが構成済のデータ保護モードと一致しているかどうか。

  • プライマリ・データベースで、すべてのスタンバイ・データベースのすべてのギャップを解決できるかどうか。

スタンバイ・データベースの健全性チェックでは、次の条件が満たされているかどうかを判別します。

  • データベースが、ユーザーが指定してブローカ構成ファイルに記録された状態であるかどうか。

  • データベースでサーバー・パラメータ・ファイルが使用されているかどうか。

  • データベース設定が、ブローカの構成可能なプロパティで指定された設定と一致しているかどうか。

  • データベース・ガードがオンになっているかどうか(データベースがロジカル・スタンバイ・データベースの場合)。

  • ファスト・スタート・フェイルオーバーが有効化されている場合は、プライマリ・データベースおよびターゲット・スタンバイ・データベースが同期化されているかどうか、またはラグ制限内であるかどうか。

データベース・ステータスの問合せ

データベース・ステータスの問合せには、特定の監視可能なプロパティを使用できます。

次のプロパティには、DGMGRLコマンドライン・インタフェースを介して直接アクセスします。

  • LogXptStatus

  • InconsistentLogXptProps

    ノート:

    Cloud Controlでは、GUIで表示するためにこれらのプロパティの値が並べ替えられます。

SHOW DATABASE <db_unique_name>コマンドを使用して、データベースの簡単な説明(名前、ロールなど)、データベースの状態、および健全性チェックの問題に関する情報を入手できます。たとえば、次のSHOW DATABASEコマンドの出力は、一部のREDO転送サービス・エラーおよびREDO転送関連プロパティの不一致という2つの問題を示しています。

DGMGRL> SHOW DATABASE 'North_Sales';
 
Database - North_Sales
  Role: PRIMARY
  Intended State: TRANSPORT-OFF
  Instance(s):
    north_sales1
      Error: ORA-16737: the redo transport service for standby
        database "South_Sales" has an error
 
    north_sales2
      Error: ORA-16737: the redo transport service for standby
        database "South_Sales" has an error
      Warning: ORA-16715: redo transport-related property
        ReopenSecs of standby "South_Sales" is inconsistent
Database Status:
ERROR

データベースのステータスの詳細を確認するには、次の監視可能なプロパティを使用できます。

  • LogXptStatus — プライマリ・データベースの全インスタンス上で検出されたログ転送エラーがすべて表示されます。

  • InconsistentLogXptProps — ブローカ構成ファイルとREDO転送設定間で値が一致しない、スタンバイ・データベースのREDO転送関連プロパティがすべて表示されます。

次のSHOW DATABASEコマンドを発行して、問題の詳細を取得します。

DGMGRL> SHOW DATABASE 'North_Sales' 'LogXptStatus';
LOG TRANSPORT STATUS
PRIMARY_INSTANCE_NAME  STANDBY_DATABASE_NAME  STATUS 
         north_sales1            South_Sales  ORA-12541: TNS:no listener
         north_sales2            South_Sales  ORA-12541: TNS:no listener
 
DGMGRL> SHOW DATABASE 'North_Sales' 'InconsistentLogXptProps';
INCONSISTENT LOG TRANSPORT PROPERTIES
 INSTANCE_NAME  STANDBY_NAME  PROPERTY_NAME  MEMORY_VALUE  BROKER_VALUE 
  north_sales2   South_Sales     ReopenSecs           600           300

関連項目:

データベース・プロパティの詳細は、「Oracle Data Guard Brokerのプロパティ」を参照

ロール変更前のデータベース検証

VALIDATE DATABASEコマンドを使用して、ロール変更を実行する前に包括的なデータベース・チェックを実行できます。

このコマンドは、次の項目を確認します。

  • スタンバイ・データベースに、失われたREDOデータがあるかどうか

  • フラッシュバックが有効かどうか

  • 構成されている一時表領域ファイルの数

  • オンライン・データ・ファイルの移動が進行中かどうか

  • フィジカル・スタンバイ・データベースの場合、オンラインREDOログがクリアされているかどうか

  • プライマリ・データベースの場合、スタンバイREDOログがクリアされているかどうか

  • オンライン・ログ・ファイル構成

  • スタンバイ・ログ・ファイル構成

  • 適用関連のプロパティ設定

  • 転送関連のプロパティ設定

  • 自動診断リポジトリにエラーがあるかどうか(制御ファイルの破損、システム・データ・ファイルの問題、ユーザー・データ・ファイルの問題など)

さらに、プライマリ・データベースおよびスタンバイ・データベースのロール変更可能状況の評価は、次のようになります:

  • ブローカ構成でファスト・スタート・フェイルオーバー(FSFO)が有効化されている場合、プライマリ・データベースがスイッチオーバー可能な状態になるには、次の条件を満たす必要があります:
    • SYNC FSFOの場合、FSFO状態がSYNCである。
    • ASYNC FSFOの場合、FSFO状態がNOT LAGGINGであるか、ラグがFastStartFailoverLagLimit以下である。
    • FSFOがSUSPENDEDでない
    • PDB SAVE STATEが構成されていない。
  • ブローカ構成でファスト・スタート・フェイルオーバー(FSFO)が有効化されている場合、スタンバイ・データベースがスイッチオーバー可能な状態になるには、次の条件を満たす必要があります:
    • SYNC FSFOの場合、FSFO状態がSYNCである。
    • ASYNC FSFOの場合、FSFO状態がNOT LAGGINGであるか、ラグがFastStartFailoverLagLimit以下である。
    • FSFOがSUSPENDEDでない
  • ブローカ構成でファスト・スタート・フェイルオーバー(FSFO)が有効化されている場合、スタンバイ・データベースがフェイルオーバー可能な状態になるには、次の条件を満たす必要があります:
    • SYNC FSFOの場合、FSFO状態がSYNCである。
    • ASYNC FSFOの場合、FSFO状態がNOT LAGGINGであるか、ラグがFastStartFailoverLagLimit以下である。
    • FSFOがSUSPENDEDでない
    • FSFO状態がOBSERVEDである。

関連項目:

  • コマンドの説明や様々な使用例のコマンド出力の例示は、「VALIDATE DATABASE」を参照してください

ロールの変更前のサーバー・パラメータ・ファイルの検証

VALIDATE DATABASE SPFILEコマンドを使用して、プライマリ・データベースとスタンバイ・データベースのサーバー・パラメータ・ファイル(SPFILE)の内容を比較します。

プライマリとスタンバイを比較すると、いずれかのデータベースのSPFILEに欠落しているパラメータがあるかどうか、またはエントリに異なる値が含まれているかどうかを判別できます。

関連項目:

ロールの変更前のネットワーク構成の検証

VALIDATE NETWORK CONFIGURATIONコマンドを使用して、構成のメンバー間のネットワーク接続性チェックを実行します。

ネットワークの接続性チェックを実行すると、ロールの変更が試行される前に潜在的なネットワーク構成の問題が特定されます。

ロールの変更前の静的接続識別子の検証

DGMGRL CLIで、必要に応じてインスタンスを自動的に開始できるように(たとえば、スイッチオーバー後の新しいスタンバイの場合)、Oracle Restartが構成されていない単一インスタンス・データベースには、リスナーに登録された静的なサービスが必要です。

ブローカは、静的なサービスを使用するStaticConnectIdentifierプロパティにデフォルト値を設定します(db_unique_name_DGMGRLのデフォルト値が静的なサービス名に使用されている場合)。この接続識別子は、インスタンスの再起動に使用されます。

VALIDATE STATIC CONNECT IDENTIFIERコマンドを使用して、StaticConnectIdentifierプロパティで指定された接続識別子がインスタンスを再起動するために使用できることを確認します。このコマンドは、データベースを再起動するのではなく、接続識別子で指定されているサービスがリスナーに登録されていることをチェックします。

関連項目:

DGConnectIdentifierプロパティの検証

DGMGRLコマンドVALIDATE DGConnectIdentfierを使用すると、接続文字列がDGConnectidentifierプロパティに対して有効かどうかを確認できます。

VALIDATE DGConnectIdentifierコマンドは、便利なものに変換できるかどうかを確認し、すべての構成メンバーでそれを使用して接続します。これは、構成にメンバーを追加する前に使用することもできます。構成が存在しない場合は、DGMGRLが接続されているデータベースの接続文字列がチェックされます。構成が存在する場合、すべてのメンバーは指定された接続文字列を使用して、接続が機能することを確認します。

このコマンドは、すべてのメンバーのインスタンスごとに次を実行します。
  • インスタンスで接続文字列のネットワーク変換を出力します。
  • インスタンスでネットワーク構成に関連する環境変数を出力します
  • インスタンスで変換されたネットワーク・アドレスを使用して新しい接続を作成します。
  • 接続テストが成功すると、接続データベースのインスタンス名およびdb_unique_nameが出力されます。
  • 接続識別子で指定したサービス名がこのコマンドで接続したデータベースのdb_unique_nameサービスであることを確認します。

関連項目: