千家信息网

OGG中主键与trandata的添加顺序是什么

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇文章给大家分享的是有关OGG中主键与trandata的添加顺序是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。最近在做OGG的压
千家信息网最后更新 2026年11月01日OGG中主键与trandata的添加顺序是什么

本篇文章给大家分享的是有关OGG中主键与trandata的添加顺序是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

最近在做OGG的压力测试,源库与目标库采用表级同步。 源库有20张表,每张表的列都在30-40个之间,数据量不小。

测试时候采用循环执行dml语句的方式来测试OGG同步效果,测试脚本示意如下:

该脚本只是用于说明过程,并不严谨

begin

for i in 1..100000 loop

Insert into table1 (test_id, col1,col2) values(i,x,x);

Insert into table2 (test_id, col1,col2) values(i,x,x);

...

Insert into table20 (test_id, col1,col2) values(i,x,x);

if mod(1,1000)=0 then

commit;

end if;

end loop;

commit;

end;

/

begin

for i in 1..100000 loop

update table1 set col1=48452 where test_id=i;

update table2 set col1=48452 where test_id=i;

…

update table20 set col1=48452 where test_id=i;

if mod(1,1000)=0 then

commit;

end if;

end loop;

commit;

end;

/

begin

for i in 1..100000 loop

delete table1 where test_id=i;

delete table2 where test_id=i;

…

delete table20 where test_id=i;

if mod(1,1000)=0 then

commit;

end if;

end loop;

commit;

end;

/

测试结果非常差,耗时长达10小时!其中抽取和投递速度都比较理想,耗时集中在复制进程执行delete操作部分。

GGSCI > lag REPSYM_T

Sending GETLAG request to REPLICAT REPSYM_T ...

Last record lag: 36481 seconds.

At EOF, no more records to process.

遇到这个问题有以下几个思路:

1. 设置多个复制进程,使其并行。

2. 在复制进程参数文件中加入batchsql参数。

3. 绑定变量优化delete语句。

直观感觉不是以上问题能解决的,但是也逐一尝试了。效果不明显。 测试时一直监控undo表空间和用户表空间都没有什么问题,所以也不是这部分问题。

接下来做了一个测试,不通过OGG复制的方式,在目标端创建测试表,插入10万数据,删除10w数据速度正常。看来问题就是在OGG复制上。

难道是没有主键? 使用下面的SQL语句查看了下结果。发现所有的表都有主键。

select owner,table_name,constraint_type,constraint_name,status

from dba_constraints

where owner='TEST'

and constraint_type in('P','U');

接下来再查看trandata状态,结果很出乎我的意料。

GGSCI > dblogin userid ogg,password ogg

GGSCI> info trandata TEST.*

...

Logging of supplemental redo log data is disabled for table TEST.table1.

..

看到这里,我明白问题出在哪了。

同步表没有主键,在设置了trandata后,update、delete操作使用所有列绑定为一个列作为唯一标识来同步变化的。后来手工添加了主键,但是trandata还是按照之前的方法来做,并没有采用主键。解决方法很简单,删除原有trandata,重新add trandata使主键生效。

GGSCI> delete trandata TEST.*

GGSCI> add trandata TEST.*

再次测试效果显著,复制进程的延时从36481降到了542秒!

GGSCI> lag REPSYM_T

Sending GETLAG request to REPLICAT REPSYM_T ...

Last record lag: 542 seconds.

At EOF, no more records to process.

总结:在部署OGG之前需要先对复制对象做个健康体检。其中最重要的一点就是源表需要有主键或唯一键。 如果在OGG部署完成后才发现源表缺少主键或者唯一键,需要手工添加后将原有trandata删除,再重建使其生效。这样在OGG同步update和delete操作时才能减少传输量,不至于将所有列打包绑定作为"键值"来应用。

以上就是OGG中主键与trandata的添加顺序是什么,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

测试 问题 同步 进程 就是 效果 数据 结果 语句 顺序 接下来 参数 手工 方式 方法 更多 目标 知识 空间 篇文章 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州紫鲸互联网科技有限公司 互联网科技活动banner 科技互联网产品 互联网科技卖菜 互联网公司 科技公司 狮子座互联网科技 嘟嘟瓜互联网科技 广州宏创互联网科技 互联网高科技企业 深圳卡尔迅互联网科技有限公司怎么样 济南华为互联网科技产业总部基地 创业天下互联网科技有限公司 互联网科技研发水平 互联网科技大赛获奖感言 互联网科技公司营业执照怎么办理 中和天地互联网科技有限公司 互联网时代的科技公司 产业互联网科技服务公司 西安左小互联网科技有限公司 互联网领先科技成果宣传视频 互联网为科技 杭州互联网科技公司 融贸通互联网科技 科技互联网创业计划书 博兴的互联网电子科技公司 互联网时代科技改变生活 互联网科技创新创业项目 科技互联网专业务虚会材料 安徽九吞吴互联网科技有限公司 互联网科技自媒体灵感
0