https://qiita.com/tags/goldengate
ソースデータベース: 12cR1 mmm050 db01
ターゲットデータベース: 12cR1 mmm050 db02
GoldenGate: Oracle GoldenGate 19.1.0.0.4 for Oracle on Linux x86-64
前提:
tnsnames.oraにdb01とdb02のエイリアス設定済
ローカル・デプロイ
DDLの伝播なし
ソースとターゲットにテーブル作成済み(主キーあり)
create user test identified by test;
grant dba to test;
conn test/test
create table tab1(col1 int primary key);
---- 1.インストール
Oracle Software Delivery Cloudからダウンロード
(12cR1版ではなく、最新の19cバージョンをダウンロード)
mkdir -p /home/oracle/work/gg_inst
ls /home/oracle/work/gg_inst
cd /home/oracle/work/gg_inst
/home/oracle/workの下にV983658-01.zipを配置する
unzip ../V983658-01.zip
cd fbo_ggs_Linux_x64_shiphome/Disk1
LANG=C ./runInstaller
--
Software Location: /u01/app/oracle/product/gghome_1
start Manager: チェックする
Database Location: /u01/app/oracle/product/12.1.0/dbhome_1
Manager Port: 7809
--
vim /home/oracle/.bash_profile
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/u01/app/oracle/product/12.1.0/dbhome_1/lib/
ls /u01/app/oracle/product/gghome_1
cd /u01/app/oracle/product/gghome_1
./ggsci
info all
exit
ls dirprm/
cat dirprm/mgr.prm
ps -ef | grep ./mgr | grep -v grep
lsof -i | grep mgr
lsof -i:7809
---- 2.事前準備
-- ロギング・プロパティの構成[db01で実施]
SELECT supplemental_log_data_min, force_logging FROM v$database;
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
ALTER DATABASE FORCE LOGGING;
SELECT supplemental_log_data_min, force_logging FROM v$database;
ALTER SYSTEM SWITCH LOGFILE;
-- GoldenGateの有効化[db01,db02で実施]
show parameter ENABLE_GOLDENGATE_REPLICATION
alter system set ENABLE_GOLDENGATE_REPLICATION=true;
show parameter ENABLE_GOLDENGATE_REPLICATION
-- GoldenGateユーザーの作成[db01,db02で実施]
create user ggs identified by ggs;
exec dbms_goldengate_auth.grant_admin_privilege('ggs');
grant dba to ggs;
-- アーカイブログモードへの変更[db01で実施]
select log_mode from v$database;
shutdown immediate
startup mount
alter database archivelog;
alter database open;
select log_mode from v$database;
---- 3.GoldenGateプロセスの構成
-- 3.1.Captureプロセス
-- パラメータの設定
cd /u01/app/oracle/product/gghome_1
./ggsci
edit params cap01
EXTRACT cap01
USERID ggs@db01, PASSWORD ggs
EXTTRAIL ./dirdat/lt
TABLE test.*;
-- Captureプロセスの追加
dblogin userid ggs@db01 password ggs
register extract cap01 database
ADD EXTRACT CAP01, integrated tranlog, begin now
ADD EXTTRAIL ./dirdat/lt, extract CAP01, megabytes 500
info all
-- 3.2.Datapumpプロセス
-- パラメータの設定
edit params dp01
EXTRACT DP01
USERID ggs@db01, PASSWORD ggs
RMTHOST 192.168.137.50,MGRPORT 7809, PARAMS "-f"
RMTTRAIL ./dirdat/rt
TABLE test.*;
-- Datapumpプロセスの追加
ADD EXTRACT DP01, exttrailsource ./dirdat/lt
ADD RMTTRAIL ./dirdat/rt, extract DP01
info all
-- 3.3.Replicatプロセス
-- パラメータの設定
edit params REP01
REPLICAT REP01
USERID ggs@db02, PASSWORD ggs
MAP test.*, TARGET test.*;
-- Replicatプロセスの追加
DBLOGIN USERID ggs@db02 PASSWORD ggs
ADD REPLICAT REP01, INTEGRATED, EXTTRAIL ./dirdat/rt
info all
-- 3.4.キャプチャ対象オブジェクトのサプリメンタルロギング追加
DBLOGIN USERID ggs@db01 PASSWORD ggs
ADD SCHEMATRANDATA TEST
-- 3.5.プロセスの起動
start cap01
info all
start dp01
info all
start rep01
info all
-- 3.6.データの追加
tail -f /u01/app/oracle/product/gghome_1/ggserr.log
conn test/test
insert into tab1 values(1);
commit;
select * from tab1;
stats cap01
stats dp01
stats rep01