简单说明:
依据《11. Setting up a simple GoldenGate replication confguration between two single node databases》部署实验环境
并依据《20. Performing an initial setup required for GoldenGate DDL replication》执行DDL复制支持脚本
实验步骤:
1° 源端配置:
su - oracle
cd /ggs
./ggsci
STOP EXTRACT EGGTEST1
STOP EXTRACT PGGTEST1
exit
cd /ggs/dirprm
cat >EGGTEST1.prm<<EOF
EXTRACT EGGTEST1
USERID ggs, PASSWORD ggs
EXTTRAIL /ggs/dirdat/st
DDL INCLUDE MAPPED OBJNAME SCOTT.*
TABLE SCOTT.*;
EOF
cd /ggs
./ggsci
START EXTRACT EGGTEST1
START EXTRACT PGGTEST1
exit
2° 目标端配置:
su - oracle
cd /ggs
./ggsci
STOP REPLICAT RGGTEST1
exit
sqlplus / as sysdba
GRANT ALTER ANY TABLE to ggs;
exit
./ggsci
START REPLICAT RGGTEST1
exit
# 注意,如果做了第19篇的defgen实验
# 需要删除defgen配置,否则报错
3° 测试:
# 源库修改表结构
su - oracle
sqlplus scott/tiger
ALTER TABLE EMP ADD CITY VARCHAR(25);
exit
# 目标库检查表结构变化
su - oracle
sqlplus scott/tiger
desc EMP
exit
# 测试成功
简单总结:
应用进程默认开启DDL的应用,不需要额外的DDL配置
也有一些应用进程额外的配置实现更为复杂的DDL复制
一些和DDL复制相关的注意点:
OGG数据库用户需要额外的权限
GRANT ALTER ANY TABLE to ggs;
在源端抽取进程使用DDL INCLUDE或DDL EXCLUDE参数来过滤捕获的DDL对象
DDL INCLUDE OBJNAME "SCOTT.*"
DDL EXCLUDE OBJNAME "SCOTT.*"
可以只使用DDL INCLUDE语句来指定捕获的DDL对象列表
如果要使用DDL EXCLUDE语句,则必须至少存在一个DDL INCLUDE配置
自动添加表级附加日志的选项
DDLOPTIONS ADDTRANDATA
当源库发生CREATE TABLE语句时,该参数自动在创建的表级别打开附加日志
源库发生ALTER TABLE时,该参数也会自动更新附加日志组信息
当发生DDL应用时,产生报告信息的参数
DDLOPTIONS REPORT
[TOC]