oracle记录数据变更2中方案的对比

本文对比了Oracle中用于记录数据变更的两种方案:CDC与Streams。两者均可记录DML操作,但配置及实现方式有所不同。CDC需要刷新窗口才能查看变更数据,而Streams则能即时显示变更,无需额外操作。此外,当表中含有虚拟列时,可能会遇到某些特殊问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在oracle中,对于记录数据变更的情况,提供了2中方案:cdc和streams,2种方案都能记录dml操作。2者都提供了不同的配置方案,可以跟主库配置在一起,页可以通过发送redo log到异机进行处理,尽量降低对主库的影响。
在异机上进行处理都需要配置log_archive_dest_n参数。
对于指定的表都需要设置补充日志。
在异机上需要设置发布者订阅者。激活订阅后,如果要查看数据的变更,需要刷新窗口才能看到,并且窗口需要维护。

streams是通过应用进程使用row lcr来进行对变更表的操作,streams需要在源库上创建用户,配置dblink,对于源库上的操作比cdc多,还需要调整一些参数,但是在源表有dml操作后,目标库上的变更表可以马上看到数据,不需要刷新窗口之类的操作。
我在测试的时候,使用的表上有虚拟列,测试的结果中,变更表中总是没有记录产生,但是在目标库上的与源表结构相同的表中的数据居然跟源库上的源表一模一样,另外看了一些文章,貌似streams出问题的概率还是比较大的,streams的测试在进行下,看看是否能在线上使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值