使用flinkcdc的oracle连接器消费数据,历史数据可以正常拿到,但是过一会程序就会报错挂掉了。不知道怎么解决,已经卡这块一段时间了。版本信息:oracle:11g,cdc:2.1.1。报错信息如下?
这个问题可能是由于LogMiner无法找到完整的字典导致的。Oracle提供了一个名为DBMS_LOGMNR_D.BUILD_FLASHBACK_DICT
的过程来构建缺失的字典。你可以尝试在执行sys.dbms_logmnr.start_logmnr
之前调用这个过程。
以下是修改后的SQL代码示例:
BEGIN
DBMS_LOGMNR_D.BUILD_FLASHBACK_DICT;
sys.dbms_logmnr.start_logmnr(startScn => *1996903', endScn => *2013137', OPTIONS => DBMS_LOGMNR.DICT_FROM_REDO_LOGS + DBMS_LOGMNR.DDL_DICT_TRACKING + DBMS_LOGMNR.CONTINUOUS_MINE + DBMS_LOGMNR.NO_ROWID_IN_STMT);
END;
请注意,这个方法可能需要一些时间,因为它需要重新构建字典。另外,确保你的Oracle实例有足够的内存和CPU资源来执行这个过程。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。