前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Oracle数据库揭露问题本质的利器 - errorstack

Oracle数据库揭露问题本质的利器 - errorstack

作者头像
bisal
发布2023-12-30 08:20:50
1310
发布2023-12-30 08:20:50
举报

朋友咨询了一个问题,"Oracle停了所有应用的情况下(还有一个zabbix连接数据库),有一个用户被锁了,通过locked_date看是昨天晚上10:05锁的,然后今天早上解锁后也是10:05分锁住的,期间应用也没启动过,从监听日志看只有zabbix在连,没有失败的连接,从数据库看没有job,也没有触发器。这个用户锁住的问题还有哪个方向排查?数据库里面还有别的东西需要排查的呢?"

其实之前也曾问过一些大佬相近的问题,我们看到的可能都是问题表象,重要的是能定位到根因,抓住本质,才能找到合适的解决方案。

7c4ccd69bc59168a4dcc2454b0e4d676.png
7c4ccd69bc59168a4dcc2454b0e4d676.png
5b97c59b5bad092ffbd0e9f0b3d6f420.png
5b97c59b5bad092ffbd0e9f0b3d6f420.png

定位根因的途径可能有很多,对Oracle来说,errorstack是其中之一。以定位产生ORA-28000用户被锁的场景,展示下errorstack的强大。

全局开启针对ORA-28000的errorstack,

代码语言:javascript
复制
SQL> alter system set events '28000 trace name errorstack level 4';
System altered.

通过客户端,用错误的密码,创造出ORA-28000的场景,

7cdf2dc855efaa73bf95f3e442dc91d4.png
7cdf2dc855efaa73bf95f3e442dc91d4.png

此时从alert.log看到这条信息,说明已经捕获ORA-28000的错误,并且记录到BISALCDB_ora_9061.trc的trace文件中,

代码语言:javascript
复制
BISALPDB1(3):Errors in file /opt/oracle/diag/rdbms/bisalcdb/BISALCDB/trace/BISALCDB_ora_9061.trc:
ORA-28000: The account is locked.

trace文件的内容很多,4.3M,但是只需要找些关键的信息,就可以满足我们的需求,找到client details,可以看到导致出现ORA-28000错误的客户端是机器名叫"test-computer"的电脑,登录机器的用户名叫test,应用程序是DBeaver。现在就基本明确了导致出现ORA-28000的罪魁祸首了,下一步操作,就是找到他,锤他。。。

代码语言:javascript
复制
service name: bisalpdb1
    client details:
      O/S info: user: test, term: unknown, ospid: 1234
      machine: test-computer program: DBeaver 7?3?2 ? Main
      application name: DBeaver 7?3?2 ? Main, hash value=2195501301

记得关闭errorstack,

代码语言:javascript
复制
SQL> alter system set events '28000 trace name errorstack off';
System altered.

Oracle的errorstack就像应用程序中加了断点调试,可以让我们很方便的找到一些问题的线索,如果有兴趣,可以关注下trace文件,记录了很多调用的堆栈信息,可以挖掘更多。

对众多的国产数据库来说,这种问题诊断的工具,是很值得借鉴的,无论是数据库本身还是数据库的使用者,都可能出现错误,但如果能提供一些暴露数据库内部执行的手段,就会有助于找到问题根因,解决这些问题。

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

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

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

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

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