Oracle 触发器 CDC 方案

Oracle 触发器 CDC 方案

说明:
同 SqlServer 很类似 基本都是触发器实现即可

一 创建 Demo表

  1. 源表

    create table TEST_STR
    (
      id VARCHAR2(200) not null
    )
    
  2. 捕获数据存取表

create table CDC_TEST_STR
(
  id             VARCHAR2(200) not null,
  operation      VARCHAR2(200) not null,
  operation_time DATE default sysdate
)

二 触发器

  1. ====================== 插入触发器 ==========================

    create or replace trigger cdc_insert_test_str
      after insert
      on test_str 
      for each row
    begin
      INSERT INTO cdc_test_str(
            id,
    		operation
        )
        VALUES(:new.id,'I');
    end cdc_insert_test_str;
    
  2. ====================== 删除触发器 ==========================

    create or replace trigger cdc_delete_test_str
      before delete
      on test_str
      for each row
    begin
      INSERT INTO cdc_test_str(
            id,
        operation
        )
        VALUES(:OLD.id,'D');
    end cdc_insert_test_str;
    
  3. ====================== 更新触发器 ==========================

    create or replace trigger cdc_update_test_str
      after update
      on test_str 
      for each row
    begin
      INSERT INTO cdc_test_str(
            id,
    		operation
        )
        VALUES(:new.id,'U');
    end cdc_insert_test_str;
    

三 测试

-- 源表
select * from test_str
-- 触发器 临时表
select * from CDC_test_str
-- 插入测试
insert into test_str values('tigger_ddddd');
-- 修改测试
update test_str set id = 'changed_ifff' where id = 'tigger_ddddd'
-- 删除测试
delete from test_str where id = 'changed_ifff'
-- 清空临时表
delete from CDC_test_str where 1= 1

附图:
在这里插入图片描述

在这里插入图片描述

oracle 安装

https://download.oracle.com/otn/nt/oracle19c/193000/WINDOWS.X64_193000_db_home.zip?AuthParam=1605752709_c48aa411bdbabc586d5c86404dadf9ef

在这里插入图片描述

运行安装程序

在这里插入图片描述
记得选择先安装软件,后安装数据库
在这里插入图片描述

如果安装失败
会有如下提示:
在这里插入图片描述
解决办法很简单,先关闭所有 Oracle 服务, 然后卸载所有 Oracle 服务, (我这里重启了一下电脑) ,然后修改一下 setup.exe 的父目录
/oracle11g --> oracle 10g

服务安装成功后, 打开 DBCA

在这里插入图片描述
在这里插入图片描述
修改红线处, 然后一路 next
在这里插入图片描述
Kettle + Oracle CDC 可以参考文章 SQLServer + Kettle CDC 方案

https://blog.csdn.net/cs261244787/article/details/109803976

架构图: SQL Server 改成 Oracle 就行了
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值