classic模式
ogg12.2 DB 11.2.0.4
ogg安装目录: /oracle/ogg/
ogg用户: ogg
source端测试用户对象:source
未拆分前配置步骤:
添加ext1
oggCI (ogg) 71> add exttract ext1 tranlog,begin now
EXTTRAIL added.
oggCI (ogg) 71> add exttrail /oracle/ogg/dirdat/e1,extract ext1
EXTTRAIL added.
修改ext2参数文件
oggCI (ogg) 72> edit param ext1
extract ext2
userid ogg,password ogg
exttrail /oracle/ogg/dirdat/e1
ddl include mapped objname source.;
table source.;
添加pump进程对应ext1抽取进程的发送
oggCI (ogg) 74> add extract pump1,exttrailsource /oracle/ogg/dirdat/e1
EXTRACT added.
oggCI (ogg) 75> add rmttrail /oracle/ogg/dirdat/e1,extract pump1,megabytes 20
RMTTRAIL added.
start *
#########target端################
配置targetDB同步队列
在target端添加checkpoint表
oggCI (ogg2 as ogg@ris) 3> add checkpointtable ogg.checkpoint
Successfully created checkpoint table ogg.checkpoint.
增加replicat进程
oggCI (ogg2) 8> add replicat rep1, exttrail /oracle/ogg/dirdat/e1,checkpointtable ogg.checkpoint
REPLICAT added.
修改rep1参数
oggCI (ogg2) 39> view param rep1
replicat rep1
ASSUMETARGETDEFS
userid ogg,password ogg
discardfile /oracle/ogg/dirdat/rep1_discard.txt,append,megabytes 10
map source.,target target.;
配置全局参数
oggCI (ogg2) 42> edit params ./GLOBAL
start *
CHECKPOINTTABLE ogg.checkpoint
###############拆分步骤############
souce端
1.停止extract进程
stop ext1
2.停止datapump进程
必须要等到投递进程投递完成才能停止,如果在没有投递完成的情况下可能会丢数据
info pump1等待RBA不在改变
stop pump1
记录extract检查点,拆分的进程也以此为同步起点
extract检查点包括 recover checkpoint:Sequence和RBA
current checkpoint Sequence和RBA
oggCI (ogg) 32> info ext1 ,showch
Recovery Checkpoint (position of oldest unprocessed transaction in the data source):
Thread #: 1
Sequence #: 56
RBA: 27484176
Timestamp: 2018-05-28 10:15:02.000000
SCN: 0.847917 (847917)
Redo File: /oracle/app/oracle/oradata/orcl/redo02.log
Current Checkpoint (position of last record read in the data source):
Thread #: 1
Sequence #: 56
RBA: 27487232
Timestamp: 2018-05-28 10:15:05.000000
SCN: 0.847921 (847921)
Redo File: /oracle/app/oracle/oradata/orcl/redo02.log
创造测试数据
两个表,每个表100万数据;
source用户
—对应ext1
create table PROJECT_ITEM_1 ( id int primary key, code varchar2(20),folder_code varchar2(20),name varchar2(10));
—对应ext2
create table PROJECT_ITEM_2 ( id int primary key, code varchar2(20),folder_code varchar2(20),name varchar2(10));
DECLARE
i INT;
BEGIN
i:=0;
WHILE(i<5000000)
LOOP --设置loop循环
i:=i+1;
INSERT INTO PROJECT_ITEM_n (ID, CODE, FOLDER_CODE, NAME) VALUES ( i, ‘37SG-’||i||’-’||i, ‘37-XK-’||i, ‘ceshishuju’);
COMMIT;
END LOOP;
END;
/
修改ext1对应抽取PROJECT_ITEM_1;
oggCI (ogg) 73> edit param ext1
extract ext1
userid ogg,password ogg
exttrail /oracle/ogg/dirdat/lt
ddl include mapped objname source.;
–table source.;
table source.PROJECT_ITEM_1;
修改配置文件dpump
oggCI (ogg) 76> view param pump1
extract pump1
userid ogg,password ogg
dynamicresolution
passthru
rmthost 192.168.100.26,mgrport 7810
rmttrail /oracle/ogg/dirdat/e1
–table source.*;
table source.PROJECT_ITEM_1;
添加ext2
oggCI (ogg) 70> add exttract /oracle/ogg/dirdat/e2,extract ext2
EXTTRAIL added.
oggCI (ogg) 71> add exttrail /oracle/ogg/dirdat/e2,extract ext2
EXTTRAIL added.
修改ext2参数文件
oggCI (ogg) 72> edit param ext2
extract ext2
userid ogg,password ogg
exttrail /oracle/ogg/dirdat/E2
ddl include mapped objname source.*;
table source.PROJECT_ITEM_2;
添加pump2对应ext2抽取进程的发送
oggCI (ogg) 74> add extract pump2,exttrailsource /oracle/ogg/dirdat/e2
EXTRACT added.
oggCI (ogg) 75> add rmttrail /oracle/ogg/dirdat/e2,extract pump2,megabytes 20
RMTTRAIL added.
修改配置文件dpump2
oggCI (ogg) 76> view param pump2
extract pump2
userid ogg,password ogg
dynamicresolution
passthru
rmthost 192.168.100.26,mgrport 7810
rmttrail /oracle/ogg/dirdat/e2
–table source.*;
table source.PROJECT_ITEM_2;
修改current read checkpoint
oggCI (ogg1) 34&get; alter ext2 extseqno 56, extrba 27487232
这里是重点
EXTRACT altered.
6.2 修改recovery checkpoint
oggCI (ogg1) 35&get; alter ext2 ioextseqno 56, ioextrba 27484176
#########target端##########
replicat拆分最好和extract拆分数量一致
停止replicat前确保info rep 中RBA不在变化,应用trail完成
修改原有参数文件,将extract拆分表的删除
oggCI (ogg2) 39> view param rep1
replicat rep1
ASSUMETARGETDEFS
userid ogg,password ogg
discardfile /oracle/ogg/dirdat/rep1_discard.txt,append,megabytes 20
map source.PROJECT_ITEM_1,target target.PROJECT_ITEM_1;
oggCI (ogg2) 7> add replicat rep2,exttract /oracle/ogg/dirdat/e2,checkpointtable ogg.checkpoint
REPLICAT added.
oggCI (ogg2) 11> edit param rep2
replicat rep2
ASSUMETARGETDEFS
userid ogg,password ogg
discardfile /oracle/ogg/dirdat/rep2_discard.txt,append,megabytes 20
map source.PROJECT_ITEM_2,target target.PROJECT_ITEM_2;
–source端
start *
–target端
start *