目次
前回のあらすじ
こんにちは。プラチナホルダーの小酒井です。
前々回はAutonomous DatabaseとGoldengateのプロビジョニングを行い、
前回はソース側、ターゲット側それぞれのデータベースの設定と同期設定を行いました。
今回はいよいよ同期確認を行います。
- Autonomous Databaseのプロビジョニング(前々回)
- Goldengate 19c Marketplace Microservices Editionのプロビジョニング(前々回)
- ソース側データベースの設定(前回)
- ターゲット側データベースの設定(前回)
- 同期確認
- DDL文の同期確認
早速ですが、宜しくお願いします!
うまく同期されるか、ちょっとドキドキします。。
宜しくお願いします!
5.同期確認
ソース側データベースにデータ登録
ソース側データベースのユーザtestuserのテーブルtab1に、id=4とid=5のデータを登録します。
-bash-4.2$ export ORACLE_HOME='/u01/app/client/oracle19' -bash-4.2$ export TNS_ADMIN='/u02/deployments/Source/etc' -bash-4.2$ -bash-4.2$ /u01/app/client/oracle19/bin/sqlplus admin/************@source_high SQL*Plus: Release 19.0.0.0.0 - Production on Mon Apr 12 04:58:46 2021 Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle. All rights reserved. Last Successful login time: Mon Apr 12 2021 04:08:53 +00:00 Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.5.0.0.0 SQL> insert into testuser.tab1 values (4, 'ddd'); 1 row created. SQL> insert into testuser.tab1 values (5, 'eee'); 1 row created. SQL> commit; Commit complete. SQL> select * from testuser.tab1 order by id; ID NAME ---------- ---------- 1 aaa 2 bbb 3 ccc 4 ddd 5 eee
ターゲット側データベースのデータ確認
ターゲット側データベースのユーザtestuserのテーブルtab1に、id=4とid=5のデータが反映されており、データが同期されていることが確認できます。
-bash-4.2$ export ORACLE_HOME='/u01/app/client/oracle19' -bash-4.2$ export TNS_ADMIN='/u02/deployments/Target/etc' -bash-4.2$ -bash-4.2$ /u01/app/client/oracle19/bin/sqlplus admin/************@target_high SQL*Plus: Release 19.0.0.0.0 - Production on Mon Apr 12 04:56:18 2021 Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle. All rights reserved. Last Successful login time: Mon Apr 12 2021 04:41:28 +00:00 Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.5.0.0.0 SQL> select * from testuser.tab1 order by id; ID NAME ---------- ---------- 1 aaa 2 bbb 3 ccc 4 ddd 5 eee
DDL文の同期確認
ソース側データベースにテーブル作成
ソース側データベースのユーザtestuserにテーブルtab2を作成し、データを登録します。
SQL> create table testuser.tab2 (col1 number primary key, col2 varchar2(10), col3 date); Table created. SQL> desc testuser.tab2 Name Null? Type ----------------------------------------- -------- ---------------------------- COL1 NOT NULL NUMBER COL2 VARCHAR2(10) COL3 DATE SQL> select * from testuser.tab2; no rows selected SQL> insert into testuser.tab2 values (1, 'a', sysdate); 1 row created. SQL> commit; Commit complete. SQL> alter session set nls_date_format='yyyy/mm/dd hh24:mi:ss'; Session altered. SQL> select * from testuser.tab2; COL1 COL2 COL3 ---------- ---------- ------------------- 1 a 2021/04/12 05:18:05 SQL> exit
ターゲット側データベースのデータ確認
ソース側データベースで作成したユーザtestuserのテーブル tab2が存在し、登録したデータが同期されていることが確認できます。
SQL> desc testuser.tab2 Name Null? Type ----------------------------------------- -------- ---------------------------- COL1 NOT NULL NUMBER COL2 VARCHAR2(10) COL3 DATE SQL> SQL> alter session set nls_date_format='yyyy/mm/dd hh24:mi:ss'; Session altered. SQL> select * from testuser.tab2; COL1 COL2 COL3 ---------- ---------- ------------------- 1 a 2021/04/12 05:18:05 SQL> SQL>
ターゲット側でも同じデータが表示されましたね!
さいごに
今回はOracle Autonomous Database間のOracle GoldenGate によるデータ同期を検証してみました。
非常に簡単な手順で確認することができますので、みなさんも試してみてください。
当社はOracle Cloudサービスを展開しておりますので、Oracle Cloud について何かお困りのことがありましたら、お気軽にお問い合せいただけますと幸いです。
Oracle Cloud、Oracle Databaseに関する各種サービスページは下記よりご覧いただけます。