GoldenGate复制的几个简单测试

简介: 今天测试了一下GoldenGate的复制,发现还是有不少的细节之处需要测试,保证可控,而下面做了几个测试也加深了我对OGG的理解。 默认是不支持DDL的,而线上业务的DDL也是完全可控的,在升级前几天可以冻结DDL,所以在线业务中还是充分利用DML的数据变化即可,不过这些影响还是需要测试到的,做到心中有数。

今天测试了一下GoldenGate的复制,发现还是有不少的细节之处需要测试,保证可控,而下面做了几个测试也加深了我对OGG的理解。
默认是不支持DDL的,而线上业务的DDL也是完全可控的,在升级前几天可以冻结DDL,所以在线业务中还是充分利用DML的数据变化即可,不过这些影响还是需要测试到的,做到心中有数。
源端在Solaris下,数据库为10gR2,所以适用的OGG版本只是11.2的版本了。目标端为Linux X86,数据库为11gR2,也是使用同样版本的OGG软件。
同步的过程可以参考之前的一篇文章,我们来做3个测试。
测试1

我们插入一些数据,然后看看DDL的情况下,数据的同步情况。
源端插入一些数据。

n1@TESTDB> insert into test_tab select level,level||'obj' from dual connect by level<500000;
499999 rows created.
n1@TESTDB> commit;
Commit complete.

目标端查看,很快就同步过来了。

SQL>select count(*)from test_tab;
  COUNT(*)
----------
    499999

然后源端做一个truncate操作

n1@TESTDB> truncate table test_tab;
Table truncated.

接着源端插入一条数据,这样源端只存在1条数据

n1@TESTDB> insert into test_tab values('aaa','TAB');
1 row created.
n1@TESTDB> commit;
Commit complete.

目标端:       

SQL> select count(*)from test_tab;
  COUNT(*)
----------
    500000 由此可见,对于DDL类的操作,OGG默认是处理不了,新的数据变更还是能够正常应用。


测试2:我们测试一些delete的场景,看看OGG的同步情况,数据基于测试场景1
源端:

n1@TESTDB> delete from test_tab;
1 row deleted.
n1@TESTDB> commit;
Commit complete.

目标端:

SQL>select count(*)from test_tab;
  COUNT(*)
----------
    500000
SQL> /
  COUNT(*)
----------
    499999

可见这个场景中,竟然主库是一个delete的操作,没有过滤条件和delete全表等价,但是在应用的时候,还是做了过滤的条件应用,而非语句直接应用。

测试3,我们加入一些略微复杂的过滤条件,看看OGG的应用情况。
源端:

n1@TESTDB> delete from test_tab where rownum<500000;
0 rows deleted.
n1@TESTDB> commit;
Commit complete.

目标端,数据没有变化

  COUNT(*)
----------
    499999

通过上面的例子可以看出,主库做了条件删除,rownum相对是一个较模糊的概念,在OGG的同步的时候还是能够保证这个准确性,而且在一些更为负载的场景中,可以轻松做到字段映射之类的细粒度选择复制,实属不易。

目录
相关文章
|
9天前
|
测试技术 C语言
网站压力测试工具Siege图文详解
网站压力测试工具Siege图文详解
18 0
|
1月前
|
JavaScript jenkins 测试技术
这10款性能测试工具,收藏起来,测试人的工具箱!
这10款性能测试工具,收藏起来,测试人的工具箱!
|
1月前
|
人工智能 监控 测试技术
利用AI辅助工具提升软件测试效率
【2月更文挑战第17天】 随着科技的不断发展,人工智能(AI)在各个领域的应用越来越广泛。在软件测试领域,AI技术也发挥着重要作用。本文将探讨如何利用AI辅助工具提升软件测试效率,包括自动化测试、智能缺陷识别和预测等方面。通过引入AI技术,软件测试过程将变得更加高效、准确和可靠。
155 1
|
1月前
|
Web App开发 前端开发 测试技术
探索自动化测试工具:Selenium的威力与应用
探索自动化测试工具:Selenium的威力与应用
探索自动化测试工具:Selenium的威力与应用
|
28天前
|
测试技术
现代软件测试中的自动化工具与挑战
传统软件测试面临着越来越复杂的系统架构和不断增长的测试需求,自动化测试工具应运而生。本文将探讨现代软件测试中自动化工具的应用和挑战,深入分析其优势与局限性,为软件测试领域的发展提供思路和启示。
|
24天前
|
jenkins 测试技术 持续交付
现代软件测试中的自动化工具与挑战
随着软件开发领域的不断发展,自动化测试工具在测试过程中扮演着越来越重要的角色。本文将探讨现代软件测试中自动化工具的应用及面临的挑战,旨在帮助开发人员和测试人员更好地理解和应对自动化测试中的问题。
|
9天前
|
测试技术 Linux Apache
网站压力测试工具webbench图文详解
网站压力测试工具webbench图文详解
8 0