プライマリ・コンテンツに移動
Oracle® Data Guard Broker
11gリリース2 (11.2)
B56304-09
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

6 DGMGRLコマンドライン・インタフェースの使用例

この章では、Data Guardコマンドライン・インタフェース(DGMGRL)の使用を開始するための前提条件について説明します。また、DGMGRLを使用してブローカ構成を作成、管理および監視する方法について例をあげて説明します。

この章の内容は、次のとおりです。

6.1 初期使用の前提条件

DGMGRL使用の前提条件の1つは、1つのプライマリ・データベースと任意の数のスタンバイ・データベースが存在していることです。構成内のすべてのデータベースについて、DG_BROKER_START初期化パラメータをTRUEに設定する必要があります。ブローカではサーバー・パラメータ・ファイルを使用してください(2.1項および7.1.3項を参照してください)。

必要な場合は、プライマリ・データベースとスタンバイ・データベースの初期化パラメータ・ファイル(PFILE)をサーバー・パラメータ・ファイル(SPFILE)に変換します。次のSQL*Plusコマンドを使用します。

CREATE SPFILE FROM PFILE='pfilename';

サーバー・パラメータ・ファイルを使用してインスタンスが起動されていない場合は、そのインスタンスを停止し、サーバー・パラメータ・ファイルを使用して再起動する必要があります。

Oracleインスタンスの起動後に、SQLのALTER SYSTEM文を使用してDG_BROKER_START=TRUE初期化パラメータを設定します。パラメータ値は、サーバー・パラメータ・ファイルに保存されます。Oracleインスタンスの次回起動時にブローカが自動的に起動されるため、SQLのALTER SYSTEM文の再発行は不要です。


参照:

サーバー・パラメータ・ファイルの作成方法の詳細は、『Oracle Database管理者ガイド』を参照してください。

この章の使用例は、次の条件を前提としています。

  • プライマリ・データベースとスタンバイ・データベースへの接続にTCP/IPが使用されていること

  • プライマリ・データベースの制御ファイルとデータファイルのバックアップから、スタンバイ・データベースが作成されていること(詳細は『Oracle Data Guard概要および管理』を参照)

  • この章の使用例は、次のブローカ構成を前提としています。

    • 構成名はDRSolutionです。

    • プライマリ・データベースの一意名(DB_UNIQUE_NAME)はNorth_Salesです。

    • リモート・スタンバイ・データベースの一意名(DB_UNIQUE_NAME)はSouth_Salesです。

    • 保護モードは最大パフォーマンス・モードです。

    • プライマリ・データベースおよびスタンバイ・データベースの両方にスタンバイREDOログ・ファイルが構成されます。両方のデータベースの転送モードはASYNCです。

    • スタンバイ・データベースはフィジカル・スタンバイ・データベースです。

6.2 使用例1: 構成の作成

この項では、プライマリ・データベースNorth_Salesおよびスタンバイ・データベースSouth_Salesを含むDRSolutionという
ブローカ構成の作成例を示します。

次の手順では、構成を作成してフィジカル・スタンバイ・データベースを1つ追加する方法について説明します。

手順1   DGMGRLの起動

DGMGRLを起動するには、Oracle Data Guardがインストールされているシステム上で、コマンドライン・プロンプトからdgmgrlと入力します。

$ dgmgrl

DGMGRLプロンプトが表示されます。

DGMGRL>
手順2   プライマリ・データベースへの接続

任意のコマンド(HELPEXITまたはQUIT以外)を指定する前に、まずDGMGRL CONNECTコマンドを使用してプライマリ・データベースに接続する必要があります。

データベースへの接続に使用するアカウント(この例ではSYS)には、プライマリ・データベースとスタンバイ・データベースでのSYSDBA権限が必要です。


注意:

SYSDBACONNECTコマンドのデフォルト設定であるため、このコマンドでAS SYSDBAを指定する必要はありません。

次の例は、CONNECTコマンドの2つのバリエーションを示しています。例6-1に、ローカル・システム上のデフォルト・データベースに接続する方法を示し、例6-2に、リモート・システムにあるデータベースに接続するためのOracle Net Services接続識別子(
North_Sales.example.com)を示します。この2つの例ではどちらもパスワードの入力を要求されます。

例6-1 ローカル・システム上のプライマリ・データベースへの接続

DGMGRL> CONNECT sys;
Password: password
Connected.

例6-2 リモート・システム上のプライマリ・データベースへの接続

DGMGRL> CONNECT sys@North_Sales.example.com;
Password: password
Connected.
手順3   ブローカ構成の作成

ブローカ構成を作成するには、まずプライマリ・データベース(この例ではNorth_Sales)のプロファイルを含む構成を定義します。後のコマンドで、スタンバイ・データベースSouth_Salesのプロファイルを追加します。


注意:

プライマリ・データベース名とスタンバイ・データベース名では、それぞれのデータベースの一意名が一致する必要があります。これらの一意名は、次のコマンドを使用してDB_UNIQUE_NAME初期化パラメータからフェッチします。
SQL> SHOW PARAMETER DB_UNIQUE_NAME;

CREATE CONFIGURATIONコマンドを使用し、DRSolution構成を作成してプライマリ・データベースNorth_Salesを定義します。

DGMGRL> CREATE CONFIGURATION 'DRSolution' AS
>  PRIMARY DATABASE IS 'North_Sales'
>  CONNECT IDENTIFIER IS North_Sales.example.com;
  

DGMGRLは次の情報を戻します。

Configuration "DRSolution" created with primary database "North_Sales"

名前North_Salesは、このデータベースのDB_UNIQUE_NAME初期化パラメータの値です。

手順4   構成情報の表示

SHOW CONFIGURATIONコマンドを使用して、構成に関する簡単なサマリーを表示します。

DGMGRL> SHOW CONFIGURATION;

DGMGRLは次の情報を戻します。

Configuration - DRSolution
 
  Protection Mode: MaxPerformance
  Databases:
    North_Sales - Primary database
 
Fast-Start Failover: DISABLED
 
Configuration Status:
DISABLED
手順5   構成へのスタンバイ・データベースの追加

DRSolution構成にスタンバイ・データベースを追加するには、ADD DATABASEコマンドを使用してスタンバイ・データベース用のブローカ構成プロファイルを作成します。

次のコマンドは、スタンバイ・データベースとしてSouth_Salesを定義しています。これは、プライマリ・データベースNorth_Salesに関連付けられているスタンバイ・データベースです。

DGMGRL> ADD DATABASE 'South_Sales' AS
>  CONNECT IDENTIFIER IS South_Sales.example.com;

DGMGRLは次の情報を戻します。

Database "South_Sales" added

名前South_Salesは、データベースのDB_UNIQUE_NAME初期化パラメータの値です。

SHOW CONFIGURATIONコマンドを使用して、South_SalesデータベースがDRSolution構成に追加されたことを確認します。

