Oracle GoldenGate 单向复制配置:处理DDL变更
"这篇文章主要介绍了如何在Linux环境下配置Oracle GoldenGate进行单向复制,并特别关注了处理DDL(数据定义语言)的操作。Oracle GoldenGate是一种实时数据复制解决方案,它允许在不同数据库之间同步数据,包括DML(数据操纵语言)和DDL操作。在设置Oracle GoldenGate时,需要确保源数据库(source)上的DDL更改能够正确地应用于目标数据库(target),以保持数据的一致性。" 在Oracle GoldenGate的配置过程中,DDL的处理是一个关键环节。通常,当源数据库执行DDL语句时,如创建表、修改表结构或删除表,这些变更需要被捕捉并同步到目标数据库。如果不正确地处理DDL,可能会导致目标数据库的结构与源数据库不匹配,进而影响数据的完整性和应用的正常运行。 首先,要配置Oracle GoldenGate,需要在源数据库上创建并授权一个专门用于GoldenGate的schema(例如,ggschema)。在这个例子中,我们看到通过SQL*Plus连接到sysdba角色,并授予execute权限给ggschema对utl_file包的访问,这通常是为了日志文件的读取和写入。 接着,通过 GGSCI (GoldenGate Command Interpreter) 工具编辑参数文件(/GLOBAL/),设置ggschema为Oracle GoldenGate数据库对象的schema。这样,GoldenGate将在这个schema下创建和管理其内部对象,如捕获进程、重放进程等。 在完成了基本的环境配置后,需要执行marker_setup.sql脚本来创建Oracle GoldenGate的标记对象。这个脚本会提示输入一个schema名称,该名称用于存储GoldenGate的数据库对象。注意,这个schema应在开始配置之前预先创建。 Oracle GoldenGate处理DDL的方式是通过捕获DDL语句,将其转化为可以跨数据库传输的格式,然后在目标数据库上重新执行这些语句。这样,无论源数据库发生何种DDL变化,目标数据库都能够同步更新,保持与源数据库的结构一致。 在DML操作方面,例如在源数据库上插入、更新或删除记录,这些变更会被GoldenGate捕获,并同步到目标数据库。在上述示例中,我们看到在源数据库上创建了一个名为t2的表,并插入了一条记录,然后这条记录被成功地复制到了目标数据库。 Oracle GoldenGate的单向复制配置,特别是对DDL的支持,是确保数据实时同步和一致性的重要组成部分。正确配置和管理Oracle GoldenGate,可以实现高效、可靠的数据复制,这对于分布式系统和灾难恢复策略来说至关重要。
一:验证之前的配置不支持DDL复制,这里在source端,新建一张表,发现无法复制到target端!target端也新建相同的表后,DML操作可以成功复制
[root@db1 ~]# su - oracle
[oracle@db1 ~]$ sqlplus hr/hr
SQL> create table t2 (id number primary key,name varchar2(20));
Table created.
SQL> conn hr/hr@db2
Connected.
SQL> select tname from tab where tname='T2';
no rows selected
SQL> create table t2 (id number primary key,name varchar2(20));
Table created.
SQL> conn hr/hr
Connected.
SQL> insert into t2 values (1,'one');
1 row created.
SQL> commit;
Commit complete.
SQL> conn hr/hr@db2
Connected.
SQL> select * from t2;
ID NAME
---------- --------------------
1 one
二:开始配置OGG支持DDL复制(在source端操作)
SQL> conn /as sysdba
Connected.
SQL> grant execute on utl_file to ogg;
Grant succeeded.
[oracle@db1 ~]$ cd $GGATE
[oracle@db1 ogg]$ ggsci
GGSCI (db1) 1> edit param ./GLOBALS
GGSCI (db1) 2> view param ./GLOBALS
ggschema ogg
2:运行相关的sql脚本
[oracle@db1 ~]$ cd $GGATE
[oracle@db1 ogg]$ sqlplus /nolog
SQL> conn /as sysdba
Connected.
SQL> @marker_setup.sql
Marker setup script
You will be prompted for the name of a schema for the Oracle GoldenGate database objects.
NOTE: The schema must be created prior to running this script.
NOTE: Stop all DDL replication before starting this installation.
Enter Oracle GoldenGate schema name:ogg
Marker setup table script complete, running verification script...
Please enter the name of a schema for the GoldenGate database objects:
Setting schema name to OGG
剩余8页未读,继续阅读
- 粉丝: 0
- 资源: 7
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