ORACLE跟踪事件解决ORA-01438

最近程序运行的时候报ORA-01438错误,错误信息是值大于为此列指定的允许精度。由于没有在程序中打印执行的sql,所以一时间难以定位具体是哪个字段的问题,而且暂时又不能修改程序来调试。最后百度查了下,可以使用ORACLE跟踪事件。

使用如下命令打开设置:

alter system set events='1438 trace name Errorstack level 10';

再运行程序,发生异常时,ORACLE会在trace文件中记录错误信息,level10应该是信息最多的级别,包括执行的sql以及具体的数据,这样就可以定位到哪个字段有问题了。

使用结束后可以用如下命令关闭设置:

alter system set events='1438 trace name Errorstack off';

您还未添加分享代码,请到主题选项中,添加百度分享代码!

您可以选择一种方式赞助本站

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

图片 表情