DGMGRL> SHOW CONFIGURATION;

DGMGRLは次の情報を戻します。

Configuration - DRSolution
 
  Protection Mode: MaxPerformance
  Databases:
    North_Sales  - Primary database
    South_Sales  - Physical standby database
 
Fast-Start Failover: DISABLED
 
Configuration Status:
DISABLED
 
DGMGRL>

6.3 使用例2: データベース・プロパティの設定

DGMGRLを使用して構成を作成した後は、いつでもデータベース・プロパティを設定できます。たとえば、次の文は、South_Salesスタンバイ・データベースのデータベース・プロパティLogArchiveFormatおよびStandbyArchiveLocationを設定します。

DGMGRL> EDIT DATABASE 'South_Sales' SET PROPERTY 'LogArchiveFormat'='log_%t_%s_%r_%d.arc';
Property "LogArchiveFormat" updated.

DGMGRL> EDIT DATABASE 'South_Sales' SET PROPERTY 'StandbyArchiveLocation'='/archfs/arch/';
Property "StandbyArchiveLocation" updated.

データベースのすべてのプロパティとその値を表示するには、SHOW DATABASE VERBOSEコマンドを使用します。次の例は、South_Salesデータベースのプロパティを示しています。

DGMGRL> SHOW DATABASE VERBOSE 'South_Sales';
 
Database - South_Sales
 
  Role:            PHYSICAL STANDBY
  Intended State:  OFFLINE
  Transport Lag:   (unknown)
  Apply Lag:       (unknown)
  Real Time Query: OFF
  Instance(s):
    south_sales1
 
  Properties:
    DGConnectIdentifier             = 'South_Sales.example.com'
    ObserverConnectIdentifier       = ''
    LogXptMode                      = 'ASYNC'
    DelayMins                       = '0'
    Binding                         = 'optional'
    MaxFailure                      = '0'
    MaxConnections                  = '1'
    ReopenSecs                      = '300'
    NetTimeout                      = '30'
    RedoCompression                 = 'DISABLE'
    LogShipping                     = 'ON'
    PreferredApplyInstance          = ''
    ApplyInstanceTimeout            = '0'
    ApplyParallel                   = 'AUTO'
    StandbyFileManagement           = 'AUTO'
    ArchiveLagTarget                = '0'
    LogArchiveMaxProcesses          = '5'
    LogArchiveMinSucceedDest        = '1'
    DbFileNameConvert               = 'dbs/t, dbs/bt'
    LogFileNameConvert              = 'dbs/t, dbs/bt'
    FastStartFailoverTarget         = ''
    InconsistentProperties          = '(monitor)'
    InconsistentLogXptProps         = '(monitor)'
    SendQEntries                    = '(monitor)'
    LogXptStatus                    = '(monitor)'
    RecvQEntries                    = '(monitor)'
    SidName                         = 'south_sales1'
    StaticConnectIdentifier         = '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)
(HOST=south_sales1.example.com)(PORT=2840))
(CONNECT_DATA=(SERVICE_NAME=South_Sales_DGMGRL.example.com)
(INSTANCE_NAME=south_sales1)(SERVER=DEDICATED)))'
    StandbyArchiveLocation          = 'USE_DB_RECOVERY_FILE_DEST'
    AlternateLocation               = ''
    LogArchiveTrace                 = '255'
    LogArchiveFormat                = 'db2r_%d_%t_%s_%R.arc'
    LatestLog                       = '(monitor)'
    TopWaitEvents                   = '(monitor)'
 
Database Status:
DISABLED

データベースのブローカ管理が有効な場合は、データベース・プロパティ値を設定すると、対応するデータベースの基礎となるパラメータ値が変更され、変更されたパラメータの値がサーバー・パラメータ・ファイルに反映されます。したがって、データベースがOracle Enterprise ManagerおよびDGMGRL以外(SQL*Plusインタフェースなど)から停止および再起動された場合は、更新されたサーバー・パラメータ・ファイルの新規パラメータ値がデータベースの起動時に使用されます。ただし、SQL文を使用してREDO転送サービスの初期化パラメータを変更しないでください。それを行うと、データベースとブローカ間の一貫性が失われます。


注意:

通常、データベース・プロパティは、対応する初期化パラメータ、SQL文またはPL/SQLプロシージャ(通常は大文字)と視覚的に区別しやすいように、大/小文字混合表記(LogArchiveFormatなど)で表示されます。ただし、プロパティ管理コマンドでは大/小文字は区別されないため、大文字、小文字または混合表記でコマンドを発行できます。

プロパティは、データベースが有効な場合でも無効な場合でも変更できます。ただし、プロパティの変更時にデータベースが無効な場合、変更結果はデータベースが有効化されるまで有効になりません。

6.4 使用例3: 構成とデータベースの有効化

これまでDRSolution構成は無効化されており、Data Guard Brokerの制御下にはありませんでした。ブローカ構成に対するデータベースの構成および必要なデータベース・プロパティの設定を完了した後に、構成を有効化してData Guard Brokerで管理できるようにする必要があります。

次のいずれかを有効化できます。

  • すべてのデータベースを含む構成全体

  • スタンバイ・データベース

構成全体の有効化

次のコマンドを使用すると、すべてのデータベースを含む構成全体を有効化できます。

DGMGRL> ENABLE CONFIGURATION;
Enabled.

構成の表示

SHOWコマンドを使用して、構成とそのデータベースが正常に有効化されていることを確認します。

DGMGRL> SHOW CONFIGURATION;

DGMGRLは次の情報を戻します。

Configuration - DRSolution
 
  Protection Mode: MaxPerformance
  Databases:
    North_Sales  - Primary database
    South_Sales  - Physical standby database
 
Fast-Start Failover: DISABLED
 
Configuration Status:
SUCCESS

データベースの有効化

この手順は、前にDISABLE DATABASEコマンドを使用してスタンバイ・データベースを無効化している場合にのみ実行します。通常は、構成を有効化するとスタンバイ・データベースも有効化されます。

DGMGRL> ENABLE DATABASE 'South_Sales';
Enabled.

データベースの表示

DGMGRL> SHOW DATABASE 'South_Sales';

Database - South_Sales
 
  Role:            PHYSICAL STANDBY
  Intended State:  APPLY-ON
  Transport Lag:   0 seconds
  Apply Lag:       0 seconds
  Real Time Query: OFF
  Instance(s):
    south_sales1
 
Database Status:
SUCCESS

6.5 使用例4: 構成保護モードの設定

構成の保護モードはいつでも変更できます。ただし、最大保護モードまたは最大可用性モードに移行する場合は、構成内でアクティビティが発生していないときに変更することをお薦めします。


注意:

保護モードを最大パフォーマンス・モードから最大保護モードに変更すると、ブローカによりプライマリ・データベースが自動的に再起動されます。データベースの再起動を回避するには、まず保護モードを最大可用性モードに変更してから、次に保護モードを最大保護モードに変更します。

