通过goldengate,可以实现目标表和源表不同结构之间的实时复制,包括记录源系统所有表的变更操作,供ETL或其它审计系统使用。

记录信息包括表名、操作时间、操作SCN,事务标记,操作类型到一个流水表。用于后续ETL处理过程中的按序处理。

创建日志记录表

create table odi.odi_trans (

id int primary key,
tb_name varchar(100),
commit_tm timestamp,
op_type varchar(50),                               
tran_ind varchar(100),
tran_csn varchar(100),
insert_tm timestamp,
flag smallint default 0,
proc_tm timestamp
);

创建序列

CREATE SEQUENCE odi.seq_odi_tran
     INCREMENT BY 1  -- 每次加几个 
     START WITH 1    -- 从1开始计数 
     NOMAXVALUE      -- 不设置最大值 
     NOCYCLE         -- 一直累加,不循环 
     CACHE 10;

创建OGG的投递进程,此进程与其它投递进程无关;即正常表的复制可以使用另外的进程处理。

投递进程参数配置

REPLICAT reall
userid goldengate, password goldengate
ASSUMETARGETDEFS
DISCARDFILE ./dirrpt/REPall.DSC, append

eofdelay 5

insertAllRecords
map dts.*, target odi.odi_trans,
   sqlexec(id odiseq, query "select odi.seq_odi_tran.nextval val from dual"),
   colmap(id=odiseq.val,
   tb_name=@Getenv('ggheader','tablename'),
   commit_tm=@getenv('GGHEADER','committimestamp'),
   op_type=@getenv('GGHEADER','optype'),
   insert_tm=@datenow(),
   tran_ind=@getenv('GGHEADER','TRANSACTIONINDICATOR'),
   tran_csn=@getenv('TRANSACTION','CSN')), keycols(tb_name,tran_csn)

GGSCI>add rep reall, exttrail ./dirdat/ea

以下是捕获之后的示例数据:

利用Oracle GoldenGate记录源系统所有表的操作的更多相关文章

  1. 利用Oracle Database Resource Manager实现UNDO表空间的quota

    1.查出当前使用的是哪个resource plan select * from GV$RSRC_PLAN 2.创建pending area begin  dbms_resource_manager.c ...

  2. Django中ORM系统多表数据操作

    一,多表操作之增删改查 1.在seting.py文件中配置数据库连接信息 2.创建数据库关联关系models.py from django.db import models # Create your ...

  3. oracle 删除用户命令和部分表空间操作

    删除用户 drop user user_name cascade; 建立表空间 CREATE TABLESPACE data01DATAFILE '/oracle/oradata/db/DATA01. ...

  4. 记录linux系统用户shell终端操作记录

    在 /etc/profile 最后添加 export HISTTIMEFORMAT='[%F %T]: ' export PROMPT_COMMAND='{ msg=$(history 1 | { r ...

  5. 怎么利用WinPE恢复系统注册表?

    我们的电脑总是会遇到各种各样的问题,最好用的方式就是电脑重装,重装系统的方式有很多,光盘安装.硬盘安装.U盘安装等.但是碰到电脑系统瘫痪无法启动,甚至连安全模式也进不了的时候,你的光盘.硬盘就没有用处 ...

  6. 建立Oracle GoldenGate凭证

    了解如何为与数据库交互的流程创建数据库用户,分配正确的权限并防止未经授权使用凭据. 主题: 为Oracle GoldenGate分配凭证 保护Oracle GoldenGate凭证 3.1 为Orac ...

  7. 利用Oracle分析函数row_number和sys_connect_by_path实现多行数据合并为一行

    emo场景,以oracle自带库中的表emp为例: select ename,deptno from emp order by deptno; ENAME DEPTNO CLARK 10 KING 1 ...

  8. Oracle GoldenGate mysql To Kafka上车记录

    一.前言 首先要学习一下ogg的所有进程,看着这张图来学习   Manager进程是GoldenGate的控制进程,运行在源端和目标端上.它主要作用有以下几个方面:启动.监控.重启Goldengate ...

  9. 利用Oracle创建表空间和用户

    本文仅用于学习交流,商业用途请支持正版!转载请注明:http://www.cnblogs.com/mxbs/p/6217152.html 第一步,创建表空间 以SYS/sys账户和SYSDBA身份登录 ...

随机推荐

  1. swiper 视频轮番

    百度搜索:swiper 视频轮番 转载1:https://blog.csdn.net/Aimee1608/article/details/79637929 项目中使用swiper插件嵌套video标签 ...

  2. Spark代码中设置appName在client模式和cluster模式中不一样问题

    问题 Spark应用名在使用yarn-cluster模式提交时不生效,在使用yarn-client模式提交时生效,如图1所示,第一个应用是使用yarn-client模式提交的,正确显示我们代码里设置的 ...

  3. IOP知识点(5)

    1 检验规则 取“或”   2 IOP升级中心 2 IOP升级中心 http://10.110.17.12:8080/cloud-ops/#/environment/     admin 我修改了io ...

  4. syslog-ng应用详解

    syslog-ng应用详解   科技小能手 2017-11-07 02:43:00 浏览136 评论0 日志 LOG 配置 主机 syslog source file varchar 摘要: 最近做一 ...

  5. Java 基础 引用数据类型 ArrayList集合

    引用数据类型(类) 分类 提到引用数据类型(类),其实我们对它并不陌生,如使用过的Scanner类.Random类. 我们可以把类的类型为两种: 第一种,Java为我们提供好的类,如Scanner类, ...

  6. SQL IN查询优化

    实际项目中有如下SQL, 发现效率很低,用时超过1分钟 select TaskID, StartDate = min(UpdateTime), EndDate = max(UpdateTime) fr ...

  7. C#/ASP.NET应用程序配置文件app.config/web.config的增、删、改操作,无法为请求的 Configuration 对象创建配置文件。

    应用程序配置文件,对于asp.net是 web.config,对于WINFORM程序是 App.Config(ExeName.exe.config). 配置文件,对于程序本身来说,就是基础和依据,其本 ...

  8. CentOS6.5 安装Kafka集群

    1.安装zookeeper 参考文档:http://www.cnblogs.com/hunttown/p/5452138.html 2.下载:https://www.apache.org/dyn/cl ...

  9. C# 抽象类、抽象属性、抽象方法

    抽象类往往用来表征对问题领域进行分析.设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象. 下面我们以水果为例,首先定义抽象类Fruit,抽象类中有公共属性vendor,抽象属 ...

  10. cocos2dx 3.x版本搭建Mac环境工程(创建一个新的C++工程)百分百可行

    首先第一篇,想学cocos2dx第一步就是搭建环境,第一步搭建不了环境,创建不了工程那一切都是扯淡. 说到mac下安装cocos2d-x想到的模式就是xcode+cocos2d-x.因为我本身就是一个 ...