OGG 19C 集成模式启用DDL复制

接Oracle19C PDB 环境下 OGG 搭建(PDB to PDB)_cdb架构 配置ogg-CSDN博客,给 pdb 环境 ogg 配置 DDL 功能。

一个报错

复制代码
SYS@hfdb1> @ddl_setup.sql

Oracle GoldenGate DDL Replication setup script

Verifying that current user has privileges to install DDL Replication...
BEGIN
*
ERROR at line 1:
ORA-20783:
Oracle GoldenGate DDL Replication setup:
*** Trigger based DDL Replication is not supported on a Multitenant database.
ORA-06512: at line 14

ogg经典模式为了启用DDL还需要执行一堆DDL脚本,而使用集成模式之后只需在抽取和复制进程添加DDL简单语句即可。
注意:多租户环境只支持ogg集成模式。

源端新建表,索引,约束,主键,删除表,增删字段等等,通通在目标端都可以自动复制应用。

配置 ogg 源端

复制代码
-- DDL INCLUDE ALL --如果需要过滤一些不必要的DDL命令,可以参阅更多参数细节https://docs.oracle.com/en/middleware/goldengate/core/19.1/reference/ddlsubst.html#GUID-27ABBB78-9DA3-4E51-A961-1FC49340C2B2

-- 源端抽取进程添加
---DDL INCLUDE ALL
DDL INCLUDE MAPPED EXCLUDE MAPPED OBJTYPE 'TRIGGER' EXCLUDE MAPPED INSTR 'FOREIGN KEY'
DDLOPTIONS ADDTRANDATA, REPORT

重启抽取进程

配置目标端

复制代码
-- 目标端添加
DDL INCLUDE MAPPED
DDLOPTIONS REPORT

重启复制进程

复制代码
2025-01-22 09:59:50  ERROR   OGG-00519  Fatal error executing DDL replication: error [Error code [1031], ORA-01031: insufficient privileges
], no error handler present.

目标端的 ogg 同步用户没有 ddl 权限。

解决:

复制代码
-- 登录到cdb
sqlplus as sysdba
grant dba to C##GGUSER;
-- 登录到pdb
alter session set container=pdb;
grant dba to C##GGUSER;

测试 ddl 同步

在源端新建测试表

复制代码
CREATE TABLE emp_3 (
id INT  PRIMARY KEY,
name VARCHAR(100) NOT NULL,
salary DECIMAL(10, 2)
);
insert into emp_3 values(14,'hefei1',5000);
insert into emp_3 values(12,'hefei2',6000);
insert into emp_3 values(15,'hefei3',6030);
commit;

目标端正常创建表和同步数据。

相关推荐
lusklusklusk1 小时前
Oracle数据库基础之11_Duplicate和Dataguard和RAC
数据库·oracle
PHP实战开发录2 小时前
MySQL字段加索引为什么没变快
数据库·mysql·php·开发
红红谈说4 小时前
标签化推送与已读统计怎么做?一次通知链路的工程复盘
数据库·消息推送·数字乡村·集合运算·已读回执·标签体系·写入放大
Shadow(⊙o⊙)4 小时前
MySQL索引
数据库·mysql
fb_123455 小时前
MySQL运维实战:备份恢复+主从复制+读写分离+MHA高可用(超详细手把手教程)
运维·mysql·oracle
倔强的石头_6 小时前
多环境配置治理:开发、测试、生产连接信息如何隔离
数据库
杨云龙UP6 小时前
一次数据库查询缓慢故障复盘:大表数据增长、SQL全表扫描导致系统响应异常
linux·运维·服务器·数据库·sql·mysql
2501_933670796 小时前
2027 应用统计学秋招选岗指南:统计、SQL、业务指标如何对应岗位
数据库·sql
Alice-YUE7 小时前
向量数据库选型实战:Chroma/Qdrant/Milvus/PgVector 怎么选
数据库·milvus·向量数据库·chroma·rag·qdrant
invicinble7 小时前
python 编程语言 认识维度
开发语言·数据库·python