oms迁移数据报错异常

组件监控查看组件的id 找到全量组件的日志 发一下

951
Caused by: java.sql.SQLException: Table has no partition for value
952
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:965)
953
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3978)
954
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3914)
955
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530)
956
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683)
957
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2495)
958
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1903)
959
at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2124)
960
at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2058)
961
at com.mysql.jdbc.PreparedStatement.executeLargeUpdate(PreparedStatement.java:5158)
962
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2043)
963
at com.alibaba.druid.pool.DruidPooledPreparedStatement.executeUpdate(DruidPooledPreparedStatement.java:255)
964
at com.oceanbase.oms.connector.jdbc.sink.Writer.realWriteDML(Writer.java:580)
965
at com.oceanbase.oms.connector.jdbc.sink.Writer.writeDML(Writer.java:631)
966
at com.oceanbase.oms.connector.jdbc.sink.Writer.executeInRetry(Writer.java:487)
967
... 8 common frames omitted

尽量完整的日志 都提供一下

添加两个分区就可以了

 alter table xxx ADD PARTITION (     PARTITION p202112 VALUES LESS THAN ('2022-01-01') );
 alter table xxx ADD PARTITION (     PARTITION p202111 VALUES LESS THAN ('2021-12-01') );

原始创建的分区表子分区只有P0这个分区,并且是2021年之前的,同步的数据是2021-11月的数据:

 partition by range columns(`create_time`)
(partition `P0` values less than ('2021-01-01 00:00:00'))

问题:
分区表不能自动创建对应的分区吗?

看日志信息确实是分区没有 自动创建什么意思?如果你源端没有 目标端就不会有 如果源端有 目标端没有应该是有问题的

源端是一个个独立的月表,目标端是一个自动分区的分区表