保護モードを次のように変更する場合、プライマリ・データベースの再起動は不要です。

  • 最大パフォーマンスから最大可用性

  • 最大可用性から最大保護


この使用例では、構成の保護モードをMAXAVAILABILITYモードに設定します。この保護モードに設定するには、少なくとも1つのスタンバイ・データベースをスタンバイREDOログ・ファイルを使用するように構成し、データベース・プロパティLogXptModeSYNCに設定する必要があります。

手順1   スタンバイREDOログ・ファイルの構成(必要な場合)

保護モードをMAXAVAILABILITYモードに設定するため、スタンバイ・データベースに十分なスタンバイREDOログ・ファイルが構成されていることを確認する必要があります。

手順2   データベース・プロパティLogXptModeの適切な設定

EDIT DATABASE(プロパティ)コマンドをスタンバイ・データベースで使用し、設定する保護モードに対応するREDO転送サービスを設定します。保護モードをMAXAVAILABILITYに設定する場合は、少なくとも1つのスタンバイ・データベースのREDO転送サービスをSYNCに設定する必要があります。次に例を示します。

DGMGRL> EDIT DATABASE 'South_Sales' SET PROPERTY 'LogXptMode'='SYNC';
Property "LogXptMode" updated

スタンバイREDOログ・ファイルを使用するように構成されたスタンバイ・データベースが構成内に含まれていないかぎり、このコマンドは正常終了しません。

手順3   構成全体の保護モードの変更

EDIT CONFIGURATIONコマンドを使用して、ブローカ構成の保護モードをMAXAVAILABILITYにアップグレードします。

DGMGRL> EDIT CONFIGURATION SET PROTECTION MODE AS MAXAVAILABILITY;
Succeeded.

このコマンドを入力したときに構成が無効な場合、実際の保護モードの変更は、ENABLE CONFIGURATIONコマンドで構成が有効化されるまで適用されません。保護モードの要件をサポートできるスタンバイ・データベースが構成内に存在しない場合、構成は有効化できません。

手順4   保護モードの変更の確認

SHOW CONFIGURATIONコマンドを使用して構成の現在の保護モードを表示します。

DGMGRL> SHOW CONFIGURATION;
 
Configuration - DRSolution
 
  Protection Mode: MaxAvailability
  Databases:
    North_Sales  - Primary database
    South_Sales  - Physical standby database
 
Fast-Start Failover: DISABLED
 
Configuration Status:
SUCCESS

6.6 使用例5: ファスト・スタート・フェイルオーバーの有効化とオブザーバの起動

ブローカ構成のデータベースに接続されているかぎり、オブザーバ・サイトを含め、任意のサイトからファスト・スタート・フェイルオーバーを有効化できます。ファスト・スタート・フェイルオーバーを有効化しても、フェイルオーバーは起動されません。かわりに、フェイルオーバーの条件が満たされた場合に、構成を監視しているオブザーバがファスト・スタート・フェイルオーバーを起動できるようになります。

ファスト・スタート・フェイルオーバーは、最大パフォーマンス保護モードまた最大可用性保護モードで動作している構成で有効化できます。この項では、ファスト・スタート・フェイルオーバーを有効化し、構成の保護モードが最大可用性モードに設定されるオブザーバを起動する手順を説明します。

手順1   スタンバイREDOログがプライマリ・データベースおよびターゲット・スタンバイ・データベースで構成されていることの確認

スタンバイREDOログは、プライマリ・データベースおよびスタンバイ・データベースで構成されている必要があります。スタンバイREDOログを構成する前に、ログ適用サービスを停止する必要があります。


参照:

スタンバイREDOログ・ファイルの構成方法は、『Oracle Data Guard概要および管理』を参照してください。

手順2   LogXptModeプロパティがSYNCに設定されていることの確認

データベース・プロパティLogXptModeは、プライマリ・データベースとターゲット・スタンバイ・データベースでSYNCに設定されている必要があります。

設定する保護モードに対応するREDO転送サービスを設定するには、プライマリ・データベースおよびターゲット・スタンバイ・データベースでEDIT DATABASE(プロパティ)コマンドを使用します。たとえば、保護モードをMAXAVAILABILITYに設定する場合、次の例に示すように、プライマリ・データベースおよびターゲット・スタンバイ・データベースで、LogXptModeプロパティをSYNCに設定する必要があります。

DGMGRL> EDIT DATABASE 'North_Sales' SET PROPERTY 'LogXptMode'='SYNC';
Property "LogXptMode" updated
DGMGRL> EDIT DATABASE 'South_Sales' SET PROPERTY 'LogXptMode'='SYNC';
Property "LogXptMode" updated

データベースがスタンバイREDOログ・ファイルで構成されていないかぎり、ブローカではこれらのコマンドが正常終了しません。

手順3   FastStartFailoverTarget構成プロパティの設定

2つ以上のスタンバイ・データベースがある場合、プライマリ・データベースのFastStartFailoverTarget構成プロパティを設定して目的のターゲット・スタンバイ・データベースを指定します。ファスト・スタート・フェイルオーバーが実際に有効化される際、ブローカにより、今度は反対にターゲット・スタンバイ・データベースのこのプロパティが将来のターゲット・スタンバイ・データベースとしてプライマリ・データベースを指すように設定されます。このプロパティは自動的に設定されるため、ターゲット・スタンバイ・データベースでこのプロパティを設定する必要はありません。次に例を示します。

DGMGRL> EDIT DATABASE 'North_Sales' SET PROPERTY FastStartFailoverTarget='South_Sales';
Property "FastStartFailoverTarget" updated
手順4 保護モードのMAXAVAILABILITYへのアップグレード(必要な場合)

保護モードのアップグレードが必要な場合、次のDGMGRL EDIT CONFIGURATIONコマンドを使用します。次に例を示します。

DGMGRL> EDIT CONFIGURATION SET PROTECTION MODE AS MAXAVAILABILITY;
手順5   プライマリ・データベースとターゲット・スタンバイ・データベースでのフラッシュバック・データベースの有効化(必要な場合)

プライマリ・データベースおよびスタンバイ・データベースでまだ有効化されていない場合、各データベース上で次の文を発行し、「データベースをフラッシュバック」を有効にします。

ALTER SYSTEM SET UNDO_RETENTION=3600 SCOPE=SPFILE;
ALTER SYSTEM SET UNDO_MANAGEMENT='AUTO' SCOPE=SPFILE;
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
SHOW PARAMETER UNDO;
ALTER SYSTEM SET DB_FLASHBACK_RETENTION_TARGET=4320 SCOPE=BOTH;
ALTER DATABASE ARCHIVELOG;
ALTER SYSTEM SET db_recovery_file_dest_size=<size>;
ALTER SYSTEM SET db_recovery_file_dest=<directory-specification>;
ALTER DATABASE FLASHBACK ON;
ALTER DATABASE OPEN;

