oracle hang分析使用

oracle hang分析测试

javascript 复制代码
使用hang分析大部分原因在于产生锁资源的争用
1-2:只有hanganalyze输出,不dump任何进程
3:Level2+Dump出在IN_HANG状态的进程
4:Level3+Dump出在等待链里面的blockers(状态为LLEAF/LEAF_NW/IGN_DMP)  		
5:Level4+Dump出所有在等待链中的进程(状态为NLEAF);

1.创建测试数据

javascript 复制代码
create table test as  select * from dba_objects;

2.更新表中一条数据但是不提交

javascript 复制代码
update test set object_id=1 where rownum=1;

3.在开启两个会话并重复执行发现会hang住

javascript 复制代码
SQL> update test set  object_id=1 where rownum=1;
SQL> update test set  object_id=1 where rownum=1;

4.开启第四个会话使用 sqlplus -prelim / as sysdba进行登录

javascript 复制代码
<zhang2:orcldb:/home/oracle>$sqlplus -prelim / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Mon Apr 8 10:45:11 2024
Version 19.21.0.0.0

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

SQL> 

5.登录后启动执行oradebug hanganalyze 3

javascript 复制代码
SQL> oradebug setmypid;       
	 Statement processed.             
SQL> oradebug unlimit
Statement processed.
SQL> oradebug hanganalyze 3; 
Statement processed.
SQL> oradebug dump systemstate 10;--执行后alert会显示trc路径
Statement processed.
SQL> oradebug tracefile_name  --显示日志位置
/u01/app/oracle/diag/rdbms/orcldb/orcldb/trace/orcldb_ora_22062.trc
 SQL>oradebug close_trace   --使用后关闭

6.在trc 找相关的有用信息进行相关会话的处理

相关推荐
ywl47081208729 分钟前
mysql 锁定读和非锁定读
数据库·mysql
流浪00132 分钟前
MySQL数据库基础篇(三):MySQL 数据库库级操作全解:创建、字符集、管理与备份恢复实战
数据库·mysql
吴声子夜歌1 小时前
Redis 3.x——集群运维
运维·数据库·redis
钝挫力PROGRAMER1 小时前
MySQL 数据截断错误 #22001:原因分析与解决方案
数据库·mysql
Database_Cool_1 小时前
记忆张量MemOS + 阿里云PolarDB一站式记忆管理方案发布:给AI装上不断片的记忆
数据库·人工智能·阿里云
码农阿豪1 小时前
上线前能跑,上线后挂了,三个隐性的SQL陷阱
数据库·sql
春卷同学2 小时前
032-关系型数据库在记账应用中的建模与查询优化
java·jvm·数据库
foolishlee2 小时前
openGauss慢SQL记录相关线程
数据库
乖巧的妹子2 小时前
SQL知识点
数据库·sql·oracle
数行拙笔2 小时前
Redis---list类型
数据库·redis·缓存