怎么解决Oracle利用errorstack追踪tomcat报错ORA-00903
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇文章主要讲解了"怎么解决Oracle利用errorstack追踪tomcat报错ORA-00903",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎
千家信息网最后更新 2025年01月19日怎么解决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安全错误
数据库的锁怎样保障安全
win7系统软件开发
vs软件开发界面设置
零基础转行数据库
表面肌电评估结果的数据库
浙江标准软件开发成本价
平时生活中哪些运用了数据库技术
古浪软件开发技术
软件开发合同字体格式要求
云顶服务器英文翻译
php 操作数据库类
炉石传说最垃圾服务器
西城网络安全方案
光络北京网络技术
网络安全事件整改流程图
小米5关闭app数据库
华夏人生私人服务器怎么开
软件开发免责协议
导入云数据库
网络技术专业计划与实施
网络安全防护水平亟待加强
嘉兴富士康工控机服务器
浙江标准软件开发成本价
金蝶服务器的要求
连接Oracle数据库对应信息
微信网络安全宣传图片
数据库账号如何跟表空间关联
广州智障收容所为芒宝服务器发声
木筏求生steam哪个服务器
虚拟化对服务器的要求
爱易网络技术公司微博