トポロジのデプロイ

RMANのfrom service句を使用すると、プライマリ・データベース・ファイルをネットワーク全体のスタンバイ・データベースにリストアおよびリカバリできます。この機能を使用すると、RMAN DUPLICATE DATABASEコマンドのかわりにスタンバイ・データベースをインスタンス化でき、より直感的でエラーが少なくなり、時間の節約になります。

ノート:

「コピー」をクリックして、コマンドラインに貼り付けるためにコマンド例をクリップボードに保存します。variablesは、実装に固有の値に置き換えてください。

RMANを使用したスタンバイ・データベースの作成

Oracle Recovery Manager (RMAN)を使用して、アクティブ・プライマリ・データベースからスタンバイ・データベースを作成できます。または、プライマリ・データベースのバックアップからリストアできます。

  1. データベースに接続し、NOMOUNTモードでデータベースを起動します。
    $ rman target / 
    startup nomount;
  2. プライマリ・サービスからスタンバイ制御ファイルをリストアします。この例では、DBUKS_898_LHRがプライマリ・データベースです。
    restore standby controlfile from service 'DBUKS_898_LHR';
    次のように出力されます。
    Starting restore at 04-JUL-23 
    using target database control file instead of recovery catalog 
    allocated channel: ORA_DISK_1 
    channel ORA_DISK_1: SID=28 device type=DISK 
    channel ORA_DISK_1: starting datafile backup set restore 
    channel ORA_DISK_1: using network backup set from service DBUKS_898_LHR 
    channel ORA_DISK_1: restoring control file 
    channel ORA_DISK_1: restore complete, elapsed time: 00:00:04 
    output file name=+RECO/DBUKS_R2J_AMS/CONTROLFILE/current.256.1139953721 
    Finished restore at 04-JUL-23
  3. Mount the database:
    alter database mount;
    次のように出力されます。
    released channel: 
    ORA_DISK_1 Statement processed
  4. OCIインスタンスのrootとして、開くOracleディレクトリの権限(chmod 777)を変更します。
    cd /opt/ 
    ls -ltra 
    次のように表示されます:
    drwxr-xr-x 10 root root 4096 Jun 20 03:52 oracle 
    次のように入力します。
    [root@ldbuksdr]# chmod 777 oracle/ 
    ls -ltra 
    次のように表示されます:
    drwxrwxrwx 10 root root 4096 Jun 20 03:52 oracle
  5. プライマリ・データベース(DBUKS_898_LHR)からデータベースをリストアします。
    restore database from service ' DBUKS_898_LHR ';
    次のように出力されます。
    Starting restore at 04-JUL-23 
    using target database control file instead of recovery catalog 
    allocated channel: ORA_SBT_TAPE_1 
    channel ORA_SBT_TAPE_1: SID=162 device type=SBT_TAPE 
    channel ORA_SBT_TAPE_1: Oracle Database Backup Service Library VER=19.0.0.1 allocated 
    channel: ORA_DISK_1 channel ORA_DISK_1: SID=28 device type=DISK 
    channel ORA_SBT_TAPE_1: starting datafile backup set restore 
    channel ORA_SBT_TAPE_1: using network backup set from service DBUKS_898_LHR 
    channel ORA_SBT_TAPE_1: specifying datafile(s) to restore from backup set 
    channel ORA_SBT_TAPE_1: restoring datafile 00001 to +DATA/DBUKS_898_LHR/DATAFILE/system.261.1139943103 
    channel ORA_DISK_1: starting datafile backup set restore 
    channel ORA_DISK_1: using network backup set from service DBUKS_898_LHR 
    channel ORA_DISK_1: specifying datafile(s) to restore from backup set 
    channel ORA_DISK_1: restoring datafile 00003 to +DATA/DBUKS_898_LHR/DATAFILE/sysaux.268.1139943085 
    channel ORA_SBT_TAPE_1: restore complete, elapsed time: 00:00:38 
    channel ORA_SBT_TAPE_1: starting datafile backup set restore 
    channel ORA_SBT_TAPE_1: using network backup set from service DBUKS_898_LHR 
    channel ORA_SBT_TAPE_1: specifying datafile(s) to restore from backup set 
    channel ORA_SBT_TAPE_1: restoring datafile 00004 to +DATA/DBUKS_898_LHR/DATAFILE/undotbs1.260.1139943133 
    channel ORA_SBT_TAPE_1: restore complete, elapsed time: 00:00:04 
    channel ORA_SBT_TAPE_1: starting datafile backup set restore 
    channel ORA_SBT_TAPE_1: using network backup set from service DBUKS_898_LHR 
    channel ORA_SBT_TAPE_1: specifying datafile(s) to restore from backup set 
    channel ORA_SBT_TAPE_1: restoring datafile 00005 to +DATA/DBUKS_898_LHR/F9D6EA8CCAA09630E0530905F40A5107/DATAFILE/system.264.1139942759 
    channel ORA_DISK_1: restore complete, elapsed time: 00:00:49 
    channel ORA_DISK_1: starting datafile backup set restore 
    channel ORA_DISK_1: using network backup set from service DBUKS_898_LHR 
    channel ORA_DISK_1: specifying datafile(s) to restore from backup set 
    channel ORA_DISK_1: restoring datafile 00006 to +DATA/DBUKS_898_LHR/F9D6EA8CCAA09630E0530905F40A5107/DATAFILE/sysaux.265.1139942759 
    channel ORA_SBT_TAPE_1: restore complete, elapsed time: 00:00:25 channel ORA_SBT_TAPE_1: starting datafile backup set restore 
    channel ORA_SBT_TAPE_1: using network backup set from service DBUKS_898_LHR 
    channel ORA_SBT_TAPE_1: specifying datafile(s) to restore from backup set 
    channel ORA_SBT_TAPE_1: restoring datafile 00007 to +DATA/DBUKS_898_LHR/F9D6EA8CCAA09630E0530905F40A5107/DATAFILE/undotbs1.266.1139942759 
    channel ORA_DISK_1: restore complete, elapsed time: 00:00:18 
    channel ORA_DISK_1: starting datafile backup set restore 
    channel ORA_DISK_1: using network backup set from service DBUKS_898_LHR 
    channel ORA_DISK_1: specifying datafile(s) to restore from backup set 
    channel ORA_DISK_1: restoring datafile 00008 to +DATA/DBUKS_898_LHR/FE812140C0716067E053F6005A0AEB32/DATAFILE/system.273.1139943583 
    channel ORA_SBT_TAPE_1: restore complete, elapsed time: 00:00:04 
    channel ORA_SBT_TAPE_1: starting datafile backup set restore 
    channel ORA_SBT_TAPE_1: using network backup set from service DBUKS_898_LHR 
    channel ORA_SBT_TAPE_1: specifying datafile(s) to restore from backup set 
    channel ORA_SBT_TAPE_1: restoring datafile 00009 to +DATA/DBUKS_898_LHR/FE812140C0716067E053F6005A0AEB32/DATAFILE/sysaux.271.1139943599 
    channel ORA_SBT_TAPE_1: restore complete, elapsed time: 00:00:16 
    channel ORA_SBT_TAPE_1: starting datafile backup set restore 
    channel ORA_SBT_TAPE_1: using network backup set from service DBUKS_898_LHR 
    channel ORA_SBT_TAPE_1: specifying datafile(s) to restore from backup set 
    channel ORA_SBT_TAPE_1: restoring datafile 00010 to +DATA/DBUKS_898_LHR/FE812140C0716067E053F6005A0AEB32/DATAFILE/undotbs1.270.1139943611 
    channel ORA_DISK_1: restore complete, elapsed time: 00:00:20 channel ORA_DISK_1: starting datafile backup set restore 
    channel ORA_DISK_1: using network backup set from service DBUKS_898_LHR 
    channel ORA_DISK_1: specifying datafile(s) to restore from backup set 
    channel ORA_DISK_1: restoring datafile 00011 to +DATA/DBUKS_898_LHR/DATAFILE/users.269.1139943873 channel ORA_SBT_TAPE_1: restore complete, elapsed time: 00:00:02 
    channel ORA_SBT_TAPE_1: starting datafile backup set restore 
    channel ORA_SBT_TAPE_1: using network backup set from service DBUKS_898_LHR channel ORA_SBT_TAPE_1: specifying datafile(s) to restore from backup set 
    channel ORA_SBT_TAPE_1: restoring datafile 00012 to +DATA/DBUKS_898_LHR/FE812140C0716067E053F6005A0AEB32/DATAFILE/users.274.1139943875 
    channel ORA_DISK_1: restore complete, elapsed time: 00:00:02 
    channel ORA_SBT_TAPE_1: restore complete, elapsed time: 00:00:02 
    Finished restore at 04-JUL-23
    exit ;