長時間の停止後でも回復が可能となるように、UNDO_RETENTIONおよびDB_FLASHBACK_RETENTION_TARGET初期化パラメータが十分に大きな値に設定されていることを確認します。

手順6   オブザーバの起動

オブザーバを起動するには、オブザーバ・コンピュータにログインし、DGMGRLを実行します。SYSDBA権限を持つユーザーとして構成に接続し、START OBSERVERコマンドを発行します。このコマンドでは戻り値がない点に注意してください。つまり、コマンドを発行してもDGMGRLプロンプトを取得しません。

DGMGRL> CONNECT sys@North_Sales.example.com;
Password: password
Connected.
DGMGRL> START OBSERVER;
Observer started

対話形式でオブザーバを起動する場合、接続資格証明をDGMGRL接続コマンドに対するコマンドライン・パラメータとして指定しないことをお薦めします。この処理により、システムの他のユーザーがユーティリティ(UNIXのpsユーティリティなど)を使用して接続資格証明を表示することを回避できます。また、クリアテキストのパスワードがユーザーの端末に表示されるのを防ぐことができます。

スクリプトからオブザーバを起動する場合、データベース接続資格証明をスクリプト内に埋め込まなくてすむように、「connect/」をサポートする方法を使用することをお薦めします。クライアント側のOracleウォレットをセキュアな外部パスワード・ストアとして使用する場合(『Oracle Database Advanced Security管理者ガイド』を参照)、プライマリ・データベースおよびファスト・スタート・フェイルオーバーのターゲット・スタンバイ・データベースの資格証明を追加する必要があります。各データベースの資格証明を追加するとき、指定するデータベース接続文字列は、データベース・プロパティObserverConnectIdentiferまたはDGConnectIdentifierと一致している必要があります。

手順7   ファスト・スタート・フェイルオーバーの有効化

ブローカ構成のデータベースに接続されている間は、ファスト・スタート・フェイルオーバーを有効化できます。次に例を示します。

DGMGRL> ENABLE FAST_START FAILOVER;
Enabled.
手順8   ファスト・スタート・フェイルオーバー構成の検証

SHOW FAST_START FAILOVERコマンドを使用して、ファスト・スタート・フェイルオーバーの設定を表示します。

DGMGRL> SHOW FAST_START FAILOVER;
 
Fast-Start Failover: ENABLED
 Threshold:           30 seconds
 Target:              South_Sales
 Observer:            observer.example.com
 Lag Limit:           30 seconds (not in use)
 Shutdown Primary:    TRUE
 Auto-reinstate:      TRUE
 
Configurable Failover Conditions
 Health Conditions:
   Corrupted Controlfile          YES
   Corrupted Dictionary           YES
   Inaccessible Logfile            NO
   Stuck Archiver                  NO
   Datafile Offline               YES
 
 Oracle Error Conditions:
   (none)

次のコマンドは、ファスト・スタート・フェイルオーバーが有効化された後、相互に指定しあうようにFastStartFailoverTargetプロパティが設定されることを示しています。最初のコマンドは現在のプライマリ・データベースNorth_Salesに対して発行されており、FastStartFailoverTargetプロパティの値として現在のターゲット・スタンバイSouth_Salesを指定しています。2つめのコマンドはターゲット・スタンバイSouth_Salesに対して発行されており、プライマリとして引き継ぐ際、ターゲット・スタンバイの将来のターゲット・スタンバイとして現在のプライマリNorth_Salesを指定しています。

DGMGRL> SHOW DATABASE 'North_Sales' FastStartFailoverTarget;
 FastStartFailoverTarget='South_Sales';
 
DGMGRL> SHOW DATABASE 'South_Sales' FastStartFailoverTarget;
 FastStartFailoverTarget='North_Sales';

6.7 使用例6: 定期的な管理タスクの実施

1つ以上のデータベースの定期的なメンテナンスを実行するために、ブローカ構成に含まれるデータベースの状態やプロパティの変更が必要になる場合があります。また、構成に含まれるデータベースのブローカ管理を一時的に無効化する必要が生じる場合もあります。

6.7.1 プロパティと状態の変更

構成の監視中に、データベースやそのプロパティの状態を動的に変更する操作が必要になる場合があります。次の各項で、構成内のデータベースの状態またはプロパティを変更する方法について説明します。

6.7.1.1 データベース・プロパティの変更

データベース・プロパティの値は、データベースが有効か無効かに関係なくいつでも変更できます。

例6-3に、EDIT DATABASEコマンドを使用してNorth_Salesデータベースのデータベース・プロパティLogXptModeを値ASYNCに変更する方法を示します。

例6-3 データベース・プロパティの変更

DGMGRL> EDIT DATABASE 'North_Sales' SET PROPERTY 'LogXptMode'=ASYNC;

DGMGRLは次のメッセージを戻します。このメッセージは、LogXptModeプロパティがData Guard構成ファイル内で正常に更新されたことを示します。

Property "LogXptMode" updated 

構成が現在無効の場合は、ENABLE CONFIGURATIONコマンドでブローカ構成を有効化するまで、データベースで新規プロパティ値が使用されません。

6.7.1.2 スタンバイ・データベースの状態変更

フィジカル・スタンバイのREDO Applyを一時的に停止します。スタンバイ・データベースの状態をAPPLY-OFFに変更するには、例6-4のようにEDIT DATABASEコマンドを入力します。

例6-4 スタンバイ・データベースの状態変更

DGMGRL> EDIT DATABASE 'South_Sales' SET STATE='APPLY-OFF';
Succeeded.

フィジカル・スタンバイ・データベースをAPPLY-OFF状態にしても、REDOデータは引き続き受信されます。

6.7.1.3 プライマリ・データベースの状態変更

スタンバイ・データベースへのREDOデータの転送を停止します。これに対応してプライマリ・データベースの状態を変更するには、次のコマンドを使用します。

DGMGRL> EDIT DATABASE North_Sales SET STATE=TRANSPORT-OFF;
 
Succeeded.

プライマリ・データベースの状態をTRANSPORT-ONに戻すには、次のコマンドを使用します。

DGMGRL> EDIT DATABASE North_Sales SET STATE=TRANSPORT-ON;
 
Succeeded.

6.7.2 構成とデータベースの無効化

ブローカ構成またはそのデータベースのいずれかを無効化すると、それらのオブジェクトのブローカによる管理が無効化されるため、DGMGRLを使用して無効なオブジェクトを管理および監視できなくなります。ただし、ブローカによるブローカ構成の管理を無効にしても、基礎となるData Guard構成またはデータベースの実際の操作には影響しません。たとえば、Data Guard構成内のREDO転送サービスとログ適用サービスは、管理できなくなりますが、そのまま機能し続けます。

6.7.2.1 構成の無効化

