oracle hang analyze,hanganalyze 分析数据库挂起
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 分析数据库挂起相关推荐
- oracle hang analyze,Oracle hanganalyze工具的使用
hanganalyze是ORACLE的一款性能诊断工具,这个款工具是从oracle 8.0.6开始可用,在oracle数据库出现严重的性能问题的时候它可以帮助你定位问题所在. 1.首先说说hangan ...
- Oracle RAC一节点宕机导致另一节点HANG的问题分析
正所谓"福无双至,祸不单行",生产上有套2节点Oracle 11.2.0.4数据库,其中2节点因硬件故障宕机,1节点去HANG住了.我们一起来分析这起故障. 凌晨4点半,值班同时电 ...
- oracle油井数据分析,长庆油田信息分析数据库系统设计.doc
长庆油田信息分析数据库系统设计 摘要:长庆油田信息分析数据库系统利用ORACLE数据库,GIS(地理信息系统)技术对原有的油田信息进行储存,图形化管理,并借助数学分析方法对生产信息进行分析,得出规律, ...
- Oracle hang 之sqlplus -prelim方法
很多情况下,Oracle hang导致sqlplus无法连接,从而无法获得Oracle系统和进程状态,使得定位问题缺少强有力的依据. 所幸的是Oracle 10g推出了sqlplus -pr ...
- Oracle hang 之sqlplus -prelim使用方法
第一章 Oracle hang 之sqlplus -prelim使用方法 很多情况下,Oracle hang导致sqlplus无法连接,从而无法获得Oracle系统和进程状态,使得定位问题缺少强有力 ...
- Oracle AWR报告详细分析
Oracle AWR报告详细分析 (文档 ID 1523048.1) AWR 是 Oracle 10g 版本 推出的新特性, 全称叫Automatic Workload Repository-自动 ...
- oracle不能关闭,Oracle shutdown immediate无法关闭数据库解决方法
在测试服务器上使用shutdown immediate命令关闭数据库时,长时间无法关闭数据库,如下所示 1: [oracle@DB-Server admin]$ sqlplus / as sysdba ...
- C#分析数据库结构,使用XSL模板自动生成代码
<html> <head> <TITLE>分析数据库结构,自动生成代码</TITLE> <meta http-equiv="Conten ...
- 分析数据库CitusDB:提供弹性计算能力
本文讲的是分析数据库CitusDB:提供弹性计算能力,企业数据库市场很庞大,在这个领域既有Oracle这样行家,也有IBM(DB2)和微软(SQL Server)这样的跨界巨头.它们都与中小企业常用到 ...
最新文章
- Oracle TNS协议中数据包的内部结构
- 前端最佳实践之可维护性
- 为什么要选择Apache Pulsar(一)
- 测试用例设计方法_测试用例设计方法——流程分析法(场景法)
- 当一个项目中同时存在webroot和webcontext时
- Python学习之路39-特性property
- inkscape使用_使用Inkscape和咖啡渣DIY怪异的瓶子标签
- weblogic进程自动关闭_手机总是清理内存?原来是6个设置没关,1秒关闭多用3年...
- UHDTV(超高清电视) 的帧率规格:120fps
- carrot2 融入自己的中文分词器
- H5上传从微信保存的图片提示格式不对
- 高等数学与计算机的关联论文,高等数学改革管理计算机信息论文
- Windows下错误码全解析
- ORACLE中的日期相减
- scipy.sparse学习
- 12枚硬币中取1枚假币的问题
- Zemax非序列-色彩学
- 2022年京东NLP实习面试题7道
- 系统集成项目管理工程师2020年下半年下午案例分析题及答案
- 苹果CEO蒂姆·库克推出传记 售价13.99美元
热门文章
- 算法笔记_065:分治法求逆序对(Java)
- ES6特性之:Spread操作符
- Spring定时器的运用
- a20隐藏底部按钮及隐藏状态栏和虚拟按键栏
- 6421B Lab5 路由和远程访问的配置与故障排除
- 高级语言程序设计c 华南理工,华南理工大学高级语言程序设计(C)期末练习题
- python求同构数_用c语言求1到1000的同构数_后端开发
- python连接mongo_使用简单的Python连接访问MongoDB
- [转载] Java面试题大全(2020版)
- 将八进制数制转换为二进制,十进制和十六进制数制