问题描述
我正在研究Oracle流复制。
当前, LCR包含所有旧列值,而不考虑新值。
即使仅修改了一列,也会将所有列作为LCR的一部分。
所有旧列值和新值中仅修改的列都将出现。
我不希望所有的旧价值观都成为LCR的一部分。
我只需要作为DML一部分更改的列。
LCR示例
print_error('2319.12.149830');
*************************************************
-----错误#1
--消息: 1个
类型名称: SYS.LCR$__R_RECORD
源数据库: DB1
所有者:所有者
对象:表1
命令类型:更新
旧(1) :列1
XXXXXXXXXX
旧(2) : OL3
XXXXXXXXXX
旧(3) : OL4
15
17532675
旧(18) : OL5
旧(19):COL6
旧(20):COL7
旧(21):COL8
旧(22):COL9
28822565021
新(1) :列1
PL/SQL过程已成功完成。
只有OL1更新为NULL。但所有其他的纵队都会进入LCR。
请帮帮忙
当前, LCR包含所有旧列值,而不考虑新值。
即使仅修改了一列,也会将所有列作为LCR的一部分。
所有旧列值和新值中仅修改的列都将出现。
我不希望所有的旧价值观都成为LCR的一部分。
我只需要作为DML一部分更改的列。
LCR示例
print_error('2319.12.149830');
*************************************************
-----错误#1
--消息: 1个
类型名称: SYS.LCR$__R_RECORD
源数据库: DB1
所有者:所有者
对象:表1
命令类型:更新
旧(1) :列1
XXXXXXXXXX
旧(2) : OL3
XXXXXXXXXX
旧(3) : OL4
15
17532675
旧(18) : OL5
旧(19):COL6
旧(20):COL7
旧(21):COL8
旧(22):COL9
28822565021
新(1) :列1
PL/SQL过程已成功完成。
只有OL1更新为NULL。但所有其他的纵队都会进入LCR。
请帮帮忙
专家解答
可以使用dbms_stream_adm.delete_列指定从LCR中删除列的规则:
http://docs.oracle.com/cd/E11882_01/appdev.112/e40758/d_streams_adm.htm#ARPLS888
你为什么要关心旧的价值观呢?你到底想达到什么目的?
http://docs.oracle.com/cd/E11882_01/appdev.112/e40758/d_streams_adm.htm#ARPLS888
你为什么要关心旧的价值观呢?你到底想达到什么目的?
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




