Oracle使用errorstack跟踪tomcat报错ORA-00903 invalid table name怎么办?

分类:编程技术 时间:2024-02-20 15:15 浏览:0 评论:0
0
这次小编想跟大家分享的是当Oracle使用errorstack跟踪tomcat报错ORA-00903 invalid table name时该怎么办。文章内容丰富。有兴趣的朋友可以过来了解一下。希望您看完本文后能够有所理解。收获。

现象

tomcat错误日志间歇性报ORA-00903: invalid table name,并且没有具体的SQL或表名。如果需要检查哪一段代码写入了无效的表名,可以使用ORACLE提供的ErrorStack来跟踪错误SQL。
由于无法找回生产数据,以下是测试环境测试,以恢复生产错误。

errorstack简介

设置errorstack。当发生特定的 ORA 错误时,将记录有问题的会话、语句和单个语句。进程的跟踪文件。
地点跟踪文件在警报日志中记录错误记录。您还可以为单独的会话启用错误堆栈来跟踪会话错误信息。您可以通过以下两种方法启用它:

/* level 0 仅转储错误堆栈
/* level 1 转储错误堆栈和函数调用堆栈
/* level 2 Level 1 + ProcessState
/* level 3 Level 2 + 上下文区域(显示所有光标,重点关注当前光标)

(1 ) alter session/system

alter session/system set events ' 跟踪名称 errorstack level 3';
/* error_number 是 ORA 错误号。< br/>

(2) oradebug

/* 使用oradebug需要用户有sysdba权限
SQL> oradebug setospid /setmypid/setorapid ;
SQL> oradebug dump errorstack 3

可以通过以下方法查看当前系统的errorstack状态:

< SQL> 设置服务器输出
SQL> oradebug setmypid
SQL> oradebug eventdump session/system;

Trace

SQL> alter system set events '903 trace name errorstack level 3';
更改日志:

Tue Jun 09 14:23:44 2023
OS Pid: 10855 执行了 alter system set events '903 跟踪名称 errorstack level 3'

跟踪结果

警报日志信息:

警报日志信息:

Tue Jun 09 14:28:04 2023
文件 /u01/app/oracle 中的错误/diag/rdbms/honor/honor1/trace/honor1_ora_7205.trc:
ORA-00903: 无效的表名
2023 年 6 月 9 日星期二 14:28:06
在目录中转储诊断数据=[ cdmp_20230609142806],请求者(instance=1,osid=7205),summary=[进程异常终止]。

查看对应的trc跟踪文件:

< blockquote>

*** 2023-06-09 14:28:04.303
*** 会话 ID:( 26.661) 2023-06-09 14:28:04.303
*** 客户端 ID:() 2023-06-09 14:28:04.303
*** 服务名称:(荣誉) 2023-06-09 14:28:04.303
*** 模块名称:( SQL*Plus) 2023-06-09 14:28:04.303
*** 操作名称:() 2023-06-09 14 :28:04.303
dbkedDefDump():启动非事件诊断dump (flags=0x0, level=3, mask=0x0)
----- 错误堆栈转储 -----
ORA-00903: è¡¡å<90><8d>æ <97> æ<95><88>
-----此会话的当前 SQL 语句 (sql_id=0vaqwchf1y3fq) -----
插入空值(1)

找到具体的sql交给开发人员,修改相关逻辑,修复bug。

关闭错误堆栈

SQL > alter system set events '903 Trace name errorstack off';

看完这篇关于Oracle使用ErrorStack跟踪tomcat时如何处理ORA-00903 invalid table name错误的文章后,如果你觉得文章内容不错,你可以分享它。让我矿石人都看到了。

1. 本站所有资源来源于用户上传或网络,仅作为参考研究使用,如有侵权请邮件联系站长!
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. 编程技术 > Oracle使用errorstack跟踪tomcat报错ORA-00903 invalid table name怎么办?

用户评论