小知识:使用errorstack定位特定问题
有客户遇到ORA-2289的报错,同事协助去现场排查,我帮着远程共同check下。
客户只是应用端报出的错误,为了进一步定位,服务端需要开errorstack协助定位具体问题。
下面就以这个ORA-2289为例,示范下errorstack的使用方法。
--开启errorstack
alter system set events '2289 trace name errorstack level 3';
--关闭errorstack
alter system set events '2289 trace name errorstack off';
开启errorstack期间,模拟一个会话发生了ORA-02289的报错:
[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告警日志可以看到提示:
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信息等:
[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多搜索下相关案例,也有程序配置问题导致的情况。
小知识:使用errorstack定位特定问题的更多相关文章
- Unix系统小知识(转)
Unix操作系统的小知识 2.VI添加行号/翻页/清屏 .在对话模式时(即输完Esc再输入: ),输入“:set number”可以将编辑的文本加上行号.跟玩俄罗斯方块一样方便的上下左右移动箭头的快捷 ...
- 12个你未必知道的CSS小知识
虽然CSS并不是一种很复杂的技术,但就算你是一个使用CSS多年的高手,仍然会有很多CSS用法/属性/属性值你从来没使用过,甚至从来没听说过. 1.CSS的color属性并非只能用于文本显示 对于CSS ...
- s性能优化方面的小知识
总结的js性能优化方面的小知识 前言 一直在学习javascript,也有看过<犀利开发Jquery内核详解与实践>,对这本书的评价只有两个字犀利,可能是对javascript理解的还不够 ...
- MySQL不常用、易忽略的小知识
笔者从事开发也有一段时间了,关于数据库方面的一些小知识在这里总结一下 1.count(*),count(1)与count(column)区别 count(*)对行的数目进行计算,包含NULL coun ...
- 蓝牙Bluetooth技术小知识
蓝牙Bluetooth技术以及广泛的应用于各种设备,并将继续在物联网IoT领域担任重要角色.下面搜集整理了一些关于蓝牙技术的小知识,以备参考. 蓝牙Bluetooth技术始创于1994年,其名字来源于 ...
- HTML+CSS中的一些小知识
今天分享一些HTML.CSS的小知识,希望能够对大家有所帮助! 1.解决网页乱码的问题:最重要的是要保证各个环节的字符编码一致! (1)编辑器的编辑环境的字符集(默认字符集):Crtl+U 常见的编码 ...
- iOS APP开发的小知识(分享)
亿合科技小编发现从2007年第一款智能手机横空出世,由此开启了人们的移动智能时代.我们从一开始对APP的陌生,到现在的爱不释手,可见APP开发的出现对我们的生活改变有多巨大.而iOS AP ...
- salesforce 零基础开发入门学习(十)IDE便捷小知识
在这里介绍两个IDE的便捷开发的小知识. 一) 本地调试 由于salesforce代码只能提交以后才能调试,所以很多时候调试代码很麻烦.新版增加了一个特性:即可以在本地调试相关的代码或者查看相关代码运 ...
- Jquery:小知识;
Jquery:小知识: jQuery学习笔记(二):this相关问题及选择器 上一节的遗留问题,关于this的相关问题,先来解决一下. this的相关问题 this指代的是什么 这个应该是比较好理 ...
- HTML小知识---Label
今天知道了一个html小知识: <input type="checkbox" id="chkVersion" /> ...
随机推荐
- 7、jmeter配置元件-HTTP信息头配置元件
根据对方服务器的要求来配置消息头 (重点)Gzip:发送给你压缩包 提高速度 性能等等 同样的数据 只要页面没有变更 就不会重新压缩 节省带宽
- auto 类型说明符
编程时常常需要把表达式的值赋给变量,这就要求在声明变量时清楚地知道表达式的类型.然而做到这一点并非那么容易,有时候甚至根本做不到.为了解决这个问题,c++11新标准引入了auto类型说明符,用它就能让 ...
- linux关于文件的创建方式
1:文件的创建方式: mkdir 用于创建目录: 语法: mkdir -p 目录名 举例:创建一个在run目录下的一个demo目录: 可以写成: mkdir /run/demo 亦可以写成 mk ...
- CSS3之动画三大特性
一 过渡模块 1 基本使用 1,过渡三要素1.1必须要有属性发生变化1.2必须告诉系统哪个属性需要执行过渡效果1.3必须告诉系统过渡效果持续时长 2.注意点当多个属性需要同时执行过渡效果时用逗号隔开即 ...
- NVT模拟时出现水分子空洞,以及NPT时盒子收缩的原理
NVT出现水分子空洞,以及NPT时盒子收缩的原理: For a periodic system, constant pressure is the only way to equilibrate de ...
- OpenStack组件说明
1.版本对应组件 2.Juno版本的核心组件
- C#重点语法——特性
特性的基本理解 ************************************************************************************* 一.含义 特 ...
- [vue2 + jointjs + svg-pan-zoom] 节点自动布局渲染 + 拖拽缩放
启动vue项目,执行以下命令安装dagre.graphlib.jointjs.svg-pan-zoom. npm install dagre graphlib jointjs svg-pan-zoom ...
- Grafana Dashboard
Grafana Dashboard jvm micrometer (4701) jmx_export (8563) https://grafana.com/grafana/dashboards/856 ...
- Neo4j学习(3)--JavaAPI
Neo4j Java操作 1. Neo4j Java Driver方式操作 使用该方式对数据进行操作时,必须先将Neo4j的服务启动起来. 从官方下载neo4j的Java驱动:https://neo4 ...