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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/550567.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

先学Oracle还是Java,事前学习过的java和Oracle笔记没删除的都带过来

一个clientimport java.net.*;import java.io.*;public class client {public static void main(String[] args)throws Exception{Socket ssnew Socket("127.0.0.1",6666);OutputStream osss.getOutputStream();DataOutputStream dosnew DataOutputStream(os);dos.wr…

在电脑搭建oracle服务器端,oracle 服务器端搭建(C#开发环境)

oracle 服务器端搭建(C#开发环境)oracle 服务器端搭建(C#开发环境)常见问题:问:安装plsql 能直接 连接 oracle 服务器端吗?答:32可以直接连接,但是64为需要配置问:下载plsql 对于的版本的选择 是选择64位好…

【网络奇遇记】揭秘计算机网络的性能指标:速率|带宽|吞吐量|时延

🌈个人主页:聆风吟 🔥系列专栏:网络奇遇记、数据结构 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 📋前言一. 速率1.1 数据量1.2 速率 二. 带宽三. 吞吐量四. 时延4.1 发送时延4.2 传播时延…

Oracle导入ixf文件,Shell读取文本批量导出\导入DB2数据

需求背景:由于DB2 exp\imp数据只能一张表一张表的exp\imp所以通过把所有的表都写在一个exp_imp_db2.txt文件中exp_imp_db2.txt格式如下:(i|e) schema_name table_name src_name ---iimport ;eexportexp_imp_db2.sh#!/bin/shdb2 connect to…

oracle tsn 数据库,【Oracle数据库恢复】ORA-00600[25027]错误解析

ORA-00600[25027]错误的触发原因是ORACLE检测到一个无效的表空间号TSN Tablespace Number或者相对文件号Relative File Number。该ORA-00600[25027]的2个变量各代表:arg[a] Tablespace Number表空间号arg[b] 十进制的相对数据块号Relative Data Block Address (RDBA…

怎么查看ip地址下的php文件夹,pe下查看原系统ip的方法

pe下查看原系统ip的方法方法及步骤如下:在PE下加载注册表,找到[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces],在“Interfaces”选项下面可以看到有多个注册表子项,依照不同子项下面的“IP…

如下为利用Linux内核链表创建,Linux内核中链表的实现与应用

链表(循环双向链表)是Linux内核中最简单、最常用的一种数据结构。1、链表的定义struct list_head {struct list_head *next, *prev;}这个不含数据域的链表,可以嵌入到任何数据结构中,例如可按如下方式定义含有数据域的链表:struct my_list {void * mydata;struct l…

linux共享内存示例,linux 进程间共享内存示例

写入端:#include #include #include #include #include using namespace std;struct MappingDataType {int mappingData;};bool SetUsedPID(string mappingName){void *shm NULL;MappingDataType *shared;int shmid shmget((key_t), sizeof(MappingDataType), |IP…

Linux使用cmake编译项目,如何使用cmake在linux中构建Qt项目(How to build Qt project in linux with cmake)...

如何使用cmake在linux中构建Qt项目(How to build Qt project in linux with cmake)我使用的是ubuntu 14.04,cmake 2.8.12.2,Qt5.6.2(内置版本),GNU make 3.81用cmake PathToSource -G "Eclipse CDT4 - Unix Makefiles"运行cmake之后…

linux cmake 编译项目,使用CMake构建复杂工程

0. 什么是CMakeCMake是一个跨平台的编译、安装、测试以及打包工具;CMake不直接编译软件,而是结合原生构建系统来构建软件。CMake配置文件是CMakeList.txt文件(每个源码文件夹下都要有一个),CMake根据配置文件在生成Unix的Makefile或VS的solut…

Linux防火墙屏蔽ip6,观点|Linux 发行版们应该禁用 IPv4 映射的 IPv6 地址吗?

从各方面来看,互联网向 IPv6 的过渡是件很缓慢的事情。不过在最近几年,可能是由于 IPv4 地址资源的枯竭,IPv6 的使用处于上升态势。相应的,开发者也有兴趣确保软件能在 IPv4 和 IPv6 下工作。但是,正如近期 OpenBSD 邮…

linux db2 权限管理,DB2五种管理权限

DB2五种管理权限SYSADM, SYSCTRL SYSMAINT DBADM and LOAD前三个权限是instance-level,and can only be assigned to a group and are done so through the Database Manager Configuration file.后两个权限是database-level,are assigned to a user or group for …

boost 线程 linux,Boost Linux线程第一课

#include#includevoid ThreadFunc(){std::cout<}int main(){boost::thread thrd1(&ThreadFunc);thrd1.join();return 0;}编译指令 g test.cpp -lboost_thread注意&#xff1a;没有链接boost_thread&#xff0c;出错提示如下&#xff1a;undefined reference to boo…

linux 链接文件 通配符,linux globbing文件通配符

在linux中使用ls、cp、mv、rm等命令时可以使用文件通配符匹配操作多个文件。匹配模式*&#xff1a;匹配任意长度的任意字符?&#xff1a;匹配任意单个字符[]&#xff1a;匹配指定范围内的任意单个字符(文件通配不区分字母的大小写)[^]&#xff1a;匹配非制定范围内的任意单个字…

linux 升级centos7,Linux之从Centos 6.x 升级Centos7

1、安装升级工具依赖的软件包yum -y install openscap pcre-devel libxml2-devel libxslt-devel m2crypto python-simplejson mod_wsgi2、安装以下软件的最新版&#xff0c;可以到这里查找&#xff1a;http://dev.centos.org/centos/6/upg/x86_64/Packagesrpm -ihv http://dev.…

linux和pe修复win10启动项,pe下如何重建win10引导?pe下win10引导修复图文教程

[文章导读] 随着win10系统的流行&#xff0c;越来越多的小伙伴经常遇到win10系统引导丢失的情况&#xff0c;我们知道win10系统现在采用的是uefi引导&#xff0c;以前的一些修复工具都只能修复传统模式mbr格式下的硬引导&#xff0c;但对于uefi引导不是很清楚&#xff0c;uefi引…

linux下实现定时器,在Linux操作系统下实现定时器简介

在Linux实现一个定时器&#xff0c;不像Win32下那样直观。在Win32调用SetTimer就行了&#xff0c;在Linux下则没有相应函数可以直接调用。定时器作为一个常用的功能&#xff0c;在Linux当然也有相应实现。下面我们看看几种常用的方法。要实现定时器功能&#xff0c;最土的办法实…

c语言课程设计大作业模版,c语言课程设计报告模板下载

c语言课程设计报告模板是一款专业的设计模板&#xff0c;对于在大学有需要些设计报告的朋友&#xff0c;可以下载这款模板作为参考&#xff0c;了解设计报告的需求&#xff0c;基本上毕业的论文设计也是在这个基础上严格要求的&#xff0c;欢迎下载使用。C语言介绍C语言是一门面…

c语言error和,C语言ERROR精选.doc

C语言ERROR精选Ambiguous operators need parentheses ) ~. [1 L: f& a/ J不明确的运算需要用括号括起 # n5 J! G c( m: ! o& \( P. CAmbiguous symbol xxx - n# d??i/ t0 K8 M不明确的符号 6 r% o0 \- N! _2 UArgument list syntax error % l, j/ O9 \; x1 j1 e参数…

c语言如何把变量按位颠倒,求答案,用C语言编程,用户输入一个正整数,把他的各位数字前后颠倒,并输入点到后的结果...

满意答案q15173278975推荐于 2017.11.26采纳率&#xff1a;58% 等级&#xff1a;13已帮助&#xff1a;5665人用字符串处理很简单#include #include void main (){int n,i;char s[20];scanf("%d", &n);sprintf(s,"%d", n);printf("%d\n",s…