スタンバイ・データベースの検証

次に、スタンバイ・データベースを検証する必要があります。

  1. データベース名とロールを表示します。SQL>プロンプトから、と入力します。
     select FORCE_LOGGING, FLASHBACK_ON, OPEN_MODE, DATABASE_ROLE, DATAGUARD_BROKER, PROTECTION_MODE from v$database ; 

    次のようなレスポンスが表示されるはずです:

    FORCE_LOGGING         FLASHBACK_ON       OPEN_MODE       DATABASE_ROLE       DATAGUARD_BROKER        PROTECTION_MODE 
    -------------------- ------------------ --------------- ------------------- ------------------------ ---------------------------- 
    YES                  NO                  MOUNTED        PHYSICAL STANDBY       DISABLED              MAXIMUM PERFORMANCE
  2. データベースのアーカイブ プロセス、ステータス スレッド番号、および連番を表示します。
    select sysdate,process,status,thread#,sequence#,block# from v$managed_standby where status!='IDLE'; 

    次のようなレスポンスが表示されるはずです:

    04-JUL-23    ARCH    CONNECTED    0    0    0 
    04-JUL-23    DGRD    ALLOCATED    0    0    0 
    04-JUL-23    DGRD    ALLOCATED    0    0    0 
    04-JUL-23    ARCH    CONNECTED    0    0    0 
    04-JUL-23    ARCH    CONNECTED    0    0    0 
    04-JUL-23    ARCH    CONNECTED    0    0    0 

    さらに、次のように入力します。

    select distinct process from gv$managed_standby; 

    次のようなレスポンスが表示されるはずです:

    PROCESS 
    --------- 
    ARCH 
    DGRD

