简单配置GoldenGate双向复制
在完成ogg的单向复制配置后,自然会想着向前推进一层,实现双向复制;在实际应用中,双向复制面临着许多问题,主要有如下几点:
1. 如果两个库同时更新同一条记录 如何处理?
2. 如果网络出现失败如何处理?
3. 如果数据不同步后如何修复?
本文介绍如何在前文的基础上简单实现ogg的双向复制!双向复制一般用于双业务中心环境下,目前笔者的生产环境中未使用到ogg,ogg系列的文章只是从技术上提前做一个准备,因而许多问题的细节未能理清,后续将继续学习研究!在开始之前,请先配置好db1-db2的单向复制(include ddl replicat)
一:配置db1,添加checkpoint表(本文db1和db2互为source和target,因而直接采用db1和db2来标识两台数据库服务器)
1. GGSCI (db1) 3> view params ./GLOBALS
2. ggschema ogg
3. checkpointtable ogg.ggschkpt
4.
5. GGSCI (db1) 4> exit
6.
7. [oracle@db1 ogg]$ ggsci
8. GGSCI (db1) 2> dblogin userid ogg,password ogg
9. Successfully logged into database.
10.
11. GGSCI (db1) 3> add checkpointtable
12. No checkpoint table specified, using GLOBALS specification (ogg.ggschkpt)...
13. Successfully created checkpoint table ogg.ggschkpt.
二:配置db2,运行相关的脚本,支持DDL的复制
1. [oracle@db2 ogg]$ sqlplus /nolog
2. SQL> conn /as sysdba
3. Connected.
4. SQL> grant execute on utl_file to ogg;
5. Grant succeeded.
6.
7. [oracle@db2 ogg]$ ggsci
8. GGSCI (db2) 1> view params ./GLOBALS
9. ggschema ogg
10. checkpointtable ogg.ggschkpt
11.
12. [oracle@db2 ogg]$ sqlplus /nolog
13. SQL> conn /as sysdba
14. Connected.
15. SQL> @marker_setup.sql
16. SQL> @ddl_setup.sql
17. SQL> @role_setup.sql
18. SQL> grant ggs_ggsuser_role to ogg;
19. SQL> @ddl_enable.sql
20. SQL> @?/rdbms/admin/dbmspool.sql
21. SQL> @ddl_pin.sql ogg
三:db2上配置extract和pump进程
1. [oracle@db2 ogg]$ ggsci
2. GGSCI (db2) 1> dblogin userid ogg,password ogg
3. Successfully logged into database.
4.
5. GGSCI (db2) 2> add trandata hr.*
6. GGSCI (db2) 5> view params eora_t2
7. extract eora_t2
8. setenv (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)
9. userid ogg,password ogg
10. tranlogoptions excludeuser ogg //避免出现死循环复制,db1上的extract进程也需要进行此项设置
11. exttrail ./dirdat/ab
12. table hr.*;
13.
14. GGSCI (db2) 6> add extract eora_t2,tranlog,begin now
15. EXTRACT added.
相关新闻>>
- 发表评论
-
- 最新评论 更多>>