前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小知识:使用errorstack定位特定问题

小知识:使用errorstack定位特定问题

作者头像
Alfred Zhao
发布2023-05-01 16:25:40
2050
发布2023-05-01 16:25:40
举报

有客户遇到ORA-2289的报错,同事协助去现场排查,我帮着远程共同check下。 客户只是应用端报出的错误,为了进一步定位,服务端需要开errorstack协助定位具体问题。 下面就以这个ORA-2289为例,示范下errorstack的使用方法。

代码语言:javascript
复制
--开启errorstack
alter system set events '2289 trace name errorstack level 3';

--关闭errorstack
alter system set events '2289 trace name errorstack off';

开启errorstack期间,模拟一个会话发生了ORA-02289的报错:

代码语言:javascript
复制
[oracle@bogon trace]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Wed Apr 26 22:00:21 2023
Version 19.16.0.0.0

Copyright (c) 1982, 2022, Oracle.  All rights reserved.


Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.16.0.0.0

SQL> select s2.nextval from dual;
select s2.nextval from dual
       *
ERROR at line 1:
ORA-02289: sequence does not exist


SQL> exit

在alert告警日志可以看到提示:

代码语言:javascript
复制
2023-04-26T22:00:27.300427+08:00
Errors in file /u01/app/oracle/diag/rdbms/demo/demo/trace/demo_ora_3435.trc:
ORA-02289: sequence does not exist

进而在trc文件中进一步查询具体报错的SQL信息等:

代码语言:javascript
复制
[oracle@bogon trace]$ vi demo_ora_3435.trc 
...
   17 *** 2023-04-26T22:00:27.300081+08:00 (CDB$ROOT(1))
   18 *** SESSION ID:(2548.56891) 2023-04-26T22:00:27.300150+08:00
   19 *** CLIENT ID:() 2023-04-26T22:00:27.300158+08:00
   20 *** SERVICE NAME:(SYS$USERS) 2023-04-26T22:00:27.300164+08:00
   21 *** MODULE NAME:(sqlplus@bogon (TNS V1-V3)) 2023-04-26T22:00:27.300170+08:00
   22 *** ACTION NAME:() 2023-04-26T22:00:27.300177+08:00
   23 *** CLIENT DRIVER:(SQL*PLUS) 2023-04-26T22:00:27.300182+08:00
   24 *** CONTAINER ID:(1) 2023-04-26T22:00:27.300189+08:00
   25 
   26 dbkedDefDump(): Starting a non-incident diagnostic dump (flags=0x0, level=3, mask=0x0)
   27 ----- Error Stack Dump -----
   28 <error barrier> at 0x7ffed8393280 placed dbkda.c@298
   29 ORA-02289: sequence does not exist
   30 ----- Current SQL Statement for this session (sql_id=c6bu1kcbt5z3f) -----
   31 select s2.nextval from dual
   32 
   33 ----- Call Stack Trace -----
   34 calling              call     entry                argument values in hex
   35 location             type     point                (? means dubious value)
   36 -------------------- -------- -------------------- ----------------------------
   37 ksedst1()+95         call     kgdsdst()            7FFED83926E0 000000002
...

我这里模拟是直接查询了不存在的序列,但是报这个错误其实未必是数据库问题,可以在MOS多搜索下相关案例,也有程序配置问题导致的情况。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-04-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档