怎么解决Oracle利用errorstack追踪tomcat报错ORA-00903
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,这篇文章主要讲解了"怎么解决Oracle利用errorstack追踪tomcat报错ORA-00903",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎
千家信息网最后更新 2025年02月23日怎么解决Oracle利用errorstack追踪tomcat报错ORA-00903关闭errorstack
这篇文章主要讲解了"怎么解决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/systemalter 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 onSQL> oradebug setmypidSQL> oradebug eventdump session/system;
追踪
SQL> alter system set events '903 trace name errorstack level 3';
alter日志:
Tue Jun 09 14:23:44 2020OS Pid: 10855 executed alter system set events '903 trace name errorstack level 3'
追踪结果
alert日志信息:
Tue Jun 09 14:28:04 2020Errors in file /u01/app/oracle/diag/rdbms/honor/honor1/trace/honor1_ora_7205.trc:ORA-00903: 表名无效Tue Jun 09 14:28:06 2020Dumping 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.303dbkedDefDump(): 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"的内容了,经过本文的学习后,相信大家对怎么解决Oracle利用errorstack追踪tomcat报错ORA-00903这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
错误
日志
可以通过
堆栈
文件
学习
信息
内容
方法
问题
测试
生产
断断续续
两个
人员
代码
位置
函数
就是
思路
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
有单文件数据库表
数据库分类名单
三菱plc的系统标签数据库
软件开发前期账务工作
吐鲁番网络安全技术批发
数据库一节课教案
网络安全书籍有感
广州白云区软件开发公司电话
什么软件开发电脑好用
虚拟网络技术应用技术
上海成浪网络技术有限公
云视通服务器
spss数据库怎么剔除极端值
金博软件数据库备份
学习通连接服务器失败请稍后重试
luixus软件开发
饥荒联机版专用服务器安全组
网络安全隐私侵权处罚
在济南抓取客户网络技术
山大网络安全学院师资
郑州软件开发驻场靠谱吗
普陀区智能网络技术设计
如何用数据库制作统计表
山西软件开发创意
简单app软件开发多少钱
电信可以做服务器吗
数据库ppi是啥
linux系统能当服务器吗
成都服务器报价
iis7服务器打不开