ORA-7445(lnxadd)错误

一个由于低版本JDBC驱动导致的错误。
告警日志中错误信息为:

Fri Aug 12 19:00:03 2011
Errors IN file /opt/app/oracle/admin/orcl/udump/orcl2_ora_28464.trc:
ORA-07445: exception encountered: core dump [lnxadd()+471] [SIGSEGV] [Address NOT mapped TO object] [0x000000000] [] []
Fri Aug 12 19:00:04 2011
Trace dumping IS performing id=[cdmp_20110812190004]

根据MOS文档setDouble On INSERT Corrupts Data In NUMBER Column Using Oracle10g JDBC Driver [ID 313373.1],导致问题的原因是使用了低版本的JDBC驱动插入NUMBER类型的数值。
当使用JDBC驱动版本为10.1.0.2到10.1.0.4时,使用setDouble设置绑定变量的值时会引发这个错误。解决方法时使用10.1.0.5以上版本的JDBC驱动,或者在SQL语句中使用TO_NUMBER函数,而绑定变量使用setString通过字符串进行赋值。

This entry was posted in BUG and tagged , , , , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *