如果有报错的sql可以统计到吗?单独看ORA-12899这种报错的怎么看呢?

0
已邀请:
0

蓝心 2016-08-15 回答

不知道你具体是什么情况,
     1. 如果是直接执行sql,当时报错结果就出来了,也就不存在你的这个问题了,所以我想应该是在函数或存储过程等其它地方报错。
     2. 如果是函数或存储过程中报错,一般情况下,这些会写进一个自己定义的日志表中,那么可以查函数或存储过程的这个日志表。
         用sql查询就可以了,具体看你的日志表结构和内容设计(具体是哪张表,需要去问开发DBA,或查看原代码)。
     3. 如果没有设计日志表,或不是存储过程或函数,那么就要根据你的需求,打开某张表或某个会话的审计功能,这样就可以到            dba_audit_object和DBA_AUDIT_TRAIL这些数据字典中查询审计结果。
    4.如果是一些系统相关的错误,可以到alter_<sid>.log日志中去查错误信息。但这里,一般不会有sql的错误信息。
    希望对你有帮助!
0

dongliangsi 2016-08-12 回答

在告警日志中可以查到详细的报错信息
alert_sid.log
0

GeorgeYao - 路漫漫其修远兮,吾将上下而求索! 2016-08-15 回答

这是因为创建表的时候某字段的长度过短,而插入的字段内容过长造成的。
现象如下:
1、创建表:
create table test (id int, name varchar2(10));
2、插入数据:
insert into test values (1,'百度知道团长');
3、结果:

sa.jpg


4、原因:
这是因为“百度知道团长”这几个字,在字符中占12位,而name字段却只有10位。
5、解决方法:
将name列字段适当加长:alter table test modify name varchar2(20);也就是将name字段长度加大到20位,就可以了。
 
你定位一下你的错误的内容,着手解决

要回复问题请先登录注册