Oracle使用goldengate分別向Oracle和mysql雙路的單向複製
一.Oracle分別向Oracle和mysql雙路的單向複製是在:
ORACLE-mysql的單向複製基礎上做的。http://blog.csdn.net/q947817003/article/details/13294937
二.分別再在ORACLE主庫及ORACLE目標庫上增加相應程式
ORACLE源端增加:1.增加配置extract程式
按順序執行以下操作:add extract extora,tranlog, begin now
目標端檔案的位置--這裡要注意rmttrail指的是目標端的路徑。
add rmttrail /u01/ogg/dirdat/ot, extract extora
edit params extora
在開啟的編輯視窗寫入
extract extora
userid ogg, password ogg
rmthost 192.168.1.213, mgrport 7809
rmttrail /u01/ogg/dirdat/ot
table test5.test5;
##################################################
2.目標端增加replicat程式:
-----我這裡MYSQL目標庫和ORACLE目標庫在同一臺虛擬機器,如果是同樣情況要要注意:OGG FOR MYSQL和OGG FOR ORACLE安裝在不同目錄,並且所涉及的MGR及接收、抽取程式都是獨立的。
相關的程式都需要單獨啟動。
同時要注意OGG FOR MYSQL和OGG FOR ORACLE兩個主程式要執行在不同的埠,如我的OGG FOR ORACLE執行在7809. OGG FOR MYSQL執行在7810
逐次輸入以下命令:
dblogin userid ogg,password ogg
add checkpointtable ogg.checkpoint ###########如果之前已經配置過增加這個表,就不需要執行這一句。
add replicat repora,exttrail /u01/ogg/dirdat/ot, checkpointtable ogg.checkpoint
edit params repora
在彈出編輯視窗輸入以下:---我這裡只設定了同步test5使用者的test5表
試中再建立。
replicat repora
handlecollisions
assumetargetdefs
userid ogg,password ogg
discardfile /u01/ogg/dirdat/repora_discard.txt,append, megabytes 10
map test5.test5, target test5.test5;
三、在ORACLE目標庫建立使用者及表,並啟動主及目標庫的OGG程式。
1.ORACEL目標資料庫中建立使用者和表所使用的語句如下:使用DBA使用者執行 create user test5 identified by test5;
grant connect,resource to test5;
conn test5/test5
create table test5(aa int primary key);
2.啟動主及目標庫的OGG程式
涉及語句大致如下:
start mgr
start extract extmysql 或start extmysql
start replicat repmysql 或start repmysql
start extract extora 或start extora
start replicat repora 或start repora
3.程式 啟動後的狀態如下:
ORACLE主庫OGG程式: --只用不用 了EXTMYSQL EXTORA兩個,其它的是其它複製測試用的,不用管。--以下的OGG程式同理。
GGSCI (bys001.oel.com) 21> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT ABENDED EXT1 00:00:00 26:20:26
EXTRACT ABENDED EXT3 00:00:00 26:18:25
EXTRACT RUNNING EXTMYSQL 07:39:30 00:00:04
EXTRACT RUNNING EXTORA 00:00:00 00:08:28
EXTRACT ABENDED PUMP3 00:00:00 26:20:29
REPLICAT ABENDED REP2 00:00:00 26:18:29
MYSQL目標庫OGG程式:
GGSCI (bys2.oel.com) 4> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
REPLICAT RUNNING REPMYSQL 00:00:00 00:00:00
ORACLE目標庫OGG程式:
GGSCI (bys2.oel.com) 14> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT ABENDED EXT2 00:00:00 26:19:06
REPLICAT ABENDED REP1 00:00:00 26:18:59
REPLICAT ABENDED REP3 00:00:00 26:18:58
REPLICAT RUNNING REPORA 00:00:00 00:00:
所涉及的OGG相關程式均正常執行。
四、同步測試
注:下面測試中在統計SQL語句執行時間中是不準確的,比如下面的語句
00:19:21 TEST5@bys1>insert into test5 values(333);
1 row created.
00:19:50 TEST5@
如果統計插入語句的執行時間,應該統計執行完語句的返回的下一個命令提示符中的時間,即00:19:50,而不是00:19:21。目前沒實驗環境,暫且這樣。
1.在源庫做插入操作:
--源庫已經有兩條資料,是在做ORACLE-mysql的單向複製時留下的,這裡不清除,測試可以看到,新增加的ORACLE目標庫中初始沒有這兩條資料,我的配置裡OGG也不會自動同步源庫與目標庫表中存在的資料。
TEST5@bys1>select * from test5;
AA
----------
100
200
TEST5@bys1>set time on
00:19:21 TEST5@bys1>insert into test5 values(333);
1 row created.
00:19:50 TEST5@bys1>commit;
Commit complete.
00:19:53 TEST5@bys1>---注意記錄一下提交的時間,方便在目標庫檢視資料同步情況。
2.目標ORACLE庫查詢資料同步情況:
---因為目標庫內資料未做初始化,原庫有兩條資料100和200.目標庫未初始化這些資料。--可以手動插入那兩條資料即可。[oracle@bys2 mysqlogg]$ sqlplus test5/test5
TEST5@bys2>set time on
00:19:32 TEST5@bys2>select * from test5;
no rows selected
00:19:54 TEST5@bys2>select * from test5; -
no rows selected
00:19:57 TEST5@bys2>select * from test5; ---可以看到,主庫提交後延遲有4秒鐘多。
AA
----------
333
3.目標MYSQL庫同步情況:
[oracle@bys2 mysqlogg]$ mysql -u root -p oggtestEnter password:
mysql> select * from test5;
+-----+
| aa |
+-----+
| 100 |
| 200 |
| 333 |
+-----+
3 rows in set (0.00 sec)
mysql> select * from chktab; ----查詢這個表, audit_ts 列在OACLE源庫發出COMMIT後就有了更新。 last_update_ts列是在00:19:54秒,和ORACLE目標庫一樣是有4秒多的延遲了。
+------------+------------+-------+------+----------------------------+---------------------+---------------------+---------------+
| group_name | group_key | seqno | rba | audit_ts | create_ts | last_update_ts | current_dir |
+------------+------------+-------+------+----------------------------+---------------------+---------------------+---------------+
| REPMYSQL | 2345303211 | 2 | 1218 | 2013-08-31 00:19:50.795556 | 2013-08-30 14:14:31 |2013-08-31 00:19:54 | /u01/mysqlogg |
+------------+------------+-------+------+----------------------------+---------------------+---------------------+---------------+
1 row in set (0.00 sec)
相關文章
- 通過goldengate從ORACLE向mysql的單向複製GoOracleMySql
- oracle goldengate 雙向複製配置OracleGo
- goldengate不使用資料泵完成Oracle-Oracle的雙向複製GoOracle
- 使用goldengate的資料泵進行Oracle-Oracle的單向複製GoOracle
- Oracle 11g GoldenGate單向複製配置(DML)OracleGo
- goldengate單向複製的配置Go
- goldengate 單向複製配置Go
- Oracle goldengate 11g (二)【DML and DDL單向複製】OracleGo
- 搭建一個Oracle到Oracle的GoldenGate單向複製測試環境OracleGo
- ogg12 oracle to oracle 雙向DDL複製Oracle
- GoldenGate單向複製配置(支援DDL複製)Go
- GoldenGate配置(二)之雙向複製配置Go
- 使用資料泵進行Oracle-Oracle的單向複製。Oracle
- 【GoldenGate】Oracle GoldenGate(二) 雙向同步配置GoOracle
- MySQL主從雙向同步複製MySql
- OGG 的配置:不使用資料泵完成Oracle-Oracle的雙向複製。Oracle
- 配置Oracle GoldenGate for DB2(雙向)OracleGoDB2
- GoldenGate配置(一)之單向複製配置Go
- GoldenGate實現oracle和sqlserver雙向資料同步GoOracleSQLServer
- PostgreSQL雙向複製教程SQL
- 實戰goldengate之ora-To-ora單向複製Go
- oracle goldengate 雙活複製避免迴圈複製引數OracleGo
- Oracle GoldenGate系統之----雙向同步資料表OracleGo
- Oracle9i高階複製(單向複製部分)實施完畢Oracle
- 安裝配置Oracle GoldenGate for DB2(單向)OracleGoDB2
- 【GoldenGate】Oracle GoldenGate(一) 安裝與DML單向同步配置GoOracle
- OGG雙向DML複製操作
- GoldenGate學習筆記(5)_配置例程之單向複製Go筆記
- 使用GoldenGate 實現Oracle for Oracle 單向資料同步(實現表的DML操作同步)GoOracle
- GoldenGate雙向同步配置Go
- Linux下GoldenGate單機雙向同步LinuxGo
- Oracle GoldenGate系統之----單向同步資料表OracleGo
- goldengate 單向DDLGo
- Step by Step TimesTen --- DataStore的雙向複製( 一)AST
- Step by Step TimesTen --- DataStore的雙向複製( 二)AST
- ogg12 mysql to oracle 單向同步MySqlOracle
- Oracle GoldenGate系統之----單向同步資料表(續)OracleGo
- Oracle GoldenGate10g→11g單向DDL部署OracleGo