Flink CDC里oracle cdc有没有大佬遇到过这个问题呢?添加到挖掘队列也是直接报错
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在使用Flink CDC时,如果遇到Oracle CDC添加到挖掘队列时报错的问题,可能是由于以下几个原因导致的。以下是详细的排查步骤和解决方案:
ping
或telnet
命令测试Oracle数据库的IP地址和端口是否可达。connect.timeout
参数,适当调大超时时间(默认为30秒)。LOGMINER
权限)。GRANT SELECT ANY TRANSACTION TO <username>;
GRANT EXECUTE ON DBMS_LOGMNR TO <username>;
GRANT SELECT ON V$LOGMNR_CONTENTS TO <username>;
WITH
参数是否正确配置,例如database-name
、schema-name
、table-name
等。debezium.snapshot.mode
参数是否设置为合适的值(如initial
或never
)。CREATE TABLE oracle_cdc_source (
id INT,
name STRING,
PRIMARY KEY (id) NOT ENFORCED
) WITH (
'connector' = 'oracle-cdc',
'hostname' = '<oracle-host>',
'port' = '1521',
'username' = '<username>',
'password' = '<password>',
'database-name' = '<database>',
'schema-name' = '<schema>',
'table-name' = '<table>',
'debezium.snapshot.mode' = 'initial'
);
SELECT log_mode FROM v$database;
如果返回值不是ARCHIVELOG
,需要启用归档日志模式。
SELECT supplemental_log_data_min FROM v$database;
如果返回值为NO
,需要启用补充日志。
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
exceeded quota: resourcequota
的报错信息。通过以上步骤,您可以逐步排查并解决Flink CDC中Oracle CDC添加到挖掘队列时报错的问题。如果问题仍未解决,建议查看Flink作业的启动日志和运行日志,定位具体的错误信息,并根据日志内容进一步分析。您可以复制页面截图提供更多信息,我可以进一步帮您分析问题原因。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。