アップストリームおよびダウンストリーム・リカバリ・アプライアンスの構成

このタスクでは、ダウンストリームとアップストリームのリカバリ・アプライアンス上で保護されたデータベースの保護ポリシーを構成し、保護ポリシーをレプリケーション・サーバーに追加します。

たとえば、CBR122DRデータベースなどによって使用される保護ポリシーがそれぞれのリカバリ・アプライアンスに存在しない場合、このステップによって作成されます。保護ポリシー名は、ダウンストリームとアップストリームのリカバリ・アプライアンス間で一意である必要はありません。

RAHADR1とRAHADR2の間の循環参照を回避するために、RAHADR2からの保護ポリシーはレプリケーション・サーバーに追加されませんが、RAHADR1からの保護ポリシーは追加されます。保護ポリシー内のすべてのデータベースがレプリケートされます。

ノート: RAHADR2は通常CDB122DRデータベースからREDOを受け入れないため、CDB122DRデータベースがアイドル状態の場合、保護されていないデータ・ウィンドウ・パラメータを1.25日に設定して、falseアラートの発生を回避します。

  1. ダウンストリーム・リカバリ・アプライアンスRAHADR2のrasys/raとしてSQLPLSにログインします。このステップと後続のステップのいくつかは、特に明記されていないかぎりRAHADR2で実行されます。
    $ sqlplus rasys/ra
  2. 保護ポリシーを作成します。
    SQL> exec dbms_ra.create_protection_policy( 
    protection_policy_name => 'cdb122dr_PP', 
    storage_location_name => 'DELTA', 
    recovery_window_goal => numtodsinterval(3,'DAY'), 
    unprotected_window => numtodsinterval(1.25,'DAY'), 
    allow_backup_deletion => 'NO');
    
    PL/SQL procedure successfully completed.
  3. (この例の)データベースとその保護ポリシーを、リカバリ・アプライアンスによる保護の対象のリストに追加します。
    SQL> exec dbms_ra.add_db(
    db_unique_name => 'cdb122dr', 
    protection_policy_name=> 'cdb122dr_PP', 
    reserved_space => '1T');
    
    PL/SQL procedure successfully completed.
  4. レプリケーション・ユーザーに(この例の)データベースへのアクセス権を付与します。
    SQL> exec dbms_ra.grant_db_access(
    username => 'REPUSER_FROM_HADR1',
    db_unique_name => 'cdb122dr');
    
    PL/SQL procedure successfully completed.
  5. アップストリーム・リカバリ・アプライアンスRAHADR1のrasys/raとしてsqlplusにログインします。このステップと後続のすべてのステップがRAHADR1で実行されます。
    $ sqlplus rasys/ra
  6. 保護ポリシーを作成します。保護ポリシー名は一意である必要はありません。
    SQL> exec dbms_ra.create_protection_policy( 
    protection_policy_name =>'cdb122dr_PP', 
    storage_location_name => 'DELTA', 
    recovery_window_goal => numtodsinterval(3,'DAY'), 
    unprotected_window => numtodsinterval(5,'MINUTE'), 
    allow_backup_deletion => 'NO');
    
    PL/SQL procedure successfully completed.
  7. (この例の)データベースとその保護ポリシーを、リカバリ・アプライアンスによる保護の対象のリストに追加します。
    SQL> exec dbms_ra.add_db(
    db_unique_name => 'cdb122dr', 
    protection_policy_name=> 'cdb122dr_PP', 
    reserved_space => '1T');
    
    PL/SQL procedure successfully completed.
  8. レプリケーション・ユーザーに(この例の)データベースへのアクセス権を付与します。
    SQL> exec dbms_ra.grant_db_access(
    username => 'HADR_LOCAL_VPCUSER',
    db_unique_name => 'cdb122dr');
    
    PL/SQL procedure successfully completed.
  9. レプリケーション・サーバーに保護ポリシーを追加します。このステップはアップストリーム・リカバリ・アプライアンス(RAHADR1)で実行されます。2つのリカバリ・アプライアンス間の循環参照を回避するために、このステップはダウンストリーム・リカバリ・アプライアンスで実行されませんでした。
    SQL> exec dbms_ra.add_replication_server( 
    replication_server_name =>'RAHADR2_REP', 
    protection_policy_name => 'cdb122dr_PP');
    
    PL/SQL procedure successfully completed.