プライマリ・データベースを含むブローカ構成全体の管理を無効化するには、例6-5のように、DISABLE CONFIGURATIONコマンドを使用する必要があります。

例6-5 構成とプライマリ・データベースの無効化

DGMGRL> DISABLE CONFIGURATION;

プライマリ・データベースのブローカ管理を無効化するには、DISABLE CONFIGURATIONコマンドを使用する必要があります。DISABLE DATABASEコマンドで無効化されるのは、スタンバイ・データベースの管理のみです。


注意:

スタンバイ・データベースへの接続中に構成の管理を無効化した場合は、構成を再び有効化するために、プライマリ・データベースに接続する必要があります。

ブローカによるオブジェクトの管理を無効にしても、そのプロファイルはブローカ構成ファイルから削除されません。該当するENABLE CONFIGURATIONまたはENABLE DATABASEコマンドを入力すると、DGMGRL(またはEnterprise Manager)によるオブジェクト管理機能を再び有効化できます。

6.7.2.2 スタンバイ・データベースの無効化

ブローカによるスタンバイ・データベースの管理と監視が一時的に不要になった場合は、DISABLE DATABASEコマンドを使用します。

構成の他の部分が有効な場合は、スタンバイ・データベースが有効化されないようにブローカ管理を明示的に無効化できます。例6-6に、スタンバイ・データベースSouth_Salesを無効化する方法を示します。

例6-6 スタンバイ・データベースの無効化

DGMGRL> DISABLE DATABASE 'South_Sales';
Disabled.

注意:

構成内のスタンバイ・データベースを無効にするとき、ファスト・スタート・フェイルオーバーが有効化されている場合、ターゲット・スタンバイ・データベースは無効化できません。


注意:

スタンバイ・データベースへの接続中にそのスタンバイ・データベースの管理を無効化した場合は、スタンバイ・データベースのブローカ管理を再び有効化するために、プライマリ・データベースまたは別の有効化されたスタンバイ・データベースに接続する必要があります。


注意:

ブローカ構成内のスタンバイ・データベースに関してブローカによる管理を無効化すると、プライマリ・データベースが消失した場合にも、そのスタンバイ・データベースはブローカでフェイルオーバー・ターゲットとして使用できなくなります。


最大保護モードまたは最大可用性モードのいずれかで動作している場合、ブローカでは、保護モードをサポートする最後の1つのスタンバイ・データベースを無効化できません。

6.7.3 構成またはスタンバイ・データベースの削除

REMOVE CONFIGURATIONまたはREMOVE DATABASEコマンドを使用すると、ブローカ構成ファイルから構成またはスタンバイ・データベースのプロファイルが削除され、Data Guard Brokerによる構成の管理機能またはスタンバイ・データベース管理機能がそれぞれ削除されます。

削除操作でPRESERVE DESTINATIONS句を使用した場合、実際のData Guard構成は削除されず、実際のData Guard構成とそのデータベースの操作には影響しません。


注意:

REMOVE CONFIGURATIONまたはREMOVE DATABASEコマンドを使用した後は、ブローカ構成ファイルから削除された構成またはデータベース・プロファイルをリカバリできません。必要な場合は6.2項の手順に従って、DGMGRL(またはEnterprise Manager)で管理できるブローカ構成を作成する必要があります。


注意:

構成内のスタンバイ・データベースを削除するとき、ファスト・スタート・フェイルオーバーが有効化されている場合、ターゲット・スタンバイ・データベースは削除できません。

手順1   構成からのスタンバイ・データベースの削除

REMOVE DATABASEコマンドを使用すると、ブローカによるデータベースの管理と監視が停止され、データベースのプロファイルがブローカ構成ファイルから削除されます。

South_Salesスタンバイ・データベースを削除する前の構成を示します。

DGMGRL> SHOW CONFIGURATION;
 
Configuration - DRSolution
 
  Protection Mode: MaxPerformance
  Databases:
    North_Sales  - Primary database
    South_Sales  - Physical standby database
 
Fast-Start Failover: DISABLED
 
Configuration Status:
SUCCESS

DGMGRLのREMOVE DATABASEコマンドを発行して、South_Salesデータベース情報をData Guard構成ファイルから削除します。

DGMGRL> REMOVE DATABASE 'South_Sales';
Removed database "South_Sales" from the configuration

South_Salesスタンバイ・データベースを削除した後の構成を示します。

DGMGRL> SHOW CONFIGURATION;
 
Configuration - DRSolution
 
  Protection Mode: MaxPerformance
  Databases:
    North_Sales  - Primary database
 
Fast-Start Failover: DISABLED
 
Configuration Status:
SUCCESS

最大保護モードまたは最大可用性モードのいずれかで動作している場合、ブローカでは、保護モードをサポートする最後の1つのスタンバイ・データベースを削除できません。

手順2   ブローカ構成の削除

次のコマンドを使用すると、構成全体がブローカによって管理および監視されなくなります。

DGMGRL> REMOVE CONFIGURATION;

注意:

ファスト・スタート・フェイルオーバーが有効化されている場合、構成を削除できません。

DGMGRLは次のメッセージを戻します。このメッセージは、コマンドによりData Guard構成ファイルからすべての構成情報が正常に削除されたことを示します。

Removed configuration
 
DGMGRL> SHOW CONFIGURATION;
Error: ORA-16532: Data Guard broker configuration does not exist
 
Configuration details cannot be determined by DGMGRL

6.8 使用例7: スイッチオーバー操作の実行

プライマリ・データベースとスタンバイ・データベースのロールは、SWITCHOVERコマンドを使用して切り替えることができます。SWITCHOVERコマンドを発行する前に、次のことを確認する必要があります。

  • プライマリ・データベースとスタンバイ・データベースの状態がそれぞれTRANSPORT-ONおよびAPPLY-ONであること。

  • 関係するすべてのデータベースが健全な状態で、エラーや警告がないこと。

  • スタンバイ・データベースのプロパティがプライマリ・データベース上で設定されていること。これにより、プライマリ・データベースはスタンバイ・データベースへ遷移するときに正常に機能できます(次の例の太字表記を参照してください)。

  • プライマリ・データベース上でスタンバイREDOログ・ファイルが設定されていること。さらに、最大可用性モードまたは最大保護モードのいずれかで動作している場合、データベース・プロパティLogXptModeSYNCに設定されていること。

  • ファスト・スタート・フェイルオーバーが有効化されている場合は、ターゲット・スタンバイ・データベースとして指定されたスタンバイ・データベースへのスイッチオーバーのみ実行できる。

手順1   プライマリ・データベースのチェック

次のように、SHOW DATABASE VERBOSEコマンドを使用して、プライマリ・データベースの状態、健全性およびプロパティをチェックします。

DGMGRL> SHOW DATABASE VERBOSE 'North_Sales';
 
