GoldenGate複製的幾個簡單測試
今天測試了一下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.
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
測試3,我們加入一些略微複雜的過濾條件,看看OGG的應用情況。
源端:
n1@TESTDB> delete from test_tab where rownum<500000;
0 rows deleted.
n1@TESTDB> commit;
Commit complete.
目標端,資料沒有變化
COUNT(*)
----------
499999
透過上面的例子可以看出,主庫做了條件刪除,rownum相對是一個較模糊的概念,在OGG的同步的時候還是能夠保證這個準確性,而且在一些更為負載的場景中,可以輕鬆做到欄位對映之類的細粒度選擇複製,實屬不易。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23718752/viewspace-2128539/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 搭建一個Oracle到Oracle的GoldenGate單向複製測試環境OracleGo
- mongoDB的主從複製簡單測試MongoDB
- GoldenGate簡單複製環境的搭建Go
- goldengate單向複製的配置Go
- GoldenGate單向複製配置(支援DDL複製)Go
- goldengate 單向複製配置Go
- GoldenGate的簡介與複製原理Go
- 簡單對比測試了幾個基於 swoole 的框架框架
- GoldenGate的複製原理Go
- GoldenGate配置(一)之單向複製配置Go
- 最簡單的螢幕複製程式(象素複製) (轉)
- 通過goldengate從ORACLE向mysql的單向複製GoOracleMySql
- 一個簡單的介面測試框架 demo框架
- goldengate配置DDL複製Go
- 資料複製_GoldenGateGo
- Oracle 11g GoldenGate單向複製配置(DML)OracleGo
- 實戰goldengate之ora-To-ora單向複製Go
- MySQL 5.5複製升級到5.7的一點簡單嘗試MySql
- 簡單配置mysql的主從複製MySql
- goldengate的sqlexec測試GoSQL
- aix的幾個簡單命令AI
- goldengate基於表複製Go
- GoldenGate多對一複製Go
- Oracle goldengate 11g (二)【DML and DDL單向複製】OracleGo
- 簡單的 ping 測試
- try的簡單效能測試
- postgresql 9.4 流複製簡單配置SQL
- 簡單搭建MySQL主從複製MySql
- 《安全測試常用的幾個工具》
- 簡單問題:JAVA物件的淺複製,有一個疑問!Java物件
- oracle goldengate 雙向複製配置OracleGo
- GoldenGate學習筆記(5)_配置例程之單向複製Go筆記
- oracle goldengate 雙活複製避免迴圈複製引數OracleGo
- 【PG流複製】Postgresql流複製部署過程及效能測試SQL
- 使用goldengate的資料泵進行Oracle-Oracle的單向複製GoOracle
- 聊聊MySQL主從複製的幾種複製方式MySql
- 簡單的單資料來源複製例項——流
- 讓 API 測試變的簡單API