视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
GoldenGate实现OracleforOracle单向DDL操作同步
2020-11-09 16:08:29 责编:小采
文档


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

在 文章中我们实现了表的DML操作同步。

我们做如下测试

在源端执行表的truncate

SQL> truncate table tcustmer;
Table truncated.

在目的端,查看表数据

SQL> select count(*) from tcustmer;

COUNT(*)
----------
2

数据并没有同步

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

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

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

GGSCI (localhost.localdomain) 19> edit params ./GLOBALS

-- GoldenGate GLOBALS parameter file
--
GGSCHEMA GGDDL

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

SQL> conn / as sysdba
Connected.
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 force
Oracle instance started.

Total System Global Area 835104768 bytes
Fixed Size 2217952 bytes
Variable Size 574621728 bytes
Database Buffers 255852544 bytes
Redo Buffers 2412544 bytes
Database mounted.
Database opened.

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

[oracle@localhost ogg]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Fri Sep 11 19:58:40 2015

Copyright (c) 1982, 2009, Oracle. All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

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:GGDDL


Marker setup table script complete, running verification script...
Please enter the name of a schema for the GoldenGate database objects:
Setting schema name to GGDDL

MARKER TABLE
-------------------------------
OK

MARKER SEQUENCE
-------------------------------
OK

Script complete.

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

运行ddl_setup.sql

SQL> @ddl_setup.sql

运行role_setup.sql

SQL> @role_setup.sql

GGS Role setup script

This script will drop and recreate the role GGS_GGSUSER_ROLE
To 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:ggddl
Wrote file role_setup_set.txt

PL/SQL procedure successfully completed.


Role setup script complete

Grant 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.sql

Trigger altered.

关闭Manager,Extract,Replicat

源端

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

目的端

GGSCI (localhost.localdomain) 1> stop replicat rorakk
Sending 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 EORAKK
USERID system, PASSWORD oracle
RMTHOST 192.168.199.104, MGRPORT 7809
EXTTRAIL ./dirdat/KK
DDL INCLUDE ALL
TABLE SCOTT.TCUSTMER;
TABLE SCOTT.TCUSTORD;

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

编辑Replicat参数

下载本文
显示全文
专题