Database - North_Sales
 
  Role:            PRIMARY
  Intended State:  TRANSPORT-ON
  Instance(s):
    north_sales1
 
  Properties:
    DGConnectIdentifier             = 'North_Sales.example.com'
    ObserverConnectIdentifier       = ''
    LogXptMode                      = 'sync'
    DelayMins                       = '0'
    Binding                         = 'optional'
    MaxFailure                      = '0'
    MaxConnections                  = '1'
    ReopenSecs                      = '300'
    NetTimeout                      = '30'
    RedoCompression                 = 'DISABLE'
    LogShipping                     = 'ON'
PreferredApplyInstance          = ''
    ApplyInstanceTimeout            = '0'
    ApplyParallel                   = 'AUTO'
    StandbyFileManagement           = 'AUTO'
    ArchiveLagTarget                = '0'
    LogArchiveMaxProcesses          = '5'
    LogArchiveMinSucceedDest        = '1'
    DbFileNameConvert               = 'dbs/bt, dbs/t'
    LogFileNameConvert              = 'dbs/bt, dbs/t'
    FastStartFailoverTarget         = 'South_Sales'
    InconsistentProperties          = '(monitor)'
    InconsistentLogXptProps         = '(monitor)'
    SendQEntries                    = '(monitor)'
    LogXptStatus                    = '(monitor)'
    RecvQEntries                    = '(monitor)'
    SidName                         = 'north_sales1'
    StaticConnectIdentifier         = '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)
(HOST=North_Sales.example.com)(PORT=2840))
(CONNECT_DATA=(SERVICE_NAME=North_Sales_DGMGRL.example.com)
(INSTANCE_NAME=north_sales1)(SERVER=DEDICATED)))'
    StandbyArchiveLocation          = 'USE_DB_RECOVERY_FILE_DEST'
    AlternateLocation               = ''
    LogArchiveTrace                 = '255'
    LogArchiveFormat                = 'db1r_%d_%t_%s_%R.arc'
    LatestLog                       = '(monitor)'
    TopWaitEvents                   = '(monitor)'
 
Database Status:
SUCCESS
 
DGMGRL>

特に、プライマリ・データベースの太字のプロパティおよび現在のステータスをチェックする必要があります。データベースの管理方法については、第4章を参照してください。

手順2   スイッチオーバーのターゲットとなるスタンバイ・データベースのチェック

SHOW DATABASE VERBOSEコマンドを使用して、スイッチオーバーのターゲットとなるスタンバイ・データベースの状態、健全性およびプロパティをチェックします。次に例を示します。

DGMGRL> SHOW DATABASE VERBOSE 'South_Sales';
 
Database - South_Sales
 
  Role:            PHYSICAL STANDBY
  Intended State:  ONLINE
  Transport Lag:   0
  Apply Lag:       0
  Real Time Query: OFF
  Instance(s):
    south_sales1
Properties:
    DGConnectIdentifier             = 'South_Sales.example.com'
    ObserverConnectIdentifier       = ''
    LogXptMode                      = 'ASYNC'
    DelayMins                       = '0'
    Binding                         = 'optional'
    MaxFailure                      = '0'
    MaxConnections                  = '1'
    ReopenSecs                      = '300'
    NetTimeout                      = '30'
    RedoCompression                 = 'DISABLE'
    LogShipping                     = 'ON'
    PreferredApplyInstance          = ''
    ApplyInstanceTimeout            = '0'
    ApplyParallel                   = 'AUTO'
    StandbyFileManagement           = 'AUTO'
    ArchiveLagTarget                = '0'
    LogArchiveMaxProcesses          = '5'
    LogArchiveMinSucceedDest        = '1'
    DbFileNameConvert               = 'dbs/t, dbs/bt'
    LogFileNameConvert              = 'dbs/t, dbs/bt'
    FastStartFailoverTarget         = 'North_Sales'
    InconsistentProperties          = '(monitor)'
    InconsistentLogXptProps         = '(monitor)'
    SendQEntries                    = '(monitor)'
    LogXptStatus                    = '(monitor)'
    RecvQEntries                    = '(monitor)'
    SidName                         = 'south_sales1'
    StaticConnectIdentifier         = '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)
(HOST=south_sales1.example.com)(PORT=2840))
(CONNECT_DATA=(SERVICE_NAME=South_Sales_DGMGRL.example.com)
(INSTANCE_NAME=south_sales1)(SERVER=DEDICATED)))'
    StandbyArchiveLocation          = 'USE_DB_RECOVERY_FILE_DEST'
    AlternateLocation               = ''
    LogArchiveTrace                 = '255'
    LogArchiveFormat                = 'db2r_%d_%t_%s_%R.arc'
    LatestLog                       = '(monitor)'
    TopWaitEvents                   = '(monitor)'
 
Database Status:
SUCCESS

特に、データベースの現在のステータスをチェックする必要があります。

手順3   スイッチオーバー・コマンドの発行

SWITCHOVERコマンドを発行して、プライマリ・データベースとスタンバイ・データベースのロールを交換します。次の例では、ブローカが、元のプライマリ・データベースの停止および再起動を、スイッチオーバーの一部として自動的に実行する方法を示します。(DGMGRLによってプライマリ・データベースとスタンバイ・データベースが自動的に再起動されるようにブローカ環境を設定する方法については、7.1.3項を参照してください。)

DGMGRL> switchover to 'South_Sales';
Performing switchover NOW, please wait...
New primary database "South_Sales" is opening...
Operation requires shutdown of instance "north_sales1" on database "North_Sales"
Shutting down instance "north_sales1"...
ORA-01109: database not open
 
Database dismounted.
ORACLE instance shut down.
Operation requires startup of instance "north_sales1" on database "North_Sales"
Starting instance "north_sales1"...
ORACLE instance started.
Database mounted.
Switchover succeeded, new primary is "South_Sales"

スイッチオーバーの完了後、SHOW CONFIGURATIONおよびSHOW DATABASEコマンドを使用して、スイッチオーバー操作が正常終了したかどうかを検証します。

手順4   構成の表示

SHOW CONFIGURATIONコマンドを発行し、スイッチオーバーが正常終了したことを確認します。

DGMGRL> SHOW CONFIGURATION;
 
Configuration - DRSolution
 
  Protection Mode: MaxAvailability
  Databases:
    South_Sales  - Primary database
    North_Sales  - Physical standby database
 
Fast-Start Failover: DISABLED
 
Configuration Status:
SUCCESS

6.9 使用例8: 手動フェイルオーバー操作の実行

フェイルオーバー操作は、緊急時(通常はプライマリ・データベースにアクセスできない場合または使用できない場合)の対応策として起動します。フェイルオーバー前に5.2項を参照し、どのスタンバイ・データベースをフェイルオーバーのターゲットにするかを判断してください。次の使用例では、リモート・データベースSouth_Salesへのフェイルオーバーについて説明します。


注意:

