GoldenGate复制单表开并行
admin
2023-05-25 05:40:02
0

最近有几项业务下线,需要从一张表中删除6.8亿多条数据。想办法把数据删除掉了,但对应的ogg灾备端复制时有了的延迟,而且延迟的时间起来越长。

对于表太多造成的延迟可以把所有表分为多个组来做复制,于是想复制进程是否可以对单表复制开并行。上网查到了相关的资料,可以使用@RANGE函数对单表作表内的拆分,通过对表上主键列作hash算法将该表上发生的变更均分到多个replicat上来降低单个replicat组件的负载。

动手实验一下:

ogg搭建过程不再重复,从网上就可以查到。

实验过程:模拟在源端对表scott.emp1做大量的dml操作,复制进程出现延迟,在目标端对复制表scott.emp1开并行3个进程。

源端插入数据:

SQL> insert into scott.emp1 select * from scott.emp;

14 rows created.

SQL> commit;

Commit complete.

SQL> insert into scott.emp1 select * from scott.emp1;

14 rows created.

SQL> /

28 rows created.

SQL> /

.......

SQL> /

1835008 rows created.

SQL> commit;

Commit complete.

SQL> select count(*) from scott.emp1;

  COUNT(*)
----------
   3670016

目标端有延迟

GGSCI (rhel5) 15> info all

Program     Status      Group       Lag           Time Since Chkpt

MANAGER     RUNNING                                           
REPLICAT    RUNNING     REPTAB      00:09:08      00:00:04

停掉复制进程

拆分复制进程,对表scott.emp1分三个进程复制

#源复制进程

GGSCI (rhel5) 23> view params reptab

replicat reptab
SETENV (NLS_LANG="AMERICAN_AMERICA.ZHS16GBK")
SETENV (ORACLE_SID="orcl")
userid ogg,password 123456
reperror default,discard
assumetargetdefs
discardfile /goldengate/dirrpt/reptab.dsc,append,megabytes 1024
gettruncates
dynamicresolution
map scott.emp1, target scott.emp1 ;
map scott.emp, target scott.emp ;

源进程修改为

map scott.emp1, target scott.emp1 ,FILTER(@RANGE(1,3));

多复制出两个参数文件:

GGSCI (rhel5) 1> view params reptab02

replicat reptab02
SETENV (NLS_LANG="AMERICAN_AMERICA.ZHS16GBK")
SETENV (ORACLE_SID="orcl")
userid ogg,password 123456
reperror default,discard
assumetargetdefs
discardfile /goldengate/dirrpt/reptab.dsc,append,megabytes 1024
gettruncates
dynamicresolution
map scott.emp1, target scott.emp1 ,FILTER (@RANGE(2,3));


GGSCI (rhel5) 2> view params reptab03

replicat reptab03
SETENV (NLS_LANG="AMERICAN_AMERICA.ZHS16GBK")
SETENV (ORACLE_SID="orcl")
userid ogg,password 123456
reperror default,discard
assumetargetdefs
discardfile /goldengate/dirrpt/reptab.dsc,append,megabytes 1024
gettruncates
dynamicresolution
map scott.emp1, target scott.emp1 ,FILTER (@RANGE(3,3));

添加两个复制进程,extseqno和extrba与源进程一致

GGSCI (rhel5) 9> info reptab

REPLICAT   REPTAB    Last Started 2017-05-05 16:18   Status ABENDED
Checkpoint Lag       00:09:08 (updated 00:09:38 ago)
Log Read Checkpoint  File ./dirdat/tl000003
                     2017-05-05 16:09:11.000187  RBA 194186157
                     
GGSCI (rhel5) 10> add replicat reptab02, exttrail ./dirdat/tl,extseqno 3 extrba 194186157,checkpointtable ogg.checkpoint
REPLICAT added.


GGSCI (rhel5) 11> add replicat reptab03, exttrail ./dirdat/tl,extseqno 3 extrba 194186157,checkpointtable ogg.checkpoint
REPLICAT added.

启动复制进程

GGSCI (rhel5) 12> start reptab*

Sending START request to MANAGER ...
REPLICAT REPTAB starting

Sending START request to MANAGER ...
REPLICAT REPTAB02 starting

Sending START request to MANAGER ...
REPLICAT REPTAB03 starting

查看数据库里ogg对应的会话

SQL> select module,sql_id from v$session where username='OGG';

MODULE																		 SQL_ID
------------------------------------------------------------------------------------------------------------------------------------------------ ---------------------------------------
OGG-REPTAB03-OPEN_DATA_SOURCE															 1cxrusnmn01hz
OGG-REPTAB-OPEN_DATA_SOURCE                                                                                                                      1cxrusnmn01hz
OGG-REPTAB02-OPEN_DATA_SOURCE															 1cxrusnmn01hz

SQL> select sql_text from v$sqlarea where sql_id='1cxrusnmn01hz';

SQL_TEXT
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
INSERT INTO "SCOTT"."EMP1" ("EMPNO","ENAME","JOB","MGR","HIREDATE","SAL","COMM","DEPTNO") VALUES (:a0,:a1,:a2,:a3,:a4,:a5,:a6,:a7)

可以看到出现了三个会话,都是对应的对表scott.emp1的插入语句。也就是说实现了对scott.emp1表的并行复制。


MOS上也有相关的文档介绍相应的功能,文档:1320133.1和1512633.1

参考:blog.itpub.net/15187685/viewspace-1219731/


相关内容

热门资讯

幼师转型护理员,幼儿园的尽头是... 幼儿园和养老院的区别,无非是把“小朋友”换成“老小孩”。从这个角度看,幼师转养老,确实比多数行业的转...
美财长透露与伊朗达成协议时间 据凤凰卫视报道,美国官员和卡塔尔方面8月4日均表示,围绕霍尔木兹海峡及美伊谈判取得积极进展,外界对海...
私下谈判态度软化?伊朗考虑让欧... 据凤凰卫视援引彭博社报道,多名知情外交官透露,伊朗正在考虑允许欧洲国家参与清除霍尔木兹海峡水雷,作为...
风声|丈夫和小三冷冻胚胎、妻子... 作者丨赵宏 陈碧法学教授上海婚外冷冻胚胎案,近日持续发酵。朱女士与丈夫结婚21年,其间因支持丈夫创业...
夯实人工智能发展的制度保障 新一轮智能化浪潮席卷全球,人工智能正在全方位重构人类经济社会发展模式,给人类文明进步带来深远影响。在...
近代化学之父罗伯特·波义耳:从... 近代化学之父罗伯特·波义耳:从紫色罗兰到科学奠基的传奇一生 在科学璀璨的星空中,十七世纪的英国化学家...
空中客车启动新一代可折叠机翼测... 【CNMO科技消息】8月4日,据外媒报道,欧洲飞机制造商空中客车公司启动了一项新测试项目,在一架A3...
台湾一富商被杀害,34岁前员工... 【环球网报道】据台湾中时新闻网8月5日报道,台湾屏东县枋寮乡56岁贵金属公司黄姓董事长7月在自家豪宅...
12岁摩洛哥男孩哭求留在西班牙... 在西班牙北非飞地休达,一名12岁摩洛哥孤身男孩在被士兵押送遣返时,当场哭喊恳求不要把自己送回国。行至...
美国巴西外交冲突升级了! 这两个大国,真撕破脸了。一个是美国,世界老大;另一个是巴西,拉美No.1。最近的事情,说起来,其实挺...