1.スプリットとマージOGGポンププロセスとREPLICAT
1.1。OGG分割PUMPプロセスとREPLICAT
1.1.1。extarctプロセスを停止します
GGSCI (cndba) 4> stop ext1
Sending STOP request to EXTRACT EXT1 ...
Request processed.
1.1.2チェックextactプロセスのチェックポイント情報
GGSCI (cndba) 5> info ext1,showch
记录下其Write Checkpoint信息中的sequence和RBA值,如下:
Write Checkpoint #1
GGS Log Trail
Current Checkpoint (current write position):
Sequence #: 29
RBA: 1351
Timestamp: 2018-06-12 11:10:24.327370
Extract Trail: ./dirdat/et
1.1.3。ポンププロセスのチェックポイント情報を確認してください
GGSCI (cndba) 9> info pump1,showch
若pump进程的Current Checkpoint信息中的sequence和RBA值与step 2得到的值相等,则说明goldengate抓取的信息都已被传送到了target服务器上,可继续执行下一步骤。否则,等待并重复运行该命令。
Current Checkpoint (position of last record read in the data source):
Sequence #: 29
RBA: 1351
Timestamp: 2018-06-12 10:26:36.000000
Extract Trail: ./dirdat/et
记录其Write Checkpoint信息中的sequence和RBA值,如下:
Write Checkpoint #1
GGS Log Trail
Current Checkpoint (current write position):
Sequence #: 25
RBA: 1754
Timestamp: 2018-06-12 11:14:52.629268
Extract Trail: ./dirdat/et
1.1.4。チェックポイントのプロセス情報確認replicat
GGSCI (cndba) 29> info rep1,showch
Current Checkpoint (position of last record read in the data source):
Sequence #: 25
RBA: 1754
Timestamp: 2018-06-12 10:26:36.628558
Extract Trail: ./dirdat/et
若replicat进程的Current Checkpoint信息中的sequence和RBA值与step 3中得到的Write Checkpoint信息相等,则说明goldengate抓取的信息都已被apply到target 数据库,可继续执行下一步骤。否则,等待并重复运行该命令。
1.1.5。ポンププロセスとプロセスreplicatを停止
--源端操作
GGSCI (cndba) 10> stop pump1
Sending STOP request to EXTRACT PUMP1 ...
Request processed.
--目标端操作
GGSCI (cndba) 30> stop rep1
Sending STOP request to REPLICAT REP1 ...
Request processed.
1.1.6。二つの新しいポンプ・プロセスを作成します。
add extract pump01,exttrailsource ./dirdat/et,begin now
add rmttrail ./dirdat/p1,extract pump01
add extract pump02,exttrailsource ./dirdat/et,begin now
add rmttrail ./dirdat/p2,extract pump02
1.1.7。ポンププロセスの設定ファイルを追加します
这两个新的参数文件与原有的参数文件的主要区别是将其中的复制表按负载均分为了两部分,分别放在单独的参数文件中。
GGSCI (cndba) 15> edit params pump01
GGSCI (cndba) 18> view params pump01
EXTRACT pump01
RMTHOST 192.168.1.86, MGRPORT 7809
RMTTRAIL ./dirdat/p1
PASSTHRU
DYNAMICRESOLUTION
TABLE test.test;
GGSCI (cndba) 16> edit params pump02
GGSCI (cndba) 19> view params pump02
EXTRACT pump02
RMTHOST 192.168.1.86, MGRPORT 7809
RMTTRAIL ./dirdat/p2
PASSTHRU
DYNAMICRESOLUTION
TABLE test.test2;
1.1.8。チェックポイントのプロセスを読んで新しいポンプ情報を変更します。
根据step 3中得到的read checkpoint信息修改新建pump进程的checkpoint信息,让其从旧pump进程停止的位置开始抓取新的信息
GGSCI (cndba) 26> ALTER EXTRACT pump01, EXTSEQNO 25, EXTRBA 1754
EXTRACT altered.
GGSCI (cndba) 27> ALTER EXTRACT pump02, EXTSEQNO 25, EXTRBA 1754
EXTRACT altered.
1.1.9。二つの新しいreplicatプロセスを作成します。
GGSCI (cndba) 31> add replicat rep01, exttrail ./dirdat/p1, checkpointtable ogg.checkpoint
REPLICAT added.
GGSCI (cndba) 32> add replicat rep02, exttrail ./dirdat/p2, checkpointtable ogg.checkpoint
REPLICAT added.
备份并删除traget服务器上/u01/app/oracle/ogg/dirdat/目录下原有的以p1,p2开头的trail file文件
1.1.10。Replicat構成パラメーター・ファイル
GGSCI (cndba) 39> edit params rep01
GGSCI (cndba) 38> view params rep01
REPLICAT rep01
--setenv (ORACLE_SID=cndba)
--SETENV (ORACLE_HOME = "/u01/app/oracle/product/11.2.0/db_1")
USERID ogg,PASSWORD ogg
ASSUMETARGETDEFS
--HANDLECOLLISIONS
REPERROR (DEFAULT, DISCARD)
DDLERROR DEFAULT DISCARD
DDLOPTIONS REPORT
DISCARDFILE ./dirrpt/repr01.dsc,append,megabytes 100
--HANDLECOLLISIONS
MAP test.test, TARGET test.test;
GGSCI (cndba) 39> edit params rep02
GGSCI (cndba) 39> view params rep02
REPLICAT rep02
--setenv (ORACLE_SID=cndba)
--SETENV (ORACLE_HOME = "/u01/app/oracle/product/11.2.0/db_1")
USERID ogg,PASSWORD ogg
ASSUMETARGETDEFS
--HANDLECOLLISIONS
REPERROR (DEFAULT, DISCARD)
DDLERROR DEFAULT DISCARD
DDLOPTIONS REPORT
DISCARDFILE ./dirrpt/repr02.dsc,append,megabytes 100
--HANDLECOLLISIONS
MAP test.test2, TARGET test.test2;
1.1.11。ポンプ・プロセスを開始します
GGSCI (cndba) 48> start pump01
Sending START request to MANAGER ...
EXTRACT PUMP01 starting
GGSCI (cndba) 49> start pump02
Sending START request to MANAGER ...
EXTRACT PUMP02 starting
GGSCI (cndba) 51> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING EXT1 00:00:00 00:00:09
EXTRACT RUNNING PUMP01 00:00:00 00:37:53
EXTRACT RUNNING PUMP02 00:00:00 00:37:47
EXTRACT STOPPED PUMP1 00:00:00 00:51:55
GGSCI (cndba) 33> start ext1
Sending START request to MANAGER ...
EXTRACT EXT1 starting
1.1.13。replicatプロセスを開始します
GGSCI (cndba) 40> start rep01
Sending START request to MANAGER ...
REPLICAT REP01 starting
GGSCI (cndba) 41> start rep02
Sending START request to MANAGER ...
REPLICAT REP02 starting
GGSCI (cndba) 42> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
REPLICAT RUNNING REP01 00:00:00 00:00:07
REPLICAT RUNNING REP02 00:00:00 00:00:03
REPLICAT STOPPED REP1 00:00:00 00:48:33
1.1.14。古いポンププロセスとプロセスreplicatを削除します
--删除旧的pump进程
GGSCI (cndba) 53> delete pump1
GGSCI (cndba) 78> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING EXT1 00:00:00 00:00:09
EXTRACT RUNNING PUMP01 00:00:00 00:00:04
EXTRACT RUNNING PUMP02 00:00:00 00:00:04
--删除旧的replicat进程
GGSCI (cndba) 45> dblogin userid ogg,password ogg
Successfully logged into database.
GGSCI (cndba) 46> delete rep1
Deleted REPLICAT REP1.
GGSCI (cndba) 47> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
REPLICAT RUNNING REP01 00:00:00 00:00:05
REPLICAT RUNNING REP02 00:00:00 00:00:09
1.1.15。テスト
--源端插入数据
SQL> insert into test values(51,'test');
1 row created.
SQL> insert into test2 values(4,'test');
1 row created.
SQL> commit;
Commit complete.
SQL> select count(*) from test;
COUNT(*)
----------
42
--目标端查看数据同步
SQL> select count(*) from test;
COUNT(*)
----------
42
SQL> select * from test2;
ID NAME
---------- --------
1 zhangsan
3 test
4 test
1.2。OGG合併PUMPプロセスとREPLICAT
GGSCI (cndba) 81> stop ext1
Sending STOP request to EXTRACT EXT1 ...
Request processed.
GGSCI (cndba) 82> info ext1,showch
记录下其Write Checkpoint信息中的sequence和RBA值,如下:
Write Checkpoint #1
GGS Log Trail
Current Checkpoint (current write position):
Sequence #: 30
RBA: 5634
Timestamp: 2018-06-12 13:38:50.221917
Extract Trail: ./dirdat/et
1.2.3。ポンププロセスのチェックポイント情報を確認してください
若pump进程的Current Checkpoint信息中的sequence和RBA值与step 2得到的值相等,则说明goldengate抓取的信息都已被传送到了target服务器上,可继续执行下一步骤。否则,等待并重复运行该命令。
GGSCI (cndba) 83> info pump01,showch
Current Checkpoint (position of last record read in the data source):
Sequence #: 30
RBA: 5634
Timestamp: 2018-06-12 13:35:55.000000
Extract Trail: ./dirdat/et
记录下其Write Checkpoint信息中的sequence和RBA值,如下:
Write Checkpoint #1
GGS Log Trail
Current Checkpoint (current write position):
Sequence #: 0
RBA: 5499
Timestamp: 2018-06-12 13:42:02.894776
Extract Trail: ./dirdat/p1
GGSCI (cndba) 84> info pump02,showch
Current Checkpoint (position of last record read in the data source):
Sequence #: 30
RBA: 5634
Timestamp: 2018-06-12 13:35:55.000000
Extract Trail: ./dirdat/et
记录下其Write Checkpoint信息中的sequence和RBA值,如下:
Write Checkpoint #1
GGS Log Trail
Current Checkpoint (current write position):
Sequence #: 0
RBA: 1193
Timestamp: 2018-06-12 13:42:35.595896
Extract Trail: ./dirdat/p2
1.2.4。チェックポイントのプロセス情報確認replicat
若replicat进程的Current Checkpoint信息中的sequence和RBA值与step 3中得到的Write Checkpoint信息相等,则说明goldengate抓取的信息都已被apply到target 数据库,可继续执行下一步骤。否则,等待并重复运行该命令。
GGSCI (cndba) 50> info rep01,showch
Current Checkpoint (position of last record read in the data source):
Sequence #: 0
RBA: 5499
Timestamp: 2018-06-12 13:35:55.536888
Extract Trail: ./dirdat/p1
GGSCI (cndba) 51> info rep02,showch
Current Checkpoint (position of last record read in the data source):
Sequence #: 0
RBA: 1193
Timestamp: 2018-06-12 12:26:44.611904
Extract Trail: ./dirdat/p2
1.2.5。ポンププロセスとプロセスreplicatを停止
--源端停止pump进程
GGSCI (cndba) 85> stop pump01
Sending STOP request to EXTRACT PUMP01 ...
Request processed.
GGSCI (cndba) 86> stop pump02
Sending STOP request to EXTRACT PUMP02 ...
Request processed.
--目标端停止replicat进程
GGSCI (cndba) 52> stop rep01
Sending STOP request to REPLICAT REP01 ...
Request processed.
GGSCI (cndba) 53> stop rep02
Sending STOP request to REPLICAT REP02 ...
Request processed.
1.2.6。新しいポンプ・プロセスを作成します
add extract pump1,exttrailsource ./dirdat/et
add rmttrail ./dirdat/et,extract pump1
1.2.7。チェックポイントのプロセスを読んで新しいポンプ情報を変更します。
根据step 3中得到的read checkpoint信息修改新建pump进程的checkpoint信息,让其从旧pump进程停止的位置开始抓取新的信息
ALTER EXTRACT pump1, EXTSEQNO 30, EXTRBA 5634
1.2.8。追加PUMP1処理構成
GGSCI (cndba) 87> edit params pump1
GGSCI (cndba) 88> view params pump1
EXTRACT pump1
RMTHOST 192.168.1.86, MGRPORT 7809
RMTTRAIL ./dirdat/et
PASSTHRU
DYNAMICRESOLUTION
TABLE test.*;
1.2.9。新しいプロセスreplicatを作成します
GGSCI (cndba) 31> add replicat rep1, exttrail ./dirdat/et, checkpointtable ogg.checkpoint
REPLICAT added.
备份并删除traget服务器上/u01/app/oracle/ogg/dirdat/目录下原有的以et,et开头的trail file文件
1.2.10。Replicat構成パラメーター・ファイル
GGSCI (cndba) 39> edit params rep01
GGSCI (cndba) 38> view params rep01
REPLICAT rep01
--setenv (ORACLE_SID=cndba)
--SETENV (ORACLE_HOME = "/u01/app/oracle/product/11.2.0/db_1")
USERID ogg,PASSWORD ogg
ASSUMETARGETDEFS
--HANDLECOLLISIONS
REPERROR (DEFAULT, DISCARD)
DDLERROR DEFAULT DISCARD
DDLOPTIONS REPORT
DISCARDFILE ./dirrpt/repr01.dsc,append,megabytes 100
--HANDLECOLLISIONS
MAP test.test, TARGET test.test;
GGSCI (cndba) 89> start ext1
Sending START request to MANAGER ...
EXTRACT EXT1 starting
1.2.12。新しいポンププロセスとプロセスreplicatを開始
--启动pump进程
GGSCI (cndba) 96> start pump1
Sending START request to MANAGER ...
EXTRACT PUMP1 starting
--启动replicat进程
GGSCI (cndba) 56> start rep1
Sending START request to MANAGER ...
REPLICAT REP1 starting
1.2.13。古いポンププロセスを削除します
GGSCI (cndba) 100> delete pump01
GGSCI (cndba) 100> delete pump02
1.2.14。旧replicatプロセスを削除します
GGSCI (cndba) 60> dblogin userid ogg,password ogg
Successfully logged into database.
GGSCI (cndba) 61> delete rep01
Deleted REPLICAT REP01.
GGSCI (cndba) 62> delete rep02
Deleted REPLICAT REP02.
1.2.15。テスト
--源端插入数据
SQL> select * from test;
no rows selected
SQL> insert into test values(1,'test');
1 row created.
SQL> commit;
Commit complete.
SQL> select * from test2;
ID NAME
---------- --------
1 zhangsan
3 test
4 test
SQL> insert into test2 values(5,'test');
1 row created.
SQL> commit;
Commit complete.
--目标端查看数据
SQL> select * from test;
ID NAME
---------- --------
1 test
SQL> select * from test2;
ID NAME
---------- --------
5 test
1 zhangsan
3 test
4 test