ファスト・スタート・フェイルオーバーが有効化されている場合、ファスト・スタート・フェイルオーバーのターゲットとして指定されているスタンバイ・データベースにかぎり、またオブザーバが実行中で現在スタンバイ・データベースと接続されている場合のみ、手動フェイルオーバーを実行できます。

ファスト・スタート・フェイルオーバーのターゲットではないスタンバイ・データベースへの手動フェイルオーバーを実行する場合は、まずフェイルオーバー先のスタンバイ・データベースでFORCEオプションを使用してファスト・スタート・フェイルオーバーを無効にする必要があります。FORCEオプションの詳細は、5.5.5項「ファスト・スタート・フェイルオーバーの無効化」を参照してください。


手順1   ターゲット・スタンバイ・データベースへの接続

フェイルオーバー操作を実行するには、SYSDBA権限を持つユーザーとしてフェイルオーバー先のスタンバイ・データベースに接続する必要があります。次に例を示します。

DGMGRL> CONNECT sys@South_Sales.example.com;
Password: password
Connected.
手順2   フェイルオーバー・コマンドの発行

フェイルオーバー・コマンドを発行すると、ターゲットのスタンバイ・データベースを構成の新しいプライマリ・データベースにできます。

DGMGRL> FAILOVER TO 'South_Sales';
Performing failover NOW, please wait...
Failover succeeded, new primary is "South_Sales"

フェイルオーバーの完了後は、5.4.3項の説明に従って回復または再作成しないかぎり、元のプライマリ・データベースは新しいプライマリ・データベースのスタンバイ・データベースとして使用できないことに注意してください。

手順3   構成の表示

SHOW CONFIGURATIONコマンドを発行してフェイルオーバーを確認します。

DGMGRL> SHOW CONFIGURATION;
 
Configuration - DRSolution
 
  Protection Mode: MaxAvailability
  Databases:
    South_Sales  - Primary database
      Warning: ORA-16629: database reports a different protection level from the protection mode
 
    North_Sales - Physical standby database (disabled)
      ORA-16661: the standby database needs to be reinstated
 
Fast-Start Failover: DISABLED
 
Configuration Status:
WARNING

この例では、構成は最大可用性モードで動作していました。フェイルオーバーの後、保護モードは保持されました。構成では、警告ステータスも表示されています。新しいプライマリのSHOW DATABASEコマンドにより、有効なフィジカル・スタンバイ・データベースがないために警告が発生したことがわかります。その結果、警告ステータスは、構成の保護レベルと構成済のモードが同じでないことを示しています。

手順4   新しいプライマリ・データベースの表示
DGMGRL> SHOW DATABASE South_Sales;
Database - South_Sales
 
  Role:            PRIMARY
  Intended State:  TRANSPORT-ON
  Instance(s):
    south_sales1
 
  Database Warning(s):
    ORA-16629: database reports a different protection level from the protection mode
 
Database Status:
WARNING
手順5   元のプライマリ・データベースの表示

SHOW DATABASEコマンドを発行し、フェイルオーバーの結果として(障害が発生した)元のプライマリ・データベースがブローカにより無効化されたことを確認します。元のプライマリ・データベースは、5.4.3項の説明に従って再作成する必要があります。

DGMGRL> SHOW DATABASE 'North_Sales';
Database - North_Sales
 
  Role:            PHYSICAL STANDBY
  Intended State:  APPLY-ON
  Transport Lag:   (unknown)
  Apply Lag:       (unknown)
  Real Time Query: OFF
  Instance(s):
    north_sales1
 
Database Status:
ORA-16661: the standby database needs to be reinstated

6.10 使用例9: 障害が発生したプライマリ・データベースの回復

プライマリ・データベースがフラッシュバック・データベースを使用して構成されている場合は、障害が発生したプライマリ・データベースを新しいプライマリ・データベースのスタンバイ・データベースとしてすぐに回復できます。障害が発生したプライマリ・データベースは、元のスタンバイ・データベースと同じスタンバイ・タイプとして回復します。たとえば、フィジカル・スタンバイ・データベースへのフェイルオーバーであった場合、元のプライマリはフィジカル・スタンバイ・データベースとして回復されます。

障害が発生したプライマリ・データベースを回復するには、データベースを起動してマウントされた状態にします。次に、DGMGRLを実行し、新しいプライマリ・データベースに接続して元のプライマリ・データベースを回復します。

手順1   元のプライマリ・データベースの再起動
% sqlplus sys as sysdba
Enter password: password

SQL> STARTUP MOUNT;
ORACLE instance started.
 
Total System Global Area  234364928 bytes
Fixed Size                  1296352 bytes
Variable Size             209717280 bytes
Database Buffers           16777216 bytes
Redo Buffers                6574080 bytes
Database mounted.
手順2   元のプライマリ・データベースの回復
% dgmgrl connect sys
Password: password
Connected.
DGMGRL> REINSTATE DATABASE 'North_Sales';
Reinstating database "North_Sales", please wait...
Operation requires shutdown of instance "north_sales1" on database "North_Sales"
Shutting down instance "north_sales1"...
ORA-01109: database not open
 
Database dismounted.
ORACLE instance shut down.
Operation requires startup of instance "north_sales1" on database "North_Sales"
Starting instance "north_sales1"...
ORACLE instance started.
Database mounted.
Continuing to reinstate database "North_Sales" ...
Reinstatement of database "North_Sales" succeeded

プライマリの回復が完了したら、SHOW CONFIGURATIONコマンドおよびSHOW DATABASEコマンドを発行して、元のプライマリが正常に回復したことを確認してください。

手順3   構成およびデータベースの表示
DGMGRL> SHOW CONFIGURATION
 
Configuration - DRSolution
 
  Protection Mode: MaxAvailability
  Databases:
    South_Sales  - Primary database
    North_Sales  - Physical standby database
 
Fast-Start Failover: DISABLED
 
Configuration Status:
SUCCESS

DGMGRL> SHOW DATABASE 'South_Sales';
 
Database - South_Sales
 
  Role:            PRIMARY
  Intended State:  TRANSPORT-ON
  Instance(s):
    south_sales1
 
Database Status:
SUCCESS
 
DGMGRL> SHOW DATABASE 'North_Sales'
 
Database - North_Sales
 
  Role:            PHYSICAL STANDBY
  Intended State:  APPLY-ON
  Transport Lag:   0 seconds
  Apply Lag:       0 seconds
  Real Time Query: OFF
  Instance(s):
    north_sales1
 
Database Status:
SUCCESS

6.11 使用例10: フィジカル・スタンバイからスナップショット・スタンバイへの変換

スナップショット・スタンバイ・データベースに変換するフィジカル・スタンバイ・データベースがある場合は、DGMGRLのCONVERT DATABASEコマンドを使用します。データベースがスナップショット・スタンバイ・データベースとして動作中の間は、REDOデータはデータベースで引き続き受信されますが、スナップショット・スタンバイ・データベースが元のフィジカル・スタンバイ・データベースに変換されるまでREDOデータは適用されません。

