千家信息网

Goldengate 实现Oracle for Oracle 单向DDL操作同步

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,在http://lqding.blog.51cto.com/9123978/1695162 文章中我们实现了表的DML操作同步。我们做如下测试在源端执行表的truncateSQL> truncate
千家信息网最后更新 2026年11月04日Goldengate 实现Oracle for Oracle 单向DDL操作同步

在http://lqding.blog.51cto.com/9123978/1695162 文章中我们实现了表的DML操作同步。

我们做如下测试

在源端执行表的truncate

SQL> truncate table tcustmer;Table truncated.

在目的端,查看表数据

SQL> select count(*) from tcustmer;  COUNT(*)----------         2

数据并没有同步

我们如何让Goldengate实现DDL操作的同步呢?


要想支持DDL同步,需要在源数据库上做些设置,使得可以跟踪DDL操作。包括如下内容Trigger、marker和history table,一个用户角色和其他各式各样的数据库对象。


  1. 首先要配置GLOBALS参数,告诉gg使用那个schema来存储DDL操作。

GGSCI (localhost.localdomain) 19> edit params ./GLOBALS-- GoldenGate GLOBALS parameter file--GGSCHEMA GGDDL


2. 使用sqlplus 创建ggddl用户,并安装ddl支持

SQL> conn / as sysdbaConnected.SQL> create user ggddl identified by ggddl ;User created.SQL> grant connect,resource to ggddl;Grant succeeded.


关闭数据回收站功能

SQL> ALTER SYSTEM SET RECYCLEBIN = OFF scope=spfile;System altered.SQL> startup forceORACLE instance started.Total System Global Area  835104768 bytesFixed Size             2217952 bytesVariable Size                574621728 bytesDatabase Buffers     255852544 bytesRedo Buffers                   2412544 bytesDatabase mounted.Database opened.

运行marker_setup.sql (ogg的安装目录,进入sqlplus)

[oracle@localhost ogg]$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.1.0 Production on Fri Sep 11 19:58:40 2015Copyright (c) 1982, 2009, Oracle.  All rights reserved.Connected to:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing optionsSQL> @marker_setup.sqlMarker setup scriptYou 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:GGDDLMarker setup table script complete, running verification script...Please enter the name of a schema for the GoldenGate database objects:Setting schema name to GGDDLMARKER TABLE-------------------------------OKMARKER SEQUENCE-------------------------------OKScript complete.

在弹出对话框输入GGSCHEMA的名称


运行ddl_setup.sql

SQL> @ddl_setup.sql


运行role_setup.sql

SQL> @role_setup.sqlGGS Role setup scriptThis script will drop and recreate the role GGS_GGSUSER_ROLETo use a different role name, quit this script and then edit the params.sql script to change the gg_role parameter to the preferred name. (Do not run the script.)You will be prompted for the name of a schema for the GoldenGate database objects.NOTE: The schema must be created prior to running this script.NOTE: Stop all DDL replication before starting this installation.Enter GoldenGate schema name:ggddlWrote file role_setup_set.txtPL/SQL procedure successfully completed.Role setup script completeGrant this role to each user assigned to the Extract, GGSCI, and Manager processes, by using the following SQL command:GRANT GGS_GGSUSER_ROLE TO where  is the user assigned to the GoldenGate processes.

创建好角色后,并不是要把这个角色赋予ggddl用户,而是要将该角色赋予Extract,Replicat等使用的schema 。

我们之前配置的是system用户

SQL> GRANT GGS_GGSUSER_ROLE TO system;Grant succeeded.


启用ddl,其实就是使trigger enable

SQL> @ddl_enable.sqlTrigger altered.


关闭Manager,Extract,Replicat

源端

GGSCI (localhost.localdomain) 1> stop Extract eorakkGGSCI (localhost.localdomain) 5> stop mgr !

目的端

GGSCI (localhost.localdomain) 1> stop replicat rorakkSending STOP request to REPLICAT RORAKK ...Request processed.GGSCI (localhost.localdomain) 2> stop manager


编辑Extract参数

GGSCI (localhost.localdomain) 5> edit params eorakk---- Change Capture parameter file to capture-- TCUSTMER and TCUSTORD Changes--EXTRACT EORAKKUSERID system, PASSWORD oracleRMTHOST 192.168.199.104, MGRPORT 7809EXTTRAIL ./dirdat/KKDDL INCLUDE ALLTABLE SCOTT.TCUSTMER;TABLE SCOTT.TCUSTORD;

在原有基础上添加一行DDL INCLUDE ALL


编辑Replicat参数

GGSCI (localhost.localdomain) 4>  edit params rorakk---- Change Delivery parameter file to apply-- TCUSTMER and TCUSTORD Changes--REPLICAT RORAKKUSERID system, PASSWORD oracleHANDLECOLLISIONSASSUMETARGETDEFSDISCARDFILE ./dirrpt/RORAKK.DSC, PURGEDDL INCLUDE MAPPEDMAP scott.tcustmer, TARGET scott.tcustmer;MAP scott.tcustord, TARGET scott.tcustord;

在原有基础上添加一行DDL INCLUDE MAPPED


启动Manager、Extract、Replicat

源端

GGSCI (localhost.localdomain) 6> start managerManager started.GGSCI (localhost.localdomain) 7> start extract eorakkSending START request to MANAGER ...EXTRACT EORAKK starting


目的端

GGSCI (localhost.localdomain) 5> start mgrManager started.GGSCI (localhost.localdomain) 16> start replicat rorakkSending START request to MANAGER ...REPLICAT RORAKK starting


验证数据

源端

SQL> truncate table tcustmer;Table truncated.SQL> desc tcustmer  Name                                         Null?    Type ----------------------------------------- -------- ---------------------------- CUST_CODE                            NOT NULL VARCHAR2(4) NAME                                                  VARCHAR2(30) CITY                                                  VARCHAR2(20) STATE                                                 CHAR(2)SQL> alter table tcustmer add state_desc varchar2(30);Table altered.

目的端

SQL> select * from tcustmer;no rows selectedSQL> desc tcustmer Name                                         Null?    Type ----------------------------------------- -------- ---------------------------- CUST_CODE                            NOT NULL VARCHAR2(4) NAME                                                  VARCHAR2(30) CITY                                                  VARCHAR2(20) STATE                                                 CHAR(2) STATE_DESC                                            VARCHAR2(30)


数据已同步。



数据 同步 用户 目的 角色 参数 运行 一行 基础 数据库 支持 配置 各式各样 内容 功能 名称 回收站 对话框 对象 就是 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中国互联网科技股 互联网和科技创新 互联网巨头反垄断金融科技 互联网科技未来 没上市的科技互联网公司 互联网金融公司科技 互联网 科技创业 安徽鑫晟辉互联网科技 兼蜜互联网科技 无锡溥仪互联网科技有限公司 湖南洣水互联网科技有限公司扣款 佛山市翊博互联网络科技有限公司 恒生互联网科技业指数调整周期 黑科技 体验场景 互联网大会 每天都有哪些好的互联网科技 半导体行业属于互联网高科技类吗 银川新华互联网科技学校原画 互联网科技职业技能培训学校 广西泛欧互联网科技有限公司 10位科技互联网大佬 咖啡豆 互联网与科技发展 深圳科技互联网 人人互联网科技是培训 科技赋能互联网健康 小米互联网科技园设置 中国航天科技大学国际工业互联网 搜狐科技互联网 无锡工业互联网科技有限公司 有人说阿里系是互联网科技企业
0