使用例6: ソースPDBに対するData Guard保護の構成
newyork
コンテナ・データベース内のターゲットPDB nyc_sales
を構成することで、ソースPDB bos_sales
に対してData GuardによるPDBレベルの保護を構成します。これは、次の4つのタスクで実装されます:
ADD PLUGGABLE DATABASE
コマンドを実行してターゲット・コンテナ・データベースにターゲットPDBを作成します。- ソースPDBに関連付けられているすべてのファイルをターゲットPDBの場所にコピーすることで、ターゲットPDBをインスタンス化します。
- 外部ソースのREDOを受け取る、PDBレベルのスタンバイREDOログ・ファイル(SRL)を作成します。
- ソースPDBからターゲットPDBへのREDO転送を開始します。
ADD PLUGGABLE DATABASE
コマンドを実行します。
DGMGRL> ADD PLUGGABLE DATABASE 'nyc_sales' AT newyork SOURCE is 'bos_sales' AT boston PDBFileNameConvert is
"'/BOSTON/bos_sales/','/NEWYORK/nyc_sales/'";
Pluggable Database "NYC_SALES" added
タスク2: ターゲットPDBをインスタンス化します。
ターゲット・システムで、ターゲットPDBファイルを格納するディレクトリを作成します。このディレクトリの名前と場所、およびコピーしたファイルの名前と場所が、
ADD PLUGGABLE DATABASE
コマンドのPDBFileNameConvert
句で指定されているルールに従っている必要があります。<myowner>と<nychost>を、ご使用の環境に適した値に置き換えてください。
$ cd $ORACLE_BASE/oradata/NEWYORK
$ mkdir nyc_sales
ソースPDBファイルをこのディレクトリにコピーします。この例では、Linuxオペレーティング・システムのセキュア・コピー・コマンドscpを使用してこのタスクを実行します。 ソース・ホストで、SYSDBAとしてソースCDB bostonに接続し、次のSQLコマンドを発行します:
SQL> ALTER SESSION SET CONTAINER=bos_sales;
Session altered.
SQL> ALTER DATABASE BEGIN BACKUP;
Database altered.
SQL> host scp -r $ORACLE_BASE/oradata/BOSTON/bos_sales/*
<myowner>@<nychost>:$ORACLE_BASE/oradata/NEWYORK/nyc_sales
sysaux01.dbf 100% 930MB 22.4MB/s 00:41
system01.dbf 100% 310MB 27.7MB/s 00:11
temp01.dbf 100% 20MB 92.0MB/s 00:00
undotbs01.dbf 100% 100MB 54.9MB/s 00:01
users01.dbf 100% 5128KB 55.0MB/s 00:00
SQL> ALTER DATABASE END BACKUP; Database altered.
タスク3: PDBレベルのスタンバイREDOログ・ファイルを作成します。
この手順は、ターゲットPDBをコンテナ・データベース内で初めて構成するときにのみ実行します。
従来のData Guardデプロイメントの場合、スタンバイREDOログ・ファイル(SRL)は、通常は、スタンバイ・データベースを作成する前にCDBレベルでプライマリ・データベースに追加されます。そのため、RMANによってこれらのファイルが、それ以降にプライマリ・データベースから作成されたすべてのスタンバイ・データベースに自動的に伝播されます。
一方、DGPDBデプロイメントの場合、SRLは、初期DGPDB構成および1つ以上のターゲットPDBが作成された後に、PDBレベルで追加されます。PDBレベルのSRLは、ターゲット・ロールのPDBにのみ追加できます。CDBにターゲット・ロールのPDBが複数ある場合は、これらすべてのターゲットPDBで、その対応するソースPDBからREDOを受け取る同じ一連のPDBレベルSRLが共有されます。また、CDBにターゲット・ロールのPDBがない場合、そのCDBに対してPDBレベルのSRLを作成するには、1つのPDBをソース・ロールからターゲット・ロールに変更する必要があります。構成例では、使用例7: ソースPDBからターゲットPDBへのスイッチオーバーで、PDBレベルのSRLが現在のソースPDB bos_sales
に追加されます。
ターゲットCDB
newyork
にSYSDBAとして接続し、次のSQLコマンドを発行してPDBレベルのSRLを追加します。なお、PDBレベルのSRL用に指定するサイズはソース・コンテナ・データベースのオンラインREDOログ・ファイル(ORL)と同じサイズである必要があります。また、通常は、ソースCDBからのREDOを受け取ることができるターゲットPDBレベルの空きSRLが必ず存在するようにPDBレベルのSRLの数がソースORLの数より1つ多くなります。
SQL> ALTER SESSION SET CONTAINER=nyc_sales;
Session altered.
SQL> ALTER DATABASE ADD STANDBY LOGFILE thread 1
2 group 4 ('$ORACLE_BASE/fast_recovery_area/NEWYORK/onlinelog/standby_redo04.log') size 200M,
3 group 5 ('$ORACLE_BASE/fast_recovery_area/NEWYORK/onlinelog/standby_redo05.log') size 200M,
4 group 6 ('$ORACLE_BASE/fast_recovery_area/NEWYORK/onlinelog/standby_redo06.log') size 200M,
5 group 7 ('$ORACLE_BASE/fast_recovery_area/NEWYORK/onlinelog/standby_redo07.log') size 200M;
Database altered.
VALIDATE PLUGGABLE DATABASE
コマンドを使用して、PDBレベルのスタンバイREDOログ・ファイルが正常に作成されていることを確認します:
DGMGRL> VALIDATE PLUGGABLE DATABASE nyc_sales AT newyork;
Ready for Switchover: NO
Data Guard Role: Physical Standby
Apply State: Not Running
Standby Redo Log Files: 4
Source: BOS_SALES (con_id 3) at boston
タスク4: ソースPDBからターゲットPDBへのREDO転送を開始します。
なお、REDO Applyは実行されていません。DGMGRLを使用してターゲットPDBでREDO Applyを起動します。
DGMGRL> EDIT PLUGGABLE DATABASE nyc_sales AT newyork SET STATE='APPLY-ON';
Succeeded.
DGMGRL> SHOW CONFIGURATION;
Configuration - Boston
Protection Mode: MaxPerformance
Members:
boston - Primary database
newyork - Primary database in NewYork configuration
Data Guard for PDB: Enabled in SOURCE role
Configuration Status:
SUCCESS (status updated 3 seconds ago)
DGMGRL> SHOW PLUGGABLE DATABASE bos_sales AT boston;
Pluggable database - BOS_SALES at boston
Data Guard Role: Primary
Con_ID: 3
Active Target: con_id 3 at newyork
Pluggable Database Status:
SUCCESS
DGMGRL> SHOW PLUGGABLE DATABASE nyc_sales AT newyork;
Pluggable database - NYC_SALES at newyork
Data Guard Role: Physical Standby
Con_ID: 3
Source: con_id 3 at boston
Transport Lag: 13 minutes 11 seconds (computed 59 seconds ago)
Apply Lag: (unknown)
Intended State: APPLY-ON
Apply State: Running
Apply Instance: newyork
Average Apply Rate: (unknown)
Real Time Query: OFF
Pluggable Database Status:
SUCCESS
REDO ApplyはターゲットPDBで実行されていますが転送ラグがあることに注意してください。ソースCDB boston
にSYSDBAとして接続し、現在のログを数回アーカイブして、新しく構成されたスタンバイREDOログ・ファイルへのREDO転送を開始します。
SQL> ALTER SYSTEM ARCHIVE LOG CURRENT;
System altered.
SQL> ALTER SYSTEM ARCHIVE LOG CURRENT;
System altered.
ターゲットPDBの状態を再度確認すると、ターゲットPDBによって、転送ラグも適用ラグもなしでソースPDBが保護されていることがわかります。
DGMGRL> SHOW PLUGGABLE DATABASE nyc_sales AT newyork;
Pluggable database - NYC_SALES at newyork
Data Guard Role: Physical Standby
Con_ID: 3
Source: con_id 3 at boston
Transport Lag: 0 seconds (computed 0 second ago)
Apply Lag: 0 seconds (computed 0 second ago)
Intended State: APPLY-ON
Apply State: Running
Apply Instance: newyork
Average Apply Rate: 178 KByte/s
Real Time Query: OFF
Pluggable Database Status:
SUCCESS
次の使用例でもこのDGMGRLセッションを引き続き使用します。