プライマリ・データベースおよびスタンバイ・データベースへのスタンバイ・ログ・ファイルの追加

スタンバイ・データベースでは、スタンバイ・ログ・ファイルを使用して、プライマリ・データベースからREDOデータを受信します。プライマリ・データベースのオンラインREDOログに書き込まれたレコードは、スタンバイ・データベースに転送され、同時にスタンバイREDOログに書き込まれるため、スタンバイ・データベースでのデータ損失の可能性が最小限に抑えられます。リアルタイム適用にはスタンバイ・レッドログが必須です。
次のステップには、SQL>コマンド・プロンプトを使用します。
  1. まず、スタンバイ・ログ・ファイルをプライマリ・データベースに追加します。
    1. 次のように入力します:
      select group#, type, member from v$logfile; 

      次のようなレスポンスが表示されます。

      GROUP#      TYPE    MEMBER 
      ---------- ------- --------------------------------------------------------- 
      3          ONLINE  +RECO/DBUKS_898_LHR/ONLINELOG/group_3.259.1139942665 
      2          ONLINE  +RECO/DBUKS_898_LHR/ONLINELOG/group_2.258.1139942665 
      1          ONLINE  +RECO/DBUKS_898_LHR/ONLINELOG/group_1.257.1139942665
    2. 次のように入力します:
      select bytes, group# from v$log;
      次のようなレスポンスが表示されます。
      1073741824 1 
      1073741824 3 
      1073741824 2
    3. 次の一連のコマンドを入力します。
      SQL> alter database add standby logfile thread 1 group 5 ('+RECO') size 1073741824;
      alter database add standby logfile thread 1 group 6 ('+RECO') size 1073741824; 
      alter database add standby logfile thread 1 group 7 ('+RECO') size 1073741824;
      各レスポンスは次のようになります。
      Database altered
    4. 次のように入力します:
      select group#, type, member from v$logfile;
      次のようなレスポンスが表示されます。
      GROUP#      TYPE      MEMBER 
      ---------- -------   ------------------------------------------------------- 
      3          ONLINE    +RECO/DBUKS_898_LHR/ONLINELOG/group_3.259.1139942665 
      2          ONLINE    +RECO/DBUKS_898_LHR/ONLINELOG/group_2.258.1139942665 
      1          ONLINE    +RECO/DBUKS_898_LHR/ONLINELOG/group_1.257.1139942665 
      4          STANDBY   +RECO/DBUKS_898_LHR/ONLINELOG/group_4.432.1141789993 
      5          STANDBY   +RECO/DBUKS_898_LHR/ONLINELOG/group_5.431.1141790001 
      6          STANDBY   +RECO/DBUKS_898_LHR/ONLINELOG/group_6.430.1141790011 
      7          STANDBY   +RECO/DBUKS_898_LHR/ONLINELOG/group_7.430.1141790017
    5. ログ・リストをアーカイブします。
      archive log list
  2. 次に、スタンバイ・データベースにスタンバイ・ログ・ファイルを追加します。
    1. 次のように入力します:
      select group#, type, member from v$logfile;
      次のようなレスポンスが表示されます。
      GROUP#      TYPE    MEMBER 
      ---------- ------- ------------------------------------------------------ 
      3          ONLINE  +RECO/DBUKS_R2J_AMS/ONLINELOG/group_3.489.1141280529 
      2          ONLINE  +RECO/DBUKS_R2J_AMS/ONLINELOG/group_2.488.1141280519 
      1          ONLINE  +RECO/DBUKS_R2J_AMS/ONLINELOG/group_1.487.1141280511
    2. 次のように入力します:
      select bytes, group# from v$log;
      次のようなレスポンスが表示されます。
      1073741824 1 
      1073741824 3 
      1073741824 2
    3. 次の一連のコマンドを入力します。
      alter database add standby logfile thread 1 group 4 ('+RECO') size 1073741824;
      alter database add standby logfile thread 1 group 5 ('+RECO') size 1073741824; 
      alter database add standby logfile thread 1 group 6 ('+RECO') size 1073741824; 
      alter database add standby logfile thread 1 group 7 ('+RECO') size 1073741824;
      各コマンドのレスポンスは次のようになります。
      Database altered
    4. 次のように入力します:
      select group#, type, member from v$logfile;
      次のようなレスポンスが表示されます。
      GROUP#      TYPE      MEMBER 
      ---------- -------   ------------------------------------------------------ 
      3          ONLINE    +RECO/DBUKS_898_LHR/ONLINELOG/group_3.489.1141280529 
      2          ONLINE    +RECO/DBUKS_898_LHR/ONLINELOG/group_2.488.1141280519 
      1          ONLINE    +RECO/DBUKS_898_LHR/ONLINELOG/group_1.487.1141280511 
      4          STANDBY   +DATA/DBUKS_R2J_AMS/ONLINELOG/group_4.294.1141283919 
      5          STANDBY   +DATA/DBUKS_R2J_AMS/ONLINELOG/group_5.295.1141283929 
      6          STANDBY   +DATA/DBUKS_R2J_AMS/ONLINELOG/group_6.296.1141283937 
      7          STANDBY   +DATA/DBUKS_R2J_AMS/ONLINELOG/group_7.296.1141283938
  3. プライマリ・データベースの一意名を持つログ・ファイルを削除します。3つのログ・ファイルのうち、1つのファイルが現在のログになるため、現時点では削除できません。このファイルは削除され、後で再作成されます。
    1. 次のように入力します:
      alter database drop logfile group 1;
      次のようなレスポンスが表示されます。
      alter database drop logfile group 1 
      * 
      ERROR at line 1: 
      ORA-01623: log 1 is current log for instance dbuks (thread 1) - cannot drop 
      ORA-00312: online log 1 thread 1: '+RECO/DBUKS_898_LHR/ONLINELOG/group_1.257.1139942665'
    2. 次のように入力します:
      alter database drop logfile group 2; 
      alter database drop logfile group 3;
      各レスポンスは次のようになります。
      Database altered
  4. 次のコマンドを入力して、ログ・ファイルを再作成します。
    alter database add logfile thread 1 group 2 ('+RECO') size 1073741824;
    alter database add logfile thread 1 group 3 ('+RECO') size 1073741824;
    各レスポンスは次のようになります。
    Database altered.

