ORA-01841: (full) year must be between -4713 and +9999,


OGG報錯日志:
2018-09-21 08:52:39  WARNING OGG-01003  Oracle GoldenGate Delivery for Oracle, rep_1b.prm:  Repositioning to rba 39885024 in seqno 14371.
2018-09-21 08:52:39  WARNING OGG-01154  Oracle GoldenGate Delivery for Oracle, rep_1b.prm:  
SQL error 1841 mapping L.TABLE to L.TABLE OCI Error ORA-01841: (full) year must be between -4713 and +9999, 
and not be 0 (status = 1841). INSERT /*+ RESTRICT_ALL_REF_CONS */ INTO "L"."TABLE" ("CONTNO","POLNO","PAYTODATE","CURRENTPAYCOUNT") VALUES (:a0,:a1,:a2,:a3).
2018-09-21 08:52:39  ERROR   OGG-01296  Oracle GoldenGate Delivery for Oracle, rep_1b.prm: 

環境:OGG源端10g,目標端11g。初步判斷日期格式異常導致。


根據日志,查找源庫中年份為0的數據:
SQL> select l.*,to_number(to_char(PAYTODATE,'yyyy')) from L.TABLE  l where to_number(to_char(PAYTODATE,'yyyy')) =0;

CONTNO                          PAYTODATE     TO_NUMBER(TO_CHAR(PAYTODATE,'YYYY'))
------------------------------  ------------  ------------------------------------
2017E11122000055                21-DEC-00                                        0

查找年份為2000的數據:
SQL> select l.*,to_number(to_char(PAYTODATE,'yyyy')) from L.TABLE  l where to_number(to_char(PAYTODATE,'yyyy')) =2000;

CONTNO                          PAYTODATE     TO_NUMBER(TO_CHAR(PAYTODATE,'YYYY'))
------------------------------  ------------  ------------------------------------
2017E11122000055                21-DEC-00                                     2000
2018E11082800005                29-AUG-00                                     2000
2018E11052400048                25-MAY-00                                     2000
2018E11011500070                01-JAN-00                                     2000
2018E11060500007                01-JUN-00                                     2000
2018E11061600010                17-JUN-00                                     2000


對比發現 PAYTODATE列同為00年份,但格式化后,一條數據位0,其他條數據為2000.異常數據浮出水面。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM