请教下大家,OracleCDC中supplemental log需要设置成all columns才能获取到单条update数据的前后数据值是吧?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
是的,为了在Oracle Change Data Capture (CDC)中获取单条更新数据的前后镜像(即更新前的原始值和更新后的值),您需要将Supplemental Logging设置为ALL COLUMNS
。这样可以确保日志中包含所有列的变化信息,不仅限于主键或唯一键,这对于完整地还原更新操作中的数据变化至关重要。
配置步骤简要概述如下:
开启数据库归档模式:
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
ARCHIVE LOG LIST;
开启全补充日志(ALL COLUMNS):
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
ALTER TABLE schema_name.table_name ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
提交更改并切换重做日志文件:
ALTER SYSTEM SWITCH LOGFILE;
请注意,虽然开启全补充日志能提供最详尽的数据变更信息,但它可能会增加日志量和对存储的需求。因此,在决定是否为整个数据库或仅特定关键表启用此设置时,请考虑您的业务需求和资源状况。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。