多くの AWS ユーザーは、日々のアクティビティの骨の折れる作業に AWS ポートフォリオで利用できるマネージドサービスを活用しています。Amazon RDS はこれらのサービスの 1 つであり、リレーショナルデータベースのデプロイに最適です。RDS を使って、リレーショナルデータベースの管理と保守の管理費用を大幅に削減できます。
この記事では、あるリージョンから別のリージョンに実行されているデータベースインスタンスの Amazon RDS for Oracle でリージョン間の災害復旧 (DR) をセットアップする方法を示します。ソリューションは、Amazon EC2 インスタンスハブにインストールされた、Oracle GoldenGate を使用することです。そのインスタンスハブは、DDL レプリケーションを実行するために統合キャプチャモードで設定されたものです。
概要
次の要因に応じて、DR を実装する方法は複数あります。
- 目標復旧時間 (RTO) および目標復旧ポイント (RPO)
- DR サイトのセットアップと保守のコストと管理タスク
- 地理的多様性のための DR サイトの場所
Amazon RDS for Oracle は、マルチ AZ 配置オプションを提供し、データベース (DB) インスタンスの可用性と耐久性を強化しています。これは、多くの場合、一部の顧客ユースケースに効果的な DR ソリューションです。DR サイトを 2 つの異なるリージョンに分散する必要がある場合、DR にマルチ AZ を使用することはできません。ただし、前述の要因に応じて、このようなソリューションを実装する方法はいくつかあります。
ソリューションのアーキテクチャ
ソリューションは、次のコンポーネントで構成されています。
- GoldenGate ハブインスタンスとして設定された EC2 インスタンス (RHEL 7.4 AMI)。
- ハブインスタンスには、ソース DB 用とターゲット DB 用の 2 つの異なる Oracle GoldenGate ホーム (OGGSRC および OGGTRG) で設定された、Oracle GoldenGate ソフトウェアバージョン 12.3.0.1.4 があります。
- ハブインスタンスには、Oracle Database バージョン 12.1.0.2 もあります。
- us-east-1 で 12.1.0.2.v14 バージョンを実行している Oracle DB インスタンス用のソース RDS
- us-west-2 で 12.1.0.2.v14 バージョンを実行している Oracle DB インスタンス用のターゲット RDS
この記事では、RDS Oracle DB バージョン 12.1.0.2.v14 および Oracle GoldenGate バージョン 12.3.0.1.4 でソリューションをテストしました。ただし、RDS for Oracle にはサポートされている最新の DB エンジンバージョンを使用する必要があります。
以下の図は、このソリューションのアーキテクチャを示しています。
ソリューションのデプロイ
高レベルのデプロイ手順は次のとおりです。
- ソース RDS Oracle データベースを作成します。
- ターゲット RDS Oracle データベースを作成します。
- ソースデータベース用に EC2 で GoldenGate ハブを設定します。
- ターゲットデータベース用に EC2 で GoldenGate ハブを設定します。
- DDL および DML レプリケーションのセットアップをテストします。
ソース RDS Oracle データベースの作成
ソース RDS Oracle データベースをセットアップするには、次の手順を実行します。
- ソース RDS データベースで GoldenGate レプリケーションパラメータを有効にします。
ソースリージョンで enable_goldengate_replication
を true
に設定して、新しいデータベースパラメータグループを作成します。パラメータグループの作成方法の詳細については、「DB パラメータグループの作成」を参照してください。
- Oracle DB インスタンス用のソース RDS を作成します。
新しいカスタム DB パラメータグループを使用して、us-east-1
リージョンにエンジンバージョン 12.1.0.2v14 で Oracle DB インスタンス (OGGSRC) 用のソース RDS を作成します。ソース RDS Oracle DB インスタンスで自動バックアップを有効にしてください。この記事のデータベースは一般公開されています。詳細については、「Oracle DB インスタンスの作成および Oracle DB インスタンス上のデータベースへの接続」を参照してください。
次のスクリーンショットは、ソースおよびターゲット RDS DB インスタンスのエンドポイント (DNS 名) とポート番号を示しています。
データベースの接続情報を示す RDS コンソールのスクリーンショット
- GoldenGate を使用してレプリケーション用のソースデータベースをセットアップします。
a.) ソースデータベース OGGSRC に RDS マスターユーザー (この記事ではユーザーは admin) として接続し、GoldenGate レプリケーションパラメータが true
に設定されていることを確認します。次のコードを参照してください。
[oracle@ip-172-31-30-239 admin]$ sqlplus admin/xxxxxxxxx@OGGSRC
SQL> show parameter enable_goldengate_replication
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
enable_goldengate_replication boolean TRUE
SQL>
b.) 次のコードを使用して、OGGSRC データベースで補足ログを有効にします。
[oracle@ip-172-31-30-239 admin]$ sqlplus admin/xxxxxxxxx@OGGSRC
SQL> exec rdsadmin.rdsadmin_util.set_configuration('archivelog retention hours',24);
exec rdsadmin.rdsadmin_util.force_logging(p_enable => true);
exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD');
exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD','PRIMARY KEY');
exec rdsadmin.rdsadmin_util.alter_supplemental_logging( p_action => 'ADD',p_type => 'ALL');
exec rdsadmin.rdsadmin_util.switch_logfile;
PL/SQL procedure successfully completed.
SQL>
c.) 次のコードを使用して、OGGSRC データベースでサプリメンタルロギングが有効になっていることを確認します。
[oracle@ip-172-31-30-239 admin]$ sqlplus admin/xxxxxxxxx@OGGSRC
SQL> select supplemental_log_data_min, force_logging FROM v$database;
SUPPLEME FORCE_LOGGING
-------- ---------------------------------------
YES YES
SQL>
- ソースデータベースで Oracle GoldenGate レプリケーションユーザーを設定します。
ソースデータベース OGGSRC に管理ユーザーとして接続し、Oracle GoldenGate レプリケーションユーザー (OGGUSER) を設定します。次のコードを参照してください。
[oracle@ip-172-31-30-239 admin]$ sqlplus admin/xxxxxxxxx@OGGSRC
SQL> create user OGGUSER identified by xxxxxxxxx default tablespace USERS temporary tablespace TEMP;
User created.
SQL> grant DBA to OGGUSER;
Grant succeeded.
SQL> create tablespace srcdata datafile size 50M autoextend on extent management local uniform size 256k;
Tablespace created.
SQL> create user OGGSRC identified by xxxxxxxxx default tablespace SRCDATA temporary tablespace TEMP;
User created.
SQL> grant CONNECT,RESOURCE to OGGSRC;
Grant succeeded.
SQL> alter user OGGSRC quota unlimited on SRCDATA;
User altered.
SQL>
簡単にするために、この記事では GoldenGate ユーザーに DBA 権限を割り当てています。ベストプラクティスは、DBA 権限を付与するのではなく、必要な特定の GoldenGate 権限を付与することです。詳細については、Oracle ウェブサイトの「適切なユーザー特権を付与する」を参照してください。
ターゲット RDS Oracle データベースの作成
ターゲット RDS Oracle データベースをセットアップするには、次の手順を実行します。
- ターゲット RDS データベースで GoldenGate レプリケーションパラメータを有効にします。
ターゲットリージョンで enable_goldengate_replication
を true
に設定して、新しいデータベースパラメータグループを作成します。詳細については、「DB パラメータグループの作成」を参照してください。
- ターゲットリージョンで Oracle DB インスタンス用のターゲット RDS を作成します。
前の手順で作成した新しいカスタム DB パラメータグループを使用して、us-west-2
リージョンにエンジンバージョン 12.1.0.2v14 で Oracle DB インスタンス (OGGTRG) 用のターゲット RDS を作成します。Oracle DB インスタンス用のターゲット RDS で自動バックアップを有効にしてください。この記事のデータベースは一般公開されています。詳細については、「Oracle DB インスタンスの作成および Oracle DB インスタンス上のデータベースへの接続」を参照してください。
次のスクリーンショットは、ターゲット RDS DB インスタンスのエンドポイント (DNS 名) とポート番号を示しています。
データベースの接続情報を示す RDS コンソールのスクリーンショット
- ターゲットデータベースで Oracle GoldenGate レプリケーションユーザーを設定します。
管理ユーザーとしてターゲットデータベース OGGTRG に接続し、Oracle GoldenGate レプリケーションユーザー (OGGUSER) を設定します。次のコードを参照してください。
[oracle@ip-172-31-30-239 admin]$ sqlplus admin/xxxxxxxxx@OGGTRG
SQL> create tablespace trgdata datafile size 50M autoextend on extent management local uniform size 256k;
Tablespace created.
SQL> create user OGGUSER identified by xxxxxxxxx default tablespace USERS temporary tablespace TEMP;
User created.
SQL> grant DBA to OGGUSER;
Grant succeeded.
SQL> create user OGGTRG identified by xxxxxxxxx default tablespace TRGDATA temporary tablespace TEMP;
User created.
SQL> alter user OGGTRG quota unlimited on TRGDATA;
User altered.
SQL> grant CONNECT,RESOURCE to OGGTRG;
Grant succeeded.
SQL>
ソースデータベース用に EC2 で GoldenGate ハブを設定する
次のステップは、ソース OGGSRC データベースと同じリージョンにインストールされた Oracle Database 12c 12.1.0.2.0 バージョンと GoldenGate 12.3.0.1.4 ソフトウェアを完全にインストールして、EC2 に GoldenGate ハブインスタンスを作成することです。EC2 インスタンスの作成の詳細については、「EC2 リソースの作成と EC2 インスタンスの起動」を参照してください。GoldenGate のインストールの詳細については、Oracle ドキュメントライブラリを参照してください。
Oracle Database 12c ソフトウェアは、Optimal Flexible Architecture (OFA) 標準に従って EC2 ハブインスタンスにインストールされます。ORACLE_HOME は、「/u01/app/oracle/product/12c/db1
」にあります。
同じ EC2 ホストに次の 2 つの Oracle GoldenGate ホームがあります。
- ソース「
/u01/app/oracle/product/ogg_src
」用の OGG ホーム
- ターゲット「
/u01/app/oracle/product/ogg_trg
」用の OGG ホーム
GoldenGate ハブインスタンスを設定するには、次の手順を実行します。
- EC2 ハブインスタンスからソースおよびターゲット DB への接続を確立します。
OGGUSER を使用してソースおよびターゲットデータベースに接続するように EC2 ハブインスタンスを設定します。前述のように、OGGSRC および OGGTRG データベースの DNS エンドポイントエントリを使用して、EC2 ハブインスタンス上の tnsnames.ora
ファイルを更新します。次のコードを参照してください。
[oracle@ip-172-31-19-223 ~]$ echo $TNS_ADMIN
/u01/app/oracle/product/12c/db_1/network/admin
[oracle@ip-172-31-19-223 ~]$ vi $TNS_ADMIN/tnsnames.ora
# tnsnames.ora Network Configuration File:
/u01/app/oracle/product/12c/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
OGGTRG.WORLD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = oggtrg1.xxxxxxxxxx.us-west-2.rds.amazonaws.com)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = OGGTRG)
)
)
OGGSRC.WORLD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = oggsrg1. xxxxxxxxxx.us-east-1.rds.amazonaws.com)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = OGGSRC)
)
)
- 次のコードを使用して、ソース RDS DB の OGG (OGGSRC) を設定します。
GGSCI (ip-172-31-19-223.ec2.internal) 2>edit param mgr
PORT 7809
DynamicPortList 20000-20099
PurgeOldExtracts ./dirdat/*, UseCheckPoints, MinKeepHours 2
Autostart Extract E*
AUTORESTART Extract *, WaitMinutes 1, Retries 3
GGSCI (ip-172-31-19-223.ec2.internal) 3> start mgr
Manager started.
GGSCI (ip-172-31-19-223.ec2.internal) 4> info mgr detail
Manager is running (IP port ip-172-31-19-223.ec2.internal.7809, Process ID 4611).
GGSCI (ip-172-31-30-239.ec2.internal) 5>
- 次のコードを使用してソース RDS データベースに接続するように Oracle GoldenGate Wallet を設定します。
GGSCI (ip-172-31-19-223.ec2.internal) 4> Create Wallet
Created wallet at location 'dirwlt'.
Opened wallet at location 'dirwlt'.
GGSCI (ip-172-31-19-223.ec2.internal) 6> Add CredentialStore
Credential store created in ./dircrd/.
GGSCI (ip-172-31-19-223.ec2.internal) 6> Alter CredentialStore Add User ogguser@oggsrc
Password xxxxxxx Alias ogg_user_src
Credential store in ./dircrd/ altered.
GGSCI (ip-172-31-19-223.ec2.internal) 7> Info CredentialStore
Reading from ./dircrd/:
Domain: OracleGoldenGate
Alias: ogg_user_src
Userid: ogguser@oggsrc
GGSCI (ip-172-31-19-223.ec2.internal) 8>
GGSCI (ip-172-31-19-223.ec2.internal) 8> DBLogin UserIDAlias ogg_user_src
Successfully logged into database.
- 次のコードを使用して、ソースデータベース用の Oracle GoldenGate
TRANDATA
オプションを設定します。
GGSCI (ip-172-31-19-223.ec2.internal as ogguser@OGGSRC) 13> Add TranData OGGSRC.* ALLCOLS
2019-06-19 02:33:35 INFO OGG-15132 Logging of supplemental redo data enabled for table OGGSRC.ECONOMIC_DATA.
2019-06-19 02:33:35 INFO OGG-15133 TRANDATA for scheduling columns has been added on table OGGSRC.ECONOMIC_DATA.
2019-06-19 02:33:35 INFO OGG-15134 TRANDATA for all columns has been added on table OGGSRC.ECONOMIC_DATA.
2019-06-19 02:33:35 INFO OGG-15135 TRANDATA for instantiation CSN has been added on table OGGSRC.ECONOMIC_DATA.
GGSCI (ip-172-31-19-223.ec2.internal as ogguser@OGGSRC) 14> Info TranData OGGSRC.*
Logging of supplemental redo log data is enabled for table OGGSRC.ECONOMIC_DATA.
All columns supplementally logged for table OGGSRC.ECONOMIC_DATA.
Prepared CSN for table OGGSRC.ECONOMIC_DATA: 524105
GGSCI (ip-172-31-19-223.ec2.internal as ogguser@OGGSRC) 15>
a.) 次のコードにより、ソースデータベース用の Integrated Extract を使用してソースデータキャプチャを設定します。
GGSCI (ip-172-31-19-223.ec2.internal as ogguser@OGGSRC) 15> edit param EXTSRC
Extract EXTSRC
SETENV (ORACLE_SID='OGGSRC')
UserIdAlias ogg_user_src
TranlogOptions IntegratedParams (max_sga_size 256)
Exttrail ./dirdat/in
ddl include all
ddloptions addtrandata, report
LOGALLSUPCOLS
UPDATERECORDFORMAT COMPACT
Table OGGSRC.*;
GGSCI (ip-172-31-19-223.ec2.internal as ogguser@OGGSRC) 16> dblogin useridalias ogg_user_src
Successfully logged into database.
GGSCI (ip-172-31-19-223.ec2.internal as ogguser@OGGSRC) 17> register extract EXTSRC database
2019-06-19 02:38:34 INFO OGG-02003 Extract EXTSRC successfully registered with database at SCN 524573.
GGSCI (ip-172-31-19-223.ec2.internal as ogguser@OGGSRC) 18> add extract EXTSRC , integrated tranlog, begin now
EXTRACT (Integrated) added.
GGSCI (ip-172-31-19-223.ec2.internal as ogguser@OGGSRC) 19> add exttrail ./dirdat/in, extract EXTSRC , megabytes 10
EXTTRAIL added.
GGSCI (ip-172-31-19-223.ec2.internal as ogguser@OGGSRC) 20>
b.) 次のコードを使用して、ソースデータベース用のオプションのデータポンプを設定します。
GGSCI (ip-172-31-19-223.ec2.internal as ogguser@OGGSRC) 20> edit param PXTSRC
Extract PXTSRC
SETENV (ORACLE_SID=’OGGSRC’)
UserIdAlias ogg_user_src
rmthost localhost, mgrport 7909
rmttrail ./dirdat/pn
table OGGSRC.*;
GGSCI (ip-172-31-19-223.ec2.internal as ogguser@OGGSRC) 21> add extract PXTSRC, exttrailsource ./dirdat/in
EXTRACT added.
GGSCI (ip-172-31-19-223.ec2.internal as ogguser@OGGSRC) 22> add rmttrail ./dirdat/pn, extract PXTSRC, megabytes 10
RMTTRAIL added.
データポンププロセスは、GoldenGate レプリケーションソフトウェアの 2 番目のオプションコンポーネントであり、主にネットワークおよびターゲットの障害から保護するために推奨されます。詳細については、Oracle ウェブサイトの「Oracle GoldenGate アーキテクチャの概要」を参照してください。
c.) 次のコードを使用して、ソースデータベース用のプライマリ抽出とデータポンププロセスを開始します。
GGSCI (ip-172-31-19-223.ec2.internal as ogguser@OGGSRC) 23>) > start Extract EXTSRC
Sending START request to MANAGER ...
EXTRACT EINTA starting
GGSCI (ip-172-31-19-223.ec2.internal as ogguser@OGGSRC) 25> start extract PXTSRC
Sending START request to MANAGER ...
EXTRACT PINTA starting
GGSCI (host01.example.com) >
GGSCI (host01.example.com) > Info All
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING EINTA 20:44:16 00:00:01
EXTRACT RUNNING PINTA 00:00:00 00:00:03
GGSCI (host01.example.com) >
ターゲットデータベース用に EC2 で GoldenGate ハブを設定する
ターゲットデータベース用に GoldenGate ハブをセットアップするには、次の手順を実行します。
- ターゲット RDS DB の OGG (OGGTRG) を設定します。
ターゲットデータベース用に以下のパラメータを使用してマネージャーを設定します。
GGSCI (ip-172-31-19-223.ec2.internal) 2> edit param mgr
Port 7909
DynamicPortList 20100-20199
PurgeOldExtracts ./dirdat/pe*, UseCheckPoints, MinKeepHours 2
Autostart Replicat R*
AUTORESTART Replicat *, WaitMinutes 1, Retries 3
GGSCI (ip-172-31-30-239.ec2.internal) 1> stop mgr
Manager process is required by other GGS processes.
Are you sure you want to stop it (y/n)?y
Sending STOP request to MANAGER ...
Request processed.
Manager stopped.
GGSCI (ip-172-31-19-223.ec2.internal) 2> start mgr
Manager started.
GGSCI (ip-172-31-19-223.ec2.internal) 3> info mgr detail
Manager is running (IP port ip-172-31-30-239.ec2.internal.7909, Process ID 5048).
GGSCI (ip-172-31-19-223.ec2.internal) 4>\
- 次のコードを使用して、ターゲット RDS データベース用に Oracle GoldenGate Wallet を設定します。
GGSCI (ip-172-31-19-223.ec2.internal) 4> Create Wallet
Created wallet at location 'dirwlt'.
Opened wallet at location 'dirwlt'.
GGSCI (ip-172-31-19-223.ec2.internal) 6> Add CredentialStore
Credential store created in ./dircrd/.
GGSCI (ip-172-31-19-223.ec2.internal) 6> Alter CredentialStore Add User ogguser@oggtrg
Password oracle Alias ogg_user_trg
Credential store in ./dircrd/ altered.
GGSCI (ip-172-31-19-223.ec2.internal) 7> Info CredentialStore
Reading from ./dircrd/:
Domain: OracleGoldenGate
Alias: ogg_user_trg
Userid: ogguser@oggtrg
GGSCI (ip-172-31-19-223.ec2.internal) 8> DBLogin UserIDAlias ogg_user_trg
Successfully logged into database.
- Integrated Replicat を使用してターゲットデータ配信を設定します。次のコードを参照してください。
GGSCI (ip-172-31-19-223.ec2.internal) >Edit Param RXTTRG
Replicat RXTTRG
SETENV(ORACLE_SID=’OGGTRG’)
DBOPTIONS INTEGRATEDPARAMS(parallelism 6)
AssumeTargetDefs
DiscardFile ./dirrpt/rpdw.dsc, Purge
UserIdAlias ogg_user_trg
Map oggsrc.*, target oggtrg.*;
GGSCI (ip-172-31-19-223.ec2.internal) > DBlogin UserIdAlias ogg_user_trg
Successfully logged into database.
GGSCI (ip-172-31-19-223.ec2.internal) > Add Replicat RXTTRG Integrated exttrail ./dirdat/pn
REPLICAT (Integrated) added.
GGSCI (ip-172-31-19-223.ec2.internal) > Start Replicat RXTTRG
Sending START request to MANAGER ...
REPLICAT RXTTRG starting
GGSCI (ip-172-31-19-223.ec2.internal) > info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
REPLICAT RUNNING RXTTRG 00:00:00 00:00:39
GGSCI (ip-172-31-19-223.ec2.internal) >
- 次のコードを使用して、Replicat などのプロセスに関する情報を取得します。
GGSCI (ip-172-31-19-223.ec2.internal) > Info RXTTRG, Detail
GGSCI (ip-172-31-19-223.ec2.internal as ogguser@OGGTRG) 14> info RXTTRG, detail
REPLICAT RXTTRG Last Started 2019-06-19 03:07 Status RUNNING
INTEGRATED
Checkpoint Lag 00:00:00 (updated 00:00:06 ago)
Process ID 14328
Log Read Checkpoint File /u01/app/oracle/product/ogg_trg/dirdat/pn000000000
First Record RBA 0
INTEGRATED Replicat
DBLOGIN Provided, inbound server name is OGG$RXTTRG in ATTACHED state
Current Log BSN value: (no data)
Low Watermark CSN value: (no data)
High Watermark CSN value: (no data)
Extract Source Begin End
/u01/app/oracle/product/ogg_trg/dirdat/pn000000000 * Initialized * First Record
/u01/app/oracle/product/ogg_trg/dirdat/pn000000000 * Initialized * First Record
./dirdat/pn000000000 * Initialized * First Record
Current directory /u01/app/oracle/product/ogg_trg
Report file /u01/app/oracle/product/ogg_trg/dirrpt/RXTTRG.rpt
Parameter file /u01/app/oracle/product/ogg_trg/dirprm/rxttrg.prm
Checkpoint file /u01/app/oracle/product/ogg_trg/dirchk/RXTTRG.cpr
Process file /u01/app/oracle/product/ogg_trg/dirpcs/RXTTRG.pcr
Error log /u01/app/oracle/product/ogg_trg/ggserr.log
GGSCI (ip-172-31-19-223.ec2.internal as ogguser@OGGTRG) 15>
DDL および DML レプリケーションセットアップのテスト
レプリケーションセットアップをテストするには、次の手順を実行します。
- サンプルデータを作成して、ソースでレプリケーションをテストします。
OGGSRC ユーザーとしてソースデータベース OGGSRC に接続し、次のコードでテストデータを作成します。
[oracle@ip-172-31-30-239 admin]$ sqlplus OGGSRC/xxxxxxxxx@OGGSRC
SQL> create table ECONOMIC_DATA
(
entity_id integer not null,
economic_entity varchar2(128) not null,
continent varchar2(20),
PRIMARY KEY(entity_id)
);
Table created.
SQL> Insert into ECONOMIC_DATA (ENTITY_ID,ECONOMIC_ENTITY,CONTINENT) values (29,'St Vincent and the Grenadines','AMERICAS');
1 row created.
SQL> commit;
- 次のコードで DML と DDL を実行します。
[oracle@ip-172-31-30-239 admin]$ sqlplus OGGSRC/oracle@OGGSRC
SQL> select count(*) from ECONOMIC_DATA ;
COUNT(*)
----------
1
SQL> delete from ECONOMIC_DATA;
1 row deleted.
SQL> commit;
Commit complete.
SQL>
a.) stats
コマンドを使用して、抽出プロセス EXTSRC をリクエストします。次のコードを参照してください。
GGSCI (ip-172-31-19-223.ec2.internal) 1> stats EXTSRC
Sending STATS request to EXTRACT EXTSRC ...
Start of Statistics at 2019-06-19 03:28:00.
DDL replication statistics (for all trails):
*** Total statistics since extract started ***
Operations 1.00
Mapped operations 1.00
Unmapped operations 0.00
Other operations 0.00
Excluded operations 0.00
Output to ./dirdat/in:
Extracting from OGGSRC.ECONOMIC_DATA to OGGSRC.ECONOMIC_DATA:
*** Total statistics since 2019-06-19 03:16:57 ***
Total inserts 0.00
Total updates 0.00
Total deletes 1.00
Total discards 0.00
Total operations 1.00
End of Statistics.
GGSCI (ip-172-31-19-223.ec2.internal) 3>
b.) stats
コマンドを使用して、Replicat プロセス RXTTRG をリクエストします。DDL レプリケーションの統計のみを表示するために、統計の出力が切り捨てられていることに注意してください。次のコードを参照してください。
GGSCI (ip-172-31-19-223.ec2.internal) 1> stats RXTTRG
Sending STATS request to REPLICAT RXTTRG ...
Start of Statistics at 2019-06-19 03:32:52.
Integrated Replicat Statistics:
Total transactions 2.00
Redirected 0.00
Replicated procedures 0.00
DDL operations 1.00
Stored procedures 0.00
Datatype functionality 0.00
Event actions 0.00
Direct transactions ratio 50.00%
DDL replication statistics:
*** Total statistics since replicat started ***
Operations 1.00
Mapped operations 1.00
Unmapped operations 0.00
Other operations 0.00
Excluded operations 0.00
Errors 0.00
Retried errors 0.00
Discarded errors 0.00
Ignored errors 0.00
GGSCI (ip-172-31-19-223.ec2.internal) 2>
c.) ターゲットデータベース OGGTRG を OGGTRG ユーザーとして接続し、レプリケーションを確認します。次のコードを参照してください。
[oracle@ip-172-31-30-239 admin]$ sqlplus OGGTRG/oracle@OGGTRG
SQL> select count(*) from ECONOMIC_DATA ;
COUNT(*)
----------
0
SQL> desc ECONOMIC_DATA
Name Null? Type
----------------------------------------- -------- ----------------------------
entity_id NOT NULL NUMBER
economic_entity NOT NULL varchar2(128)
continent varchar2(20)
まとめ
この記事では、GoldenGate 統合キャプチャを使用して、2 つの異なるリージョンで実行されている RDS for Oracle データベースにリージョン間の災害復旧機能を実装する方法について説明しました。キャプチャが統合された Oracle GoldenGate バージョン 12.1 以上は、設定が簡単で、ネイティブ DDL レプリケーションをサポートしています。またソースまたはターゲット RDS データベースで追加のデータベースオブジェクトを作成する必要はありません。RDS for Oracle の低コストのリージョン間災害復旧機能の実装の詳細については、「DB スナップショットと AWS Lambda を使用した Amazon RDS for Oracle Database でのリージョン間災害復旧」を参照してください。
著者について
Sameer Malik は、アマゾン ウェブ サービスのプリンシパルデータベースソリューションアーキテクトです。
Sahil Thapar は、アマゾン ウェブ サービスのエンタープライズソリューションアーキテクトです。