使用例6: ファスト・スタート・フェイルオーバーの有効化とオブザーバの起動
ブローカ構成のデータベースに接続されているかぎり、オブザーバ・サイトを含め、任意のサイトからファスト・スタート・フェイルオーバーを有効化できます。
ファスト・スタート・フェイルオーバーを有効化しても、フェイルオーバーは起動されません。かわりに、フェイルオーバーの条件が満たされた場合に、構成を監視しているオブザーバがファスト・スタート・フェイルオーバーを起動できるようになります。この項では、ファスト・スタート・フェイルオーバーを有効化し、構成の保護モードが最大可用性モードに設定されるオブザーバを起動するステップを説明します。
- スタンバイREDOログがプライマリ・データベースおよびターゲット・スタンバイ・データベースで構成されていることを確認します。スタンバイREDOログを構成する前に、ログ適用サービスを停止する必要があります。
関連項目:
スタンバイREDOログ・ファイルの構成方法は、『Oracle Data Guard概要および管理』を参照してください。
- 遠隔同期インスタンスを介してではなく直接REDOを受け取る場合は、プライマリ・データベースとスタンバイ・データベースを、
SYNC、FASTSYNCまたはASYNCモードでREDOを受け取るように構成します。いずれかのデータベースが遠隔同期インスタンスを介してREDOを受け取る場合、SYNCまたはFASTSYNCモードでREDOを受け取るように遠隔同期インスタンスを構成し、遠隔同期インスタンスからASYNCモードでREDOを受け取るようにデータベースを構成します。たとえば:DGMGRL> EDIT DATABASE 'North_Sales' SET PROPERTY 'logXptMode'='SYNC'; Property "logXptMode" updated for member "North_Sales".
DGMGRL> 'South_Sales' SET PROPERTY 'logXptMode'='SYNC'; Property "logXptMode" updated for member "South_Sales".
データベースがスタンバイREDOログ・ファイルで構成されていないかぎり、ブローカではこれらのコマンドが正常終了しません。
- 2つ以上のスタンバイ・データベースがある場合、プライマリ・データベースの
FastStartFailoverTarget構成プロパティを設定して目的のターゲット・スタンバイ・データベースを指定します。ファスト・スタート・フェイルオーバーが実際に有効化される際、ブローカにより、今度は反対にターゲット・スタンバイ・データベースのこのプロパティが将来のターゲット・スタンバイ・データベースとしてプライマリ・データベースを指すように設定されます。このプロパティは自動的に設定されるため、ターゲット・スタンバイ・データベースでこのプロパティを設定する必要はありません。たとえば:DGMGRL> EDIT DATABASE 'North_Sales' SET PROPERTY FastStartFailoverTarget='South_Sales'; Property "faststartfailovertarget" updated for member "North_Sales".
- 保護モードのアップグレードが必要な場合、次のDGMGRL
EDIT CONFIGURATIONコマンドを使用します。たとえば:DGMGRL> EDIT CONFIGURATION SET PROTECTION MODE AS MAXAVAILABILITY;
- プライマリ・データベースとスタンバイ・データベースで「データベースをフラッシュバック」がまだ有効化されていない場合は、各データベース上で次の文を発行することでそれを有効にします。「データベースをフラッシュバック」を有効にする前にREDO Applyを停止し、「データベースをフラッシュバック」が有効になった後でそれを再起動します。
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL; [include the existing commands] ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT;
長時間の停止後でも回復が可能になるように、
DB_FLASHBACK_RETENTION_TARGET初期化パラメータが十分に大きな値に設定されていることを確認します。 - オブザーバ・コンピュータにログインしDGMGRLを使用することで、オブザーバ(最大4つ)を起動します。
SYSDGまたはSYSDBA権限があるユーザーとして構成に接続し、START OBSERVERコマンドを発行します。このコマンドは、IN BACKGROUND句が含まれている場合を除き、フォアグラウンドで実行され、DGMGRL>プロンプトには戻りません。IN BACKGROUND句を使用してオブザーバをバックグラウンド・プロセスとして起動する場合は、オブザーバの起動に使用する接続識別子と一致する資格証明を使用してウォレットベース認証を構成する必要があります。DGMGRL> CONNECT sys@north_sales Password: password Connected to "North_Sales" Connected as SYSDBA. DGMGRL> START OBSERVER observer1 IN BACKGROUND CONNECT IDENTIFIER IS north_sales; Submitted command “START OBSERVER” using connect identifier “north_sales”セキュリティ上の理由から、このコマンド形式の使用をお薦めします。資格証明は表示されません。この処理により、システムの他のユーザーがユーティリティ(UNIXのpsユーティリティなど)を使用して接続資格証明を表示することを回避できます。また、クリアテキストのパスワードがユーザーの端末に表示されるのを防ぐことができます。
スクリプトからオブザーバを起動する場合、データベース接続資格証明をスクリプト内に埋め込まなくてすむように、「connect/」をサポートする方法を使用することをお薦めします。クライアント側のOracleウォレットをセキュアな外部パスワード・ストアとして使用することにした場合は、プライマリ・データベース用、およびファスト・スタート・フェイルオーバーのターゲット・スタンバイ・データベース用の資格証明を追加する必要があります。各データベースの資格証明を追加するとき、指定するデータベース接続文字列は、データベース・プロパティ
ObserverConnectIdentiferまたはDGConnectIdentifierと一致している必要があります。ノート:
エンタープライズ・ユーザー・セキュリティ(EUS)は、Oracle AI Database 26aiで非推奨になりました。かわりに集中管理ユーザー(CMU)を使用することをお薦めします。複数のオブザーバを起動する場合、ファスト・スタート・フェイルオーバーが有効化されると、1つのオブザーバがマスター・オブザーバに、残りのオブザーバがバックアップ・オブザーバになります。Data Guard Brokerでファスト・スタート・フェイルオーバーを調整できるのはマスター・オブザーバのみです。プライマリ・データベースとターゲット・スタンバイ・データベースの間の接続が維持された状態でマスター・オブザーバからの接続が失われた場合、ブローカは、バックアップ・オブザーバを新しいマスター・オブザーバに指定しようとします。
- ファスト・スタート・フェイルオーバーを有効にします。ブローカ構成のデータベースに接続されている間は、ファスト・スタート・フェイルオーバーを有効化できます。たとえば:
DGMGRL> ENABLE FAST_START FAILOVER; Enabled in Zero Data Loss Mode.
- ファスト・スタート・フェイルオーバー構成を検証します。
SHOW FAST_START FAILOVERコマンドを使用して、ファスト・スタート・フェイルオーバーの設定を表示します。DGMGRL> SHOW FAST_START FAILOVER Fast-Start Failover: Enabled in Zero Data Loss Mode Protection Mode: MaxAvailability Lag Limit: 0 seconds Threshold: 30 seconds Ping Interval: 3000 milliseconds Ping Retry: 0 Active Target: South_Sales Potential Targets: "South_Sales" South_Sales valid Observer: (none) Shutdown Primary: TRUE Auto-reinstate: TRUE Observer Reconnect: (none) Observer Override: FALSE Configurable Failover Conditions Health Conditions: Corrupted Controlfile YES Corrupted Dictionary YES Inaccessible Logfile NO Stuck Archiver NO Datafile Write Errors 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';