0 概览

hanganaylze主要步骤:

oradebugsetmypid

oradebugunlimit

--RAC环境

oradebugsetinstall

--级别一般指定为3足够了

oradebughanganalyze3

--RAC环境

oradebug-g defdump systemstate10

oradebugtracefile_name

解读 hanganalyze 报告

State of ALL nodes

([nodenum]/cnode/sid/sess_srno/session/ospid/state/[adjlist]):

[124]/1/125/7/0xcb8b7c30/2985/LEAF/

[137]/1/138/85/0xcb8900d0/3456/NLEAF/[124]

这里主要是:

nodenum,将相关信息关联起来

cnode,数据库节点编号,rac中有用

sid,会话的 sid

sess_srno,serial#

ospid,pid

state,表示session状态重点关注LEAF状态的节点,它们通常就是造成阻塞的关键会话

adjlist,关联会话的nodenum,通常就是blocker的nodenum

1 制造阻塞

session 1

SQL> update scott.emp_t set comm = 1000 where empno=7788;

1 row updated.

session 2

SQL> update scott.emp_t set comm = 1500 where empno = 7788;

2 hanganalyze

[[email protected] ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Wed Jun 21 21:40:52 2017

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

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> oradebug setmypid

Statement processed.

SQL> oradebug unlimit

Statement processed.

SQL> oradebug hanganalyze 3

Hang Analysis in /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_3642.trc

SQL> oradebug tracefile_name

/u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_3642.trc

SQL> exit

文件比较长,主要是下面这段

[[email protected] ~]$ vim /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_3642.trc

State of ALL nodes

([nodenum]/cnode/sid/sess_srno/session/ospid/state/[adjlist]):

[124]/1/125/7/0xcb8b7c30/2985/LEAF/

[137]/1/138/85/0xcb8900d0/3456/NLEAF/[124]

sid = 125 serial = 7 pid = 2985 阻塞了 138,85,3456

3 kill 阻塞会话

kill会话有两种方式,oracle内kill相关sid,以及系统中kill相关pid

oracle内kill相关sid

alter system kill session 'sid, s.serial#‘;

linux中就是 kill -9

SQL> alter system kill session '125,7';

System altered.

4 查看结果

session 1

SQL> select * from scott.emp_t;

select * from scott.emp_t

*

ERROR at line 1:

ORA-00028: your session has been killed

session 2

1 row updated.

SQL> set lines 200

SQL> select * from scott.emp_t;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO

---------- ---------- --------- ---------- ------------ ---------- ---------- ----------

7369 SMITH CLERK 7902 17-DEC-80 800 20

....

14 rows selected.

5 其他资料

如果感兴趣可以查看下面的资料,虽然有些有出入,可以作为参考

Oracle Hanganalyze 分析

查询Oracle正在执行和执行过的SQL语句

https://www.cndba.cn/xkan/article/2000

https://www.cndba.cn/xkan/article/2000

https://www.cndba.cn/xkan/article/2000

https://www.cndba.cn/xkan/article/2000

https://www.cndba.cn/xkan/article/2000

https://www.cndba.cn/xkan/article/2000

https://www.cndba.cn/xkan/article/2000

https://www.cndba.cn/xkan/article/2000

https://www.cndba.cn/xkan/article/2000

https://www.cndba.cn/xkan/article/2000

版权声明:本文为博主原创文章,未经博主允许不得转载。

oracle hang analyze,hanganalyze 分析数据库挂起相关推荐

  1. oracle hang analyze,Oracle hanganalyze工具的使用

    hanganalyze是ORACLE的一款性能诊断工具,这个款工具是从oracle 8.0.6开始可用,在oracle数据库出现严重的性能问题的时候它可以帮助你定位问题所在. 1.首先说说hangan ...

  2. Oracle RAC一节点宕机导致另一节点HANG的问题分析

    正所谓"福无双至,祸不单行",生产上有套2节点Oracle 11.2.0.4数据库,其中2节点因硬件故障宕机,1节点去HANG住了.我们一起来分析这起故障. 凌晨4点半,值班同时电 ...

  3. oracle油井数据分析,长庆油田信息分析数据库系统设计.doc

    长庆油田信息分析数据库系统设计 摘要:长庆油田信息分析数据库系统利用ORACLE数据库,GIS(地理信息系统)技术对原有的油田信息进行储存,图形化管理,并借助数学分析方法对生产信息进行分析,得出规律, ...

  4. Oracle hang 之sqlplus -prelim方法

       很多情况下,Oracle hang导致sqlplus无法连接,从而无法获得Oracle系统和进程状态,使得定位问题缺少强有力的依据. 所幸的是Oracle 10g推出了sqlplus -pr ...

  5. Oracle hang 之sqlplus -prelim使用方法

    第一章  Oracle hang 之sqlplus -prelim使用方法 很多情况下,Oracle hang导致sqlplus无法连接,从而无法获得Oracle系统和进程状态,使得定位问题缺少强有力 ...

  6. Oracle AWR报告详细分析

    Oracle AWR报告详细分析  (文档 ID 1523048.1) AWR 是 Oracle  10g 版本 推出的新特性, 全称叫Automatic Workload Repository-自动 ...

  7. oracle不能关闭,Oracle shutdown immediate无法关闭数据库解决方法

    在测试服务器上使用shutdown immediate命令关闭数据库时,长时间无法关闭数据库,如下所示 1: [oracle@DB-Server admin]$ sqlplus / as sysdba ...

  8. C#分析数据库结构,使用XSL模板自动生成代码

    <html> <head> <TITLE>分析数据库结构,自动生成代码</TITLE> <meta http-equiv="Conten ...

  9. 分析数据库CitusDB:提供弹性计算能力

    本文讲的是分析数据库CitusDB:提供弹性计算能力,企业数据库市场很庞大,在这个领域既有Oracle这样行家,也有IBM(DB2)和微软(SQL Server)这样的跨界巨头.它们都与中小企业常用到 ...

最新文章

  1. Oracle TNS协议中数据包的内部结构
  2. 前端最佳实践之可维护性
  3. 为什么要选择Apache Pulsar(一)
  4. 测试用例设计方法_测试用例设计方法——流程分析法(场景法)
  5. 当一个项目中同时存在webroot和webcontext时
  6. Python学习之路39-特性property
  7. inkscape使用_使用Inkscape和咖啡渣DIY怪异的瓶子标签
  8. weblogic进程自动关闭_手机总是清理内存?原来是6个设置没关,1秒关闭多用3年...
  9. UHDTV(超高清电视) 的帧率规格:120fps
  10. carrot2 融入自己的中文分词器
  11. H5上传从微信保存的图片提示格式不对
  12. 高等数学与计算机的关联论文,高等数学改革管理计算机信息论文
  13. Windows下错误码全解析
  14. ORACLE中的日期相减
  15. scipy.sparse学习
  16. 12枚硬币中取1枚假币的问题
  17. Zemax非序列-色彩学
  18. 2022年京东NLP实习面试题7道
  19. 系统集成项目管理工程师2020年下半年下午案例分析题及答案
  20. 苹果CEO蒂姆·库克推出传记 售价13.99美元

热门文章

  1. 算法笔记_065:分治法求逆序对(Java)
  2. ES6特性之:Spread操作符
  3. Spring定时器的运用
  4. a20隐藏底部按钮及隐藏状态栏和虚拟按键栏
  5. 6421B Lab5 路由和远程访问的配置与故障排除
  6. 高级语言程序设计c 华南理工,华南理工大学高级语言程序设计(C)期末练习题
  7. python求同构数_用c语言求1到1000的同构数_后端开发
  8. python连接mongo_使用简单的Python连接访问MongoDB
  9. [转载] Java面试题大全(2020版)
  10. 将八进制数制转换为二进制,十进制和十六进制数制