フィジカル・スタンバイ・データベースをスナップショット・スタンバイ・データベースに変換するには、フィジカル・スタンバイ・データベースをファスト・リカバリ領域で構成する必要があります。これは、変換プロセス中に作成される保証付きリストア・ポイントにファスト・リカバリ領域が必要であるためです。

DGMGRL> convert database 'South_Sales' to snapshot standby;
Converting database "South_Sales" to a Snapshot Standby database, please wait...
Database "South_Sales" converted successfully

DGMGRL> SHOW CONFIGURATION;
 
Configuration - DRSolution
 
  Protection Mode: MaxPerformance
  Databases:
    North_Sales  - Primary database
    South_Sales  - Snapshot standby database
 
Fast-Start Failover: DISABLED
 
Configuration Status:
SUCCESS

データベースを元のフィジカル・スタンバイ・データベースに戻すときは、次に示すように、DGMGRLのCONVERT DATABASEコマンドを再び使用します。スナップショット・スタンバイ・データベースとして動作中にデータベースに加えられた更新はすべて破棄されます。データベースが元のフィジカル・スタンバイ・データベースに変換されると、REDO Applyサービスによって、すべての累積REDOデータが適用されます。

DGMGRL> CONVERT DATABASE 'South_Sales' to PHYSICAL STANDBY;
Converting database "South_Sales" to a Physical Standby database, please wait...
Operation requires shutdown of instance "south_sales1" on database "South_Sales"
Shutting down instance "south_sales1"...
Database closed.
Database dismounted.
ORACLE instance shut down.
Operation requires startup of instance "south_sales1" on database "South_Sales"
Starting instance "south_sales1"...
ORACLE instance started.
Database mounted.
Continuing to convert database "South_Sales" ...
Operation requires shutdown of instance "south_sales1" on database "South_Sales"
Shutting down instance "south_sales1"...
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
Operation requires startup of instance "south_sales1" on database "South_Sales"
Starting instance "south_sales1"...
ORACLE instance started.
Database mounted.
Database "South_Sales" converted successfully

6.12 使用例11: Data Guard構成の監視

この項の使用例は、SHOWコマンドとデータベースの監視可能なプロパティを使用し、障害状況を識別して解決する方法を示しています。

手順1   構成のステータス・チェック

ブローカ構成のステータスは、ブローカ構成のすべてのデータベースとインスタンスのステータスが集計されたものです。最初に構成ステータスをチェックすると、さらに処置が必要かどうかを判断できます。構成ステータスがSUCCESSの場合は、ブローカ構成全体が正常に動作しています。一方、WARNINGまたはERRORステータスが表示される場合は、構成の一部に問題があることを意味します。

たとえば、次の例は、プライマリ・データベースに複数の警告があることを示しています。

DGMGRL> SHOW CONFIGURATION;
Configuration - DRSolution
 
  Protection Mode: MaxPerformance
  Databases:
    North_Sales  - Primary database
      Warning: ORA-16809: multiple warnings detected for the database
 
    South_Sales  - Physical standby database
 
Fast-Start Failover: DISABLED
 
Configuration Status:
WARNING
手順2   データベースのステータス・チェック

プライマリ・データベースの警告を確認するには、SHOW DATABASEコマンドを使用してステータスを表示します。

DGMGRL> SHOW DATABASE 'North_Sales';
Database - North_Sales
 
  Role:            PRIMARY
  Intended State:  TRANSPORT-ON
  Instance(s):
    north_sales1
      Warning: ORA-16737: the redo transport service for standby "South_Sales" has an error
      Warning: ORA-16714: the value of property LogArchiveTrace is inconsistent with the database setting
      Warning: ORA-16715: redo transport-related property ReopenSecs of standby
 database "South_Sales" is inconsistent

Database Status:
WARNING
手順3   監視可能なデータベース・プロパティLogXptStatusのチェック

手順2のSHOW DATABASEの出力には、エラーORA-16737の警告が示されています。正確な転送エラーを確認するには、監視可能なデータベース・プロパティLogXptStatusを使用します。

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

出力は、フィジカル・スタンバイ・データベースのリスナーが実行されていないことを示しています。このエラーを修正するには、フィジカル・スタンバイ・データベースSouth_Salesのリスナーを起動します。

手順4   監視可能なデータベース・プロパティInconsistentPropertiesのチェック

手順2のSHOW DATABASEの出力には、エラーORA-16714の警告が示されています。正確なエラーを確認するには、監視可能なデータベース・プロパティInconsistentPropertiesを使用します。

DGMGRL> SHOW DATABASE 'North_Sales' 'InconsistentProperties';
INCONSISTENT PROPERTIES
 INSTANCE_NAME  PROPERTY_NAME   MEMORY_VALUE SPFILE_VALUE BROKER_VALUE
 north_sales1   LogArchiveTrace 511          255          255

現在のデータベース・メモリー値(511)が、サーバー・パラメータ・ファイル(SPFILE)の値(255)ともData Guard Brokerのプロパティ値(255)とも異なっています。データベース・メモリー値が正しいと判断した場合は、次のコマンドを使用してData Guard Brokerのプロパティ値を更新できます。

DGMGRL> EDIT DATABASE 'North_Sales' SET PROPERTY 'LogArchiveTrace'=511;
Property "LogArchiveTrace" updated

このコマンドを発行すると、LogArchiveTraceの値の一貫性が保たれるようにサーバー・パラメータ・ファイル(SPFILE)の値が更新されます。

手順5   監視可能なデータベース・プロパティInconsistentLogXptPropsのチェック

手順2のSHOW DATABASEの出力には、もう1つの警告ORA-16715も示されています。REDO転送のデータベース・プロパティReopenSecsについて一貫性のない値を識別するには、監視可能なデータベース・プロパティInconsistentLogXptPropsを使用します。

DGMGRL> SHOW DATABASE 'North_Sales' 'InconsistentLogXptProps';
INCONSISTENT LOG TRANSPORT PROPERTIES
 INSTANCE_NAME  STANDBY_NAME  PROPERTY_NAME  MEMORY_VALUE  BROKER_VALUE 
   south_sales1   South_Sales     ReopenSecs           600           300

現行のデータベース・メモリー値(600)は、Data Guard Brokerのプロパティ値(300)と一致しません。ブローカのプロパティ値が正しいと判断した場合は、次の例に示すように、スタンバイ・データベースのプロパティを同じ値で再編集して一貫性のある値にできます。

DGMGRL> EDIT DATABASE 'South_Sales' SET PROPERTY 'ReopenSecs'=300;
Property "ReopenSecs" updated

スタンバイ・データベースを再び有効化するか、プライマリ・データベースの状態をTRANSPORT-ONにリセットして、非一貫性を解決することもできます。