Data Guard:REDO適用サービスの構成(11g)

1. 検証用フィジカル・スタンバイの作成

プライマリDBのログ転送サービスの構成 ログ転送サービスがARCHモードでARCnによるREDOログを転送している

PROD(SYS)> select name, db_unique_name, protection_mode, database_role from v$database;

NAME      DB_UNIQUE_NAME                 PROTECTION_MODE      DATABASE_ROLE
--------- ------------------------------ -------------------- ----------------
PROD      PROD                           MAXIMUM PERFORMANCE  PRIMARY

PROD(SYS)>  show parameter log_archive_dest_2

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_2                   string      SERVICE=PRODSTB ASYNC VALID_FO
                                                 R=(ONLINE_LOGFILES,PRIMARY_ROL
                                                 E) DB_UNIQUE_NAME=PRODSTB REOP
                                                 EN=30
PROD(SYS)>

スタンバイDBのログ転送サービスの構成(プライマリロールに変える時に機能する)
PRODSTB(SYS)> select name, db_unique_name, protection_mode, database_role from v$database;

NAME      DB_UNIQUE_NAME                 PROTECTION_MODE      DATABASE_ROLE
--------- ------------------------------ -------------------- ----------------
PROD      PRODSTB                        MAXIMUM PERFORMANCE  PHYSICAL STANDBY

PRODSTB(SYS)> show parameter log_archive_dest_2

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_2                   string      SERVICE=PROD ASYNC VALID_FOR=(
                                                 ONLINE_LOGFILES,PRIMARY_ROLE)
                                                 DB_UNIQUE_NAME=PROD REOPEN=30

2. リアルタイム適用によるREDOデータの即時適用

2.1 LGWR転送サービスを使用するためにスタンバイREDOを作成

プライマリデータベースでスタンバイREDOロググループ作成(スタンバイロールになるため)

PROD(SYS)> alter database add standby logfile 
        ('/u01/app/oracle/oradata/PROD/stb_redo04_01.log','/u01/app/oracle/oradata/PROD/stb_redo04_02.log') size 100m;

Database altered.

PROD(SYS)> alter database add standby logfile 
        ('/u01/app/oracle/oradata/PROD/stb_redo05_01.log','/u01/app/oracle/oradata/PROD/stb_redo05_02.log') size 100m;

Database altered.

PROD(SYS)> alter database add standby logfile 
        ('/u01/app/oracle/oradata/PROD/stb_redo06_01.log','/u01/app/oracle/oradata/PROD/stb_redo06_02.log') size 100m;

Database altered.
PROD(SYS)> select * from v$standby_log;

    GROUP# DBID          THREAD#  SEQUENCE#      BYTES       USED ARC STATUS     FIRST_CHANGE# FIRST_TIM LAST_CHANGE# LAST_TIME
---------- ---------- ---------- ---------- ---------- ---------- --- ---------- ------------- --------- ------------ ---------
         4 UNASSIGNED          0          0  104857600        512 YES UNASSIGNED             0                      0
         5 UNASSIGNED          0          0  104857600        512 YES UNASSIGNED             0                      0
         6 UNASSIGNED          0          0  104857600        512 YES UNASSIGNED             0                      0

PROD(SYS)>

スタンバイデータベースでスタンバイREDOロググループ作成
PRODSTB(SYS)> recover managed standby database cancel;
Media recovery complete.
PRODSTB(SYS)> alter database add standby logfile 
        ('/u01/app/oracle/oradata/PRODSTB/stb_redo04_01.log','/u01/app/oracle/oradata/PRODSTB/stb_redo04_02.log') size 100m;

Database altered.

PRODSTB(SYS)> alter database add standby logfile 
        ('/u01/app/oracle/oradata/PRODSTB/stb_redo05_01.log','/u01/app/oracle/oradata/PRODSTB/stb_redo05_02.log') size 100m;

Database altered.

PRODSTB(SYS)> alter database add standby logfile 
        ('/u01/app/oracle/oradata/PRODSTB/stb_redo06_01.log','/u01/app/oracle/oradata/PRODSTB/stb_redo06_02.log') size 100m;

Database altered.

PRODSTB(SYS)> recover managed standby database disconnect;
Media recovery complete.
PRODSTB(SYS)> col dbid format a10
PRODSTB(SYS)> set lines 150
PRODSTB(SYS)> select * from v$standby_log;

    GROUP# DBID          THREAD#  SEQUENCE#      BYTES       USED ARC STATUS     FIRST_CHANGE# FIRST_TIM LAST_CHANGE# LAST_TIME
---------- ---------- ---------- ---------- ---------- ---------- --- ---------- ------------- --------- ------------ ---------
         4 UNASSIGNED          0          0  104857600        512 YES UNASSIGNED             0                      0
         5 UNASSIGNED          0          0  104857600        512 YES UNASSIGNED             0                      0
         6 UNASSIGNED          0          0  104857600        512 YES UNASSIGNED             0                      0

PRODSTB(SYS)>
2.2 LGWRログ転送サービスへ変更

プライマリデータベース

PROD(SYS)> alter system set log_archive_dest_2='service=PRODSTB LGWR SYNC valid_for=(online_logfiles,primary_role) 
        db_unique_name=PRODSTB reopen=30' scope=both;

System altered.

PROD(SYS)> alter system switch logfile;

System altered.

PROD(SYS)> select sequence#,archived,applied from v$archived_log where sequence# > 75;

 SEQUENCE# ARC APPLIED
---------- --- ---------
        76 YES YES
        76 YES NO
        77 YES NO
        77 YES NO
        78 YES NO
        78 YES NO

6 rows selected.

PROD(SYS)>

スタンバイデータベース(プライマリになるため)
PRODSTB(SYS)> alter system set log_archive_dest_2='service=PROD LGWR SYNC valid_for=(online_logfiles,primary_role) 
        db_unique_name=PROD reopen=30' scope=both;

System altered.

PRODSTB(SYS)> select sequence#,archived,applied from v$archived_log where sequence# > 75;

 SEQUENCE# ARC APPLIED
---------- --- ---------
        76 YES YES
        77 YES YES
        78 YES YES

PRODSTB(SYS)>
2.3 リアルタイム適用によるREDOデータの即時適用

スタンバイデータベース

PRODSTB(SYS)> recover managed standby database cancel;
Media recovery complete.
PRODSTB(SYS)> recover managed standby database using current logfile disconnect;
Media recovery complete.
PRODSTB(SYS)> col dest_name format a40
PRODSTB(SYS)> select dest_name,recovery_mode from v$archive_dest_status where dest_id=1;

DEST_NAME                                RECOVERY_MODE
---------------------------------------- -----------------------
LOG_ARCHIVE_DEST_1                       MANAGED REAL TIME APPLY

PRODSTB(SYS)>
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License