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多版本并发控制机制源码分

    攻略 2021年12月3日
  • python模块之logging模块

    技术python模块之logging模块 python模块之logging模块logging日志模块
    日志模块的内容很多 但需要掌握的很少(会用即可) # 个人观点import logging# 日志

    礼包 2021年11月30日
  • Kotlin中可见性修饰符有什么用

    技术Kotlin中可见性修饰符有什么用这篇文章主要介绍Kotlin中可见性修饰符有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!前言在Kotlin中四种可见性修饰符:private、prot

    攻略 2021年11月11日
  • 9、gRPC

    技术9、gRPC 9、gRPC之前 protobuf 时安装过,不需安装快速开启 grpc 服务
    新建目录 testGrpc 。以及testGrpc/service 和testGrpc/clientte

    礼包 2021年12月5日
  • 香港多少平方公里,香港的总面积是多少平方公里

    技术香港多少平方公里,香港的总面积是多少平方公里香港的总面积香港多少平方公里:1104.43平方公里。 香港(英文:HongKong;普通话:xiānggǎng;缩写:HK),简称“港”,全称为中华人民共和国香港特别行政

    生活 2021年10月22日
  • springboot如何传参校验@Valid及对其的异常捕获方式

    技术springboot如何传参校验@Valid及对其的异常捕获方式这篇文章将为大家详细讲解有关springboot如何传参校验@Valid及对其的异常捕获方式,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读

    攻略 2021年10月20日