一次数据库hang住的分析过程
2016-04-12 10:51 abce 阅读(1434) 评论(0) 编辑 收藏 举报现象:
普通用户和sysdba都无法登陆,业务中断
分析过程:
1.先做hanganalyze和systemstate dump
1 2 3 4 5 6 7 8 9 10 | $sqlplus -prelim "/as sysdba" SQL> oradebug setmypid Statement processed. SQL> oradebug hanganalyze 3 Statement processed. SQL> oradebug hanganalyze 3 Statement processed. SQL> oradebug tracefile_name /u01/app/oracle/diag/rdbms/db11/db11/trace/db11_ora_2495.trc SQL> |
2.分析trace文件
有76个会话被会话494阻塞了,而会话494在等待shared pool...
会话494,496,519之间可能相互独立,也可能存在互相阻塞的关心。
继续分析日志:
”adjlist“表示nodenum,所以会话494被会话598阻塞,会话496也被会话597阻塞
所以进程号553382、sid=598的会话就是数据库hang住时的阻塞源头
会话598在做什么,需要从systemstate dump中做分析,但是系统重启前没有做systemstate dump分析。
因为oracle中的进程要么是前台进程,要么是后台进程,在oracle启动的时候,会记录后台进程的进程id号,
从alter日志中发现:
根据MMAN进程猜测与动态调整SGA有关。关闭动态SGA管理后,系统恢复正常,不再有hang现象。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)