Oracle Data Guard Brokerの構成

次に、Oracle Data Guard Brokerの構成、スタンバイ・データベースの登録、およびプライマリ・データベースとスタンバイ・データベースの同期を行います。プライマリ・データベースおよびスタンバイ・データベースでdg_broker_config_fileパラメータを有効にして、Oracle Data Guard Brokerを構成します。Oracle Automatic Storage Management (Oracle ASM)の場合は、ブローカ構成ファイルを別のディスク・グループに配置します。Oracle Real Application Clusters(Oracle RAC)の場合、ブローカ構成ファイルは共有記憶域にある必要があります。
  1. プライマリ・データベースおよびスタンバイ・データベースのdg_broker_start値を確認します。Trueに設定されていることを確認します。SQLコマンドラインで、次のように入力します。
    show parameter dg_broker_start;
    次のように出力されます。
    NAME                                  TYPE         VALUE 
    ------------------------------------ ----------- ------------------------------ 
    dg_broker_start                       boolean      TRUE 
    dg_broker_startFALSEに設定されている場合は、次のステップに進む前に、パラメータをTRUEに設定します。次のように入力します。
    alter system set dg_broker_start=true; 
    select pname from v$process where pname like 'DMON%';
    次のように出力されます。
    PNAME 
    ----- 
    DMON
  2. プライマリ・データベースのOracle Data Guardファイルを確認します。
    show parameter dg_broker_config_file1;
    show parameter dg_broker_config_file2;
    Oracle RACまたはOracle ASMがある場合は、構成ファイルの場所を変更できます。次に例を示します。
    alter system set dg_broker_config_file1=broker_config_file_location; 
    alter system set dg_broker_config_file2=broker_config_file_location; 
  3. プライマリ・データベースとスタンバイ・データベースを登録します。
    Oracle Data Guardコマンドライン・インタフェース(DGMGRL)を使用して、プライマリ・データベースを登録し、ブローカ構成にスタンバイ・データベース・プロファイルを追加します。
    1. sysとしてプライマリ・ホストにログインします。
      dgmgrl sys/password@net_service_name_for_primary
    2. プライマリ・データベース名を使用する構成を作成します。
      CREATE CONFIGURATION configuration_name AS PRIMARY DATABASE IS primary_database_name CONNECT IDENTIFIER IS primary_database_name; 
      次のように出力されます。
      CREATE CONFIGURATION dbuks_898_lhr_dbuks_r2j_ams AS PRIMARY DATABASE IS dbuks_898_lhr CONNECT IDENTIFIER IS dbuks_898_lhr;
    3. スタンバイ・データベースを追加します。
      ADD DATABASE standby unique database name AS CONNECT IDENTIFIER IS standby unique database name MAINTAINED AS PHYSICAL;
      たとえば次のようにします。
      ADD DATABASE dbuks_r2j_ams AS CONNECT IDENTIFIER IS dbuks_r2j_ams MAINTAINED AS PHYSICAL; 
      
      次のように出力されます。
      Database "dbuks_r2j_ams" added
  4. 構成を有効にします。
    enable configuration;
  5. 構成を表示します。
    1. 次のように入力します:
      show configuration; 

      ノート:

      適用ラグを特定できなかったという警告が表示された場合は、sqlplusを使用してプライマリ・データベースにログインし、いくつかのログ・スイッチを実行します。
      次のように出力されます。
      Configuration - dbuks_898_lhr_dbuks_r2j_ams 
      Protection Mode: MaxPerformance 
      Members: 
      dbuks_898_lhr - Primary database 
      dbuks_r2j_ams - Physical standby database 
      Fast-Start Failover: Disabled 
      Configuration Status: 
      SUCCESS (status updated 36 seconds ago)
    2. プライマリ・データベースの構成を表示します(この例ではdbuks_898_lhr)。
      show database dbuks_898_lhr 
      次のようなレスポンスが表示されます。
      Database - dbuks_898_lhr 
      Role: PRIMARY 
      Intended State: TRANSPORT-ON 
      Instance(s): 
      dbuks 
      Database Status: 
      SUCCESS
    3. スタンバイ・データベースの構成を表示します(この例ではdbuks_r2j_ams)。
      show database dbuks_r2j_ams 
      次のようなレスポンスが表示されます。
      Database - dbuks_r2j_ams 
      Role: PHYSICAL STANDBY 
      Intended State: APPLY-ON 
      Transport Lag: 0 seconds (computed 1 second ago) 
      Apply Lag: 0 seconds (computed 0 seconds ago) 
      Average Apply Rate: 59.00 KByte/s 
      Real Time Query: ON 
      Instance(s): 
      dbuks 
      Database Status: 
      SUCCESS

