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

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

本文将与您分享在OGG添加主键和trandata的顺序。边肖觉得挺实用的,所以分享给大家学习。希望你看完这篇文章能有所收获。让我们和边肖一起看看。

最近,在OGG的压力测试中,源库和目标库在表级同步。源数据库中有20个表,每个表有30-40列,数据量不小。

在测试过程中,循环执行dml语句来测试OGG同步效果。测试脚本如下所示:

剧本只是用来说明过程,并不严谨。

开始

因为我在1.100000环路

插入表1 (test_id,col1,col2)值(I,x,x);

插入表2 (test_id,col1,col2)值(I,x,x);

.

插入表20 (test_id,col1,col2)值(I,x,x);

如果mod(1,1000)=0

提交;

结束if;

结束循环;

提交;

结束;

/

开始

因为我在1.100000环路

更新表1设置col1=48452,其中test _ id=I;

更新表2设置col1=48452,其中test _ id=I;

更新表20设置col1=48452,其中test _ id=I;

如果mod(1,1000)=0

提交;

结束if;

结束循环;

提交;

结束;

/

开始

因为我在1.100000环路

删除表1,其中test _ id=I;

删除表2,其中test _ id=I;

删除表20,其中test _ id=I;

如果mod(1,1000)=0

提交;

结束if;

结束循环;

提交;

结束;

/

测试结果非常差,耗时长达10个小时!其中提取和传递的速度比较理想,耗时集中在复制过程执行删除操作的部分。

GGSCI lagREPSYM _ T

向REPLICAT REPSYM _ T发送GETLAG请求.

最后记录落后:36481秒。

在EOF,没有更多的记录需要处理。

有几种方法可以解决这个问题:

1.并行设置多个复制过程。

2.将batchsql参数添加到复制过程参数文件中。

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

直观感受解决不了以上问题,但已经一一尝试过了。效果不明显。在测试过程中监控撤销表空间和用户表空间没有问题,所以这不是问题的一部分。

接下来,我们做了一个测试。我们没有使用OGG复制,而是在目标上创建了一个测试表,插入了100,000个数据,并以正常速度删除了10w个数据。看来问题在于OGG的复制。

没有主键吗?使用以下SQL语句检查以下结果。发现所有表都有主键。

选择所有者、表名、约束类型、约束名、状态

来自dba _约束

其中所有者='TEST '

和约束类型(' P ',' U ');

接下来,检查trandata的状态,结果非常出乎意料。

GGSCI dblogin用户id ogg,密码ogg

GGSCI信息传输数据测试。*

.

补充重做日志数据的记录是表TEST.table1的disabled

.

看到这里,我知道问题出在哪里了。

同步表中没有主键。设置trandata后,更新和删除操作使用绑定到一列中的所有列作为唯一标识符来同步更改。后来手动添加了主键,但是trandata按照前面的方法做了,没有使用主键。解决方法很简单。删除原始trans data并再次添加trans data以使主键生效。

GGSCI删除trandata TEST。*

添加传输数据测试。*

再次测试取得了显著的效果,复制过程的延迟从36481秒减少到542秒!

GGSCI lagREPSYM _ T

向REPLICAT REPSYM _ T发送GETLAG请求.

最后记录落后:542秒。

在EOF,没有更多的记录需要处理。

摘要:在部署OGG之前,您需要对复制的对象进行运行状况检查。最重要的一点是,源表需要有一个主键或唯一键。如果在OGG部署完成后发现源表缺少主键或唯一键,则需要手动添加,然后删除原始trandata,然后重新构建以使其生效。这样,当OGG同步更新和删除操作时,可以减少传输量,使得所有列打包和绑定都不能作为“键值”应用。

以上是在OGG添加主键和trandata的顺序。边肖认为,一些知识点可能会在我们的日常工作中看到或使用。我希望你能通过这篇文章学到更多的知识。更多详情请关注行业资讯频道。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/86574.html

(0)

相关推荐

  • 怎么编写Linux内核模块HelloWorld

    技术怎么编写Linux内核模块HelloWorld本篇内容介绍了“怎么编写Linux内核模块HelloWorld”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情

    攻略 2021年11月30日
  • 传输层协议与路由器

    技术传输层协议与路由器 传输层协议与路由器1、 TCP协议:
    面向连接的,可靠的进程到进程通信的协议
    TCP提供全双工服务
    2、UDP协议:
    无连接的不可靠的协议
    效率高
    3、TCP报文段U R G :

    礼包 2021年12月2日
  • 早餐有哪些,你们那的早餐什么最好吃

    技术早餐有哪些,你们那的早餐什么最好吃我在内蒙古呼和浩特呆了12年,已经习惯内蒙的早点,内蒙的早点相对于我老家江苏来说比较粗狂,拿东北人的话来说就是基本是硬早点,如果说内蒙的早点最有特色的我给大家推荐三种我个人认为最能代

    生活 2021年10月27日
  • Java 内存模型

    技术Java 内存模型 Java 内存模型Java 内存模型
    Java 内存模型简称JMM,全名 Java Memory Model 。Java 内存模型规定了 JVM 应该如何使用计算机内存(RAM)

    礼包 2021年11月24日
  • 怎么使用百度siteapp将PC网站转化成手机网站

    技术怎么使用百度siteapp将PC网站转化成手机网站本篇文章为大家展示了怎么使用百度siteapp将PC网站转化成手机网站,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。许多朋友

    攻略 2021年11月3日
  • 6英尺是多少厘米,六英尺三英寸,大约合多少厘米

    技术6英尺是多少厘米,六英尺三英寸,大约合多少厘米六英尺三英寸 = 190.5 cm6英尺是多少厘米。分析过程如下:1 foot 英尺(呎) = 0.00018939393939394miles(英里)=12 inche

    生活 2021年10月25日