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)

相关推荐

  • mysql中的语句注释方法有哪些

    技术mysql中的语句注释方法有哪些这篇文章给大家分享的是有关mysql中的语句注释方法有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 mysql> SELE

    攻略 2021年11月1日
  • 为什么推荐网站迁移到香港云服务器

    技术为什么推荐网站迁移到香港云服务器香港云服务器将物理服务器集群拆分为许多虚拟块,每个用户收到一个虚拟段。使用云服务器能够提高网站安全性,并最大限度地减少了来自其他网站的干扰。香港云服务器比虚拟服务器更昂贵,但它提供了更

    礼包 2021年11月17日
  • MySQL GUI有哪些工具

    技术MySQL GUI有哪些工具这篇文章主要介绍“MySQL GUI有哪些工具”,在日常操作中,相信很多人在MySQL GUI有哪些工具问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MyS

    攻略 2021年11月12日
  • php如何去掉一维数组的键值

    技术php如何去掉一维数组的键值这篇文章主要介绍“php如何去掉一维数组的键值”,在日常操作中,相信很多人在php如何去掉一维数组的键值问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php

    攻略 2021年11月27日
  • HBase中数据分布模型是怎么样的

    技术HBase中数据分布模型是怎么样的这篇文章主要为大家展示了“HBase中数据分布模型是怎么样的”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“HBase中数据分布模型是怎么

    攻略 2021年12月8日
  • Java中boolean占几字节

    技术Java中boolean占几字节这篇文章主要介绍“Java中boolean占几字节”,在日常操作中,相信很多人在Java中boolean占几字节问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家

    攻略 2021年11月4日