千家信息网

Oracle利用errorstack追踪tomcat时报错ORA-00903无效表名怎么办

发表于:2025-11-17 作者:千家信息网编辑
千家信息网最后更新 2025年11月17日,小编这次要给大家分享的是Oracle利用errorstack追踪tomcat时报错ORA-00903无效表名怎么办,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。
千家信息网最后更新 2025年11月17日Oracle利用errorstack追踪tomcat时报错ORA-00903无效表名怎么办

小编这次要给大家分享的是Oracle利用errorstack追踪tomcat时报错ORA-00903无效表名怎么办,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。

现象

tomcat错误日志断断续续报ORA-00903: invalid table name,并无具体SQL与表名,需要排查哪段代码写入了无效表名,
可以通过ORACLE提供的errorstack追踪报错SQL。
由于生产数据无法取出,以下皆为测试环境测试还原生产错误。

errorstack简介

设置errorstack,在发生特定的ORA错误时会记录发生问题的会话,语句以及各个进程的trace文件,
在alert日志中有记录错误记录的trace文件位置,也可以给单独会话开启errorstack,追踪会话报错信息,可以通过
下面两个方法开启:

/* level 0 仅转储错误堆栈
/* level 1 转储错误堆栈和函数调用堆栈
/* level 2 Level 1 + ProcessState
/* level 3 Level 2 + Context area (显示所有cursors,着重显示当前cursor)

(1)alter session/system

alter session/system set events ' trace name errorstack level 3';
/* error_number为ORA错误后编号。

(2)oradebug

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

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

SQL> set serveroutput on
SQL> oradebug setmypid
SQL> oradebug eventdump session/system;

追踪

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

Tue Jun 09 14:23:44 2020
OS Pid: 10855 executed alter system set events '903 trace name errorstack level 3'

追踪结果

alert日志信息:

alert日志信息:

Tue Jun 09 14:28:04 2020
Errors in file /u01/app/oracle/diag/rdbms/honor/honor1/trace/honor1_ora_7205.trc:
ORA-00903: 表名无效
Tue Jun 09 14:28:06 2020
Dumping diagnostic data in directory=[cdmp_20200609142806], requested by (instance=1, osid=7205), summary=[abnormal process termination].

查看对应trc追踪文件:

*** 2020-06-09 14:28:04.303
*** SESSION ID:(26.661) 2020-06-09 14:28:04.303
*** CLIENT ID:() 2020-06-09 14:28:04.303
*** SERVICE NAME:(honor) 2020-06-09 14:28:04.303
*** MODULE NAME:(SQL*Plus) 2020-06-09 14:28:04.303
*** ACTION NAME:() 2020-06-09 14:28:04.303
dbkedDefDump(): Starting a non-incident diagnostic dump (flags=0x0, level=3, mask=0x0)
----- Error Stack Dump -----
ORA-00903: 表å<90><8d>æ<97> æ<95><88>
----- Current SQL Statement for this session (sql_id=0vaqwchf1y3fq) -----
insert into null values(1)

找到具体sql,拿给开发人员,修改相关逻辑,错误修复。

关闭errorstack

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

看完这篇关于Oracle利用errorstack追踪tomcat时报错ORA-00903无效表名怎么办的文章,如果觉得文章内容写得不错的话,可以把它分享出去给更多人看到。

错误 日志 信息 可以通过 堆栈 文件 文章 怎么办 时报 内容 方法 测试 生产 不错 断断续续 两个 人员 代码 位置 兴趣 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 美国国家网络安全委员会 网络安全周时间2017 gdc服务器直接硬盘播放 修改数据库的值 邯郸软件开发哪家正规 软件开发有绩效工资全部扣完 软件开发的qc成果 项目信息系统软件开发 颍东区法院网络安全中标 2021年国家网络安全周是 大手牵小手网络安全绘画主题 平谷区智能网络技术服务保障 优炫网络安全软件 计算机网络技术自考知识点 网络安全知识每天一学 键盘皮肤软件开发 网络安全专项核查工作总结公文 广东大学生网络安全大赛 西青区咨询网络技术售后服务 河北云麦网络技术有限公司 5g是手机技术还是网络技术呢 中横网络技术有限公司 盘锦做app的软件开发费用 服务器ip端口 工商银行总软件开发在哪里 汽车导航服务器无法连接 网络安全技术考试模拟题 文章和标签的数据库设计 广播电视网络安全抢答赛 测控技术查重用什么数据库
0