Oracle 执行dup搜索时出现ORA-01438问题

Oracle 执行dup搜索时出现ORA-01438问题,oracle,sqr,Oracle,Sqr,我是一名具有SQL Server经验的开发人员。我们有一个遗留应用程序,它使用SQR和Oracle执行每周重复记录搜索。14年后,我们在执行此搜索时出错。上面写着“ORA-01438:大于此列指定精度的值”。当我用谷歌搜索那个错误时,我发现它与一个数字字段有关,传递的值大于它所能容纳的值。我可以增加尺寸,但不知道是哪一种。因为这里没有人支持Oracle,所以我试图排除这个错误,发现有人在使用Oracle alter system set events='1438 trace name Error

我是一名具有SQL Server经验的开发人员。我们有一个遗留应用程序,它使用SQR和Oracle执行每周重复记录搜索。14年后,我们在执行此搜索时出错。上面写着“ORA-01438:大于此列指定精度的值”。当我用谷歌搜索那个错误时,我发现它与一个数字字段有关,传递的值大于它所能容纳的值。我可以增加尺寸,但不知道是哪一种。因为这里没有人支持Oracle,所以我试图排除这个错误,发现有人在使用Oracle

alter system set events='1438 trace name Errorstack forever,level 10';  
我想知道这是否是找出哪个sql失败的正确方法? 它改变了什么?什么是10级?在生产中运行这个查询之前,我应该考虑什么?执行此查询后是否需要回滚某些内容?我被告知,如果我执行SQL>插入测试值(1000000000000000,'test','test');如果100000000000000无效,则它将抛出通用Oracle消息ORA-01438。但在跟踪文件中,它将显示ORA-01438:值,该值大于此列允许的指定精度。那么,跟踪文件将在哪里生成

Current SQL statement for this session:
insert into test values (100000000000000000,'test','test').

如果路径不正确,请告诉我。

使用DBMS\u监视器为受影响的会话启用跟踪。如果启用,它将包含所有SQL和错误以及绑定变量。

那么,第一列的数据定义是什么?