Debezium Oracle连接器运行报错无对应SCN需重新快照问题求助
Debezium Oracle连接器SCN丢失报错解决方案
根因说明
报错None of log files contains offset SCN的核心原因是Debezium需要读取的指定SCN对应的重做/归档日志已经被Oracle系统清理,无法继续进行增量同步,只能通过重新快照恢复同步。
解决方案
- 调大日志查找时间范围配置:你当前配置中
log.mining.archive.log.hours仅为2,建议根据Oracle侧的归档日志保留时长调整为12~24,确保Debezium查找的时间范围内日志不会被提前清理。 - 对齐Oracle侧归档日志保留策略:检查RMAN或操作系统层面的归档日志清理规则,确保日志实际保留时长大于你设置的
log.mining.archive.log.hours值,ADG架构场景下需同时确认备库的日志同步与保留配置。 - 优化LogMiner同步性能降低延迟:
- 调整
log.mining.batch.size参数,默认值为1000,可根据服务器性能调整为5000~10000,提升单次日志挖掘的处理效率 - 若使用Oracle 12c及以上版本,将
log.mining.strategy从online_catalog修改为redo_log_catalog,可大幅降低大表DDL操作后的同步延迟,减少日志追赶压力
- 调整
- 调整心跳配置:将当前
heartbeat.interval.ms从300000(5分钟)调整为30000(30秒),避免表长期无数据更新时Debezium偏移量不更新,导致重启后需要查找过久之前的SCN。 - 确认数据库权限:检查Debezium使用的
ABC用户是否具备访问所有归档日志、查询V$ARCHIVED_LOG等系统视图的权限,避免因权限不足导致日志查找失败。
内容的提问来源于stack exchange,提问作者Zamir Arif
相关产品推荐
相关产品推荐

