1.访问debezium官网
https://debezium.io/documentation/reference/1.6/connectors/oracle.html
我们发现默认配置参数的值为下图
2.把flink/conf/log4j.properties的日志级别改为DEBUG级别,重启flink集群
如果flinkcdc任务日志有如下DEBUG级别的日志且batchsize>=maxbatchsize.说明log.ming.batch.size.max设置太小了需要加大,默认是10万(100000)。
从下面日志看的出Batch size 500000,Max batch size 500000,batchsize已经超过maxbatchsize,所以50万还比较小还需要加大,只有bachsize小于maxbachsize才正常,具体可以根据自己的数据库来查询scn的变化,select current_scn from v$database;
建议把maxbatchsize以10倍(100万、1000万)的值依次往上加
proper.setProperty(“log.mining.batch.size.max”, “1000000”);
DEBUG io.debezium.connector.oracle.OracleStreamingChangeEventSourceMetrics [] - Updating batch size window. Batch size 502000. Min batch size 20000. Max batch size 500000.
个人配置:
proper.setProperty(“decimal.handling.mode”, “STRING”);
proper.setProperty(“log.mining.strategy”, “online_catalog”);
proper.setProperty(“log.mining.continuous.mine”, “true”);
proper.setProperty(“log.mining.batch.size.default”, “300000”);
proper.setProperty(“log.mining.batch.size.min”, “150000”);
proper.setProperty(“log.mining.batch.size.max”, “15000000”);
proper.setProperty(“log.mining.sleep.time.increment.ms”, “0”);
proper.setProperty(“log.mining.sleep.time.default.ms”, “0”);
proper.setProperty(“log.mining.sleep.time.max.ms”, “0”);
proper.setProperty(“log.mining.dml.parser”, “legacy”);
proper.setProperty(“table.include.list”, tableList);//tableList=“命名空间.表1,命名空间.表2”;
proper.setProperty(“database.serverTimezone”, “Asia/Shanghai”);
proper.setProperty(“database.tablename.case.insensitive”, “false”);
proper.setProperty(“scan.startup.mode”, “initial”);
有问题可以留言