【 使用环境 】生产环境
【 OB or 其他组件 】
【 使用版本 】401 bp1
【问题描述】增量迁移结束后进行全量校验发现不一致
【复现路径】[ERROR] [ThreadPool-run-Review-1] [retryTask task run error : ]
java.sql.SQLException: ORA-01410: invalid ROWID
[Start to review src table CLAIMOWNER.T_CLAIM_RESCUE_FEE_ITEM_TRA, diff size 1, loop 0, keys [10498301310733
]
这个表的主键是 RESCUE_FEE_SNAP_ID, 根据目标端这个数据,看一下主键值是啥,然后拿着这个主键去源端查出来对应的数据,看一下这个源端的数据的 rowid 是啥。 * 然后 在源端查一下 :这四列之前对应的rowid 是啥:select DBMS_ROWID.ROWID_CREATE(1,18549,0,131073,3) from dual; * * 看一下两个rowid是否一样。 select rowid,CLAIM_ID,RESCUE_FEE_SNAP_ID,CREATE_DATE,MODIFY_DATE from CPIC.T_CLAIM_RESCUE_FEE_ITEM_SNAP where rowid=‘AAAEh1AAAAAAgABAAD’;
select rowid,CLAIM_ID,RESCUE_FEE_SNAP_ID,CREATE_DATE,MODIFY_DATE from CPIC.T_CLAIM_RESCUE_FEE_ITEM_SNAP where rowid=‘AAAEh1AAAAAAgABAAD’
*
ERROR at line 1:
ORA-01410: invalid ROWID
【问题现象及影响】这个问题是oracle的bug,目前推测是oracle本身rowid是没有问题的,log工具吐出来的时候rowid发生了位移,我有一个解决方法 就是把这个压缩表和hash分区的表全量 ·
【附件】