oracle 使用ogg下的DDL功能,自动修改

首先据官方公布:不支持和有限支持的DDL类型

(1). Oracle数据库SYS、SYSTEM等等系统内部的用户不支持修改同步;

(2). oracle11g 及以上版本数据库DDL支持和Oracle回收站功能;

(3). ogg支持不超高2M长度的DDL语句;

(4). ogg只支持单向的DDL复制,不支持双向的DDL复制;

(5). ogg只支持源端和目标端结构一致;

DDL处理方法

一. 不支持DDL类型的处理方法

1. 不支持的Schema,OGG默认不复制,不许更多设置;

2. 关闭Oracle回收站:alter system set recyclebin=off scope=both;

二. 受限支持DDL类型的处理费方法;

1. 通过脚本ddl_ddl2file.sql获取被忽略的Oracle DDL操作,将其获取的操作放在USER_DUMP_DEST目录一个文本文件中

2. 投递过程中必须使用ASSUMETARGETDEFS参数

3. DDL复制的配置

(1). Oracle DDL复制的原理

(2). 安装GoldenGate DDL对象

(3). 配置DDL支持

(4). DDL异常与错误处理

Oracle DDL复制的原理

1. DDL复制原理

基于数据库全局Trigger的复制,在源数据建立一个Oracle全库级别的Trigger捕捉DDL操作到中间表,Extract读取中间表DDL语句并与DML语句根据csn排序,Pump投递到目标端,目标端Replicat在重现该DDL语句;

2. DDL复制和DML复制的区别

(1). DDL复制是基于Trigger;

(2). DML复制是基于日志;

(3). 只是在主Extract进程中通过scn号安装发生顺序进行组装,保证DDL操作和DML操作按照原来的顺序之下;

3. DDL复制和DML复制的关系

DDL复制和DML复制可以项目独立,可以只启动DDL复制,也可以只启动DML复制,相互并不影响,他们之间只是在Extract进行组装时根据scn号进行排序;

操作演示

一、创建相应的用户以及表空间

sqlplus / as sysdba

create tablespace ogg datafile '/soft/TEST/ogg01.dbf' size 10M;

create user ogg identified by oracle default tablespace ogg;

二、赋权

GRANT CREATE TABLE,CREATE SEQUENCE TO OGG;  -----必须

GRANT EXECUTE ON UTL_FILE TO ogg

GRANT CONNECT TO ogg;

GRANT CREATE SESSION TO ogg;

GRANT ALTER SESSION TO ogg;

GRANT RESOURCE TO ogg;

GRANT SELECT ANY DICTIONARY TO ogg;

GRANT SELECT ANY TABLE TO ogg;

GRANT FLASHBACK ANY TABLE TO ogg;

GRANT ALTER ANY TABLE TO ogg;

grant create table to ogg;

grant dba to ogg;

三、创建全局参数文件

./ggsci

EDIT PARAMS ./GLOBALS

GGSCHEMA ogg

四、 以sysdba角色运行相应脚本

@marker_setup.sql

alter system set RECYCLEBIN=off;  --运行ddl_setup前必须保证关闭数据库的回收站特性

@ddl_setup.sql

@role_setup.sql

GRANT GGS_GGSUSER_ROLE to ogg; 

@ddl_enable.sql

关闭   

@ddl_disable.sql

查看状态

@ddl_status.sql

验证脚本安装

@marker_status

NOTE:在源端ogg的ddl支持是默认关闭的,如果需要启用的话需在extract进程的参数文件中加入ddl参数;

在目标端ogg的ddl支持是默认开启的,如果有其他需求可以在replicat进程的参数文件中使用ddl参数来

过滤或或者忽略某些ddl操作。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容