レプリケーションの確認

スタンバイ・データベースは、プライマリ・データベースから受信したREDOの適用を開始する必要があります。

次のステップには、SQL>コマンド・プロンプトを使用します。
  1. MRPプロセスを確認します。
    1. 次のように入力します:
      select sysdate, process, status, thread#, sequence#, block# 
      from v$managed_standby 
      where status!='IDLE';
      次のように出力されます。
      SYSDATE    PROCESS     STATUS         THREAD#      SEQUENCE#    BLOCK# 
      ---------  ---------  ------------   ----------   ----------   ---------- 
      10-JUL-23  DGRD       ALLOCATED          0            0            0 
      10-JUL-23  ARCH       CONNECTED          0            0            0 
      10-JUL-23  DGRD       ALLOCATED          0            0            0 
      10-JUL-23  ARCH       CONNECTED          0            0            0 
      10-JUL-23  ARCH       CONNECTED          0            0            0 
      10-JUL-23  ARCH       CONNECTED          0            0            0 
      10-JUL-23  RFS        RECEIVING          1           417          2413 
      10-JUL-23  MRP0       APPLYING_LOG       1           417          2412
    2. Data Guardプロセスを表示します。
      select distinct process from gv$managed_standby;
      次のように出力されます。
      PROCESS 
      --------- 
      DGRD 
      RFS 
      MRP0 
      ARCH
    3. これで、スタンバイ・データベースがREDOログの適用を開始しました。プライマリ・データベースでいくつかのログ・スイッチを実行し、スタンバイ・データベースで再度確認します。
      select sysdate, process, status, thread#, sequence#, block#from v$managed_standbywhere status!='IDLE';
      次のように出力されます。
      SYSDATE      PROCESS    STATUS          THREAD#     SEQUENCE#     BLOCK#
      ---------   ---------   ------------   ----------   ----------   ----------
      04-JUL-23   DGRD        ALLOCATED           0           0           0
      04-JUL-23   ARCH        CONNECTED           0           0           0
      04-JUL-23   DGRD        ALLOCATED           0           0           0
      04-JUL-23   ARCH        CLOSING             1          253          1
      04-JUL-23   ARCH        CONNECTED           0           0           0
      04-JUL-23   ARCH        CLOSING             1          252          1
      04-JUL-23   MRP0        APPLYING_LOG        1          254          17
      04-JUL-23   RFS         RECEIVING           1          254          18
    4. ログ・リストをプライマリ・データベースにアーカイブします。
      archive log list
      次のように出力されます。
      Database log mode Archive Mode 
      Automatic archival Enabled 
      Archive destination USE_DB_RECOVERY_FILE_DEST 
      Oldest online log sequence 415 
      Next log sequence to archive 417 
      Current log sequence 417 
      さらに、次のように入力します。
      alter system switch logfile;
      次のレスポンスを受け取ります:
      System altered.
      次のように入力します:
       / 
      次のように表示されます:
      System altered.
      次に、ログ・リストをアーカイブします。
      archive log list 
      次のレスポンスを受け取ります:
      Database log mode Archive Mode 
      Automatic archival Enabled 
      Archive destination USE_DB_RECOVERY_FILE_DEST 
      Oldest online log sequence 417 
      Next log sequence to archive 419 
      Current log sequence 419
    5. ログ・リストをスタンバイ・データベースにアーカイブし、次のように入力します。
      select sysdate, process, status, thread#, sequence#, block# 
      from v$managed_standby 
      where status!='IDLE';

      次のレスポンスを受け取ります:

      SYSDATE      PROCESS     STATUS        THREAD#      SEQUENCE#      BLOCK#
      ---------    ---------  ------------ ----------    ----------     ----------
      10-JUL-23    DGRD       ALLOCATED         0             0             0
      10-JUL-23    ARCH      CONNECTED          0             0             0
      10-JUL-23    DGRD      ALLOCATED          0             0             0
      10-JUL-23    ARCH      CLOSING            1            418            1
      10-JUL-23    ARCH      CONNECTED          0             0             0
      10-JUL-23    ARCH      CLOSING            1            417          2048
      10-JUL-23    RFS       RECEIVING          1            419           59
      10-JUL-23    MRP0      APPLYING_LOG       1            419           58
  2. スタンバイ・データベースでフラッシュバックを有効にします。
    1. 次のように入力します:
      ALTER DATABASE RECOVER MANAGED STANDBY DATABASE cancel; 
      SQL> alter database flashback on;
      各コマンドの後に、次が表示されます。
      Database altered
    2. データベース・フラッシュバックが有効になっていることを確認します(オン)。
      select flashback_on from v$database;
      次のように出力されます。
      FLASHBACK_ON 
      ------------------ 
      YES 
    3. さらに、次のように入力します。
      recover managed standby database using current logfile disconnect from session;
      次のように表示されます:
      Media recovery complete.
  3. データベースの詳細を表示します。
    select FORCE_LOGGING, FLASHBACK_ON, OPEN_MODE, DATABASE_ROLE, DATAGUARD_BROKER, PROTECTION_MODE from v$database ;
    次のように出力されます。
    FORCE_LOGGING   FLASHBACK_ON   OPEN_MODE   DATABASE_ROLE     DATAGUARD_BROKER   PROTECTION_MODE 
    ---------------------------------------------------------- --------------- ----- ----------------------- ----------------------------- 
    YES             YES            MOUNTED     PHYSICAL STANDBY  ENABLED          MAXIMUM PERFORMANCE
  4. サーバー制御ユーティリティ(srvctl)を使用して、スタンバイ・データベースを停止します。
    srvctl stop database -d db_unique_name
    出力は次のようになります。
    srvctl stop database -d dbuks_r2j_ams
  5. サーバー制御ユーティリティを使用して、スタンバイ・データベースを起動します。
    srvctl start database -d db_unique_name
    出力は次のようになります。
    srvctl start database -d dbuks_r2j_ams
  6. データベースの詳細を表示します。
    select FORCE_LOGGING, FLASHBACK_ON, OPEN_MODE, DATABASE_ROLE, DATAGUARD_BROKER, PROTECTION_MODE from v$database ;
    出力は次のようになります。
     FORCE_LOGGING   FLASHBACK_ON   OPEN_MODE               DATABASE_ROLE      DATAGUARD_BROKER     PROTECTION_MODE 
    -----------------------------------------------------------------------   -------------------- ----------------------- 
    YES             YES             READ ONLY WITH APPLY   PHYSICAL STANDBY   ENABLED               MAXIMUM PERFORMANCE
  7. プライマリからさらにいくつかのログ・ファイル・スイッチを与え、REDOがスタンバイに適用されていることを確認できるようになりました。
  8. プライマリ一意の名前で存在する保留中のログ・ファイルを再作成します。次のコマンドを入力します。
    ALTER DATABASE RECOVER MANAGED STANDBY DATABASE cancel; 
    alter database drop logfile group 1;
    alter database add standby logfile thread 1 group 1 ('+RECO') size 1073741824;
    
    各コマンドの後に、次が表示されます。
    Database altered.
    最後に、次のように入力します。
    recover managed standby database using current logfile disconnect from session; 
    次のように表示されます:
    Media recovery complete.