zoukankan      html  css  js  c++  java
  • 利用Oracle GoldenGate记录源系统所有表的操作

    通过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

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

    image

  • 相关阅读:
    springMVC web项目转springboot web项目的杂谈
    testNG的DataProvider返回Iterator<Object[]>的妙用
    java+testng利用json格式的txt做数据源的数据驱动示例
    搭建rest-assured接口自动化框架遇到的坑
    Linux SAR命令详解
    springboot集成jsp需添加的包依赖
    springboot集成jsp,页面跳转问题记录
    Spring Boot 使用JSP时,启动热部署配置
    性能测试大牛推荐的必读书单
    ARP详解(转)
  • 原文地址:https://www.cnblogs.com/margiex/p/8322180.html
Copyright © 2011-2022 走看看