怎样诊断过去某个时间段的等待事件原因

1.查看某个等待事件的阻塞会话
select event,blocking_session,sql_id,count(*) from dba_hist_active_sess_history ash
   where sample_time>=to_timestamp('2013-06-24 12:25:00','yyyy-mm-dd hh24:mi:ss')
   and sample_time<=to_timestamp('2013-06-24 12:35:00','yyyy-mm-dd hh24:mi:ss')
   and event='cursor: pin S wait on X'
   group by event,blocking_session,sql_id  /

查看等待事件的sql语句
SQL> select sql_text from v$sql where sql_id='8duehra3kdx62';

2.查看导致上面的session 等待的 blocking session
SQL> select event,blocking_session,sql_id,count(*) from dba_hist_active_sess_history ash
   where sample_time>=to_timestamp('2013-06-24 12:25:00','yyyy-mm-dd hh24:mi:ss')
   and sample_time<=to_timestamp('2013-06-24 12:35:00','yyyy-mm-dd hh24:mi:ss')
   and ash.session_id=2
   group by event,blocking_session,sql_id

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/database/storage/

时间: 2024-11-02 09:04:54

怎样诊断过去某个时间段的等待事件原因的相关文章

经典故障分析 - ASSM引发的索引争用与 enq HW -contention 等待事件

作者介绍: 孙加鹏 云和恩墨技术顾问 六年Oracle技术顾问经验,所服务的行业包括电信运营商.金融业.制造业等. 擅长Oracle的故障诊断.高可用架构.升级迁移等.目前主要服务于上海金融类客户. 故障概述 2017年07月24日11:58左右,客户核心数据库出现大量活动会话,导致数据库负载急剧加大,从而导致业务出现延时,DBA通过查看SESSION信息发现有大量的"enq: HW - contention"等待事件. 一直持续约有3分钟,数据库负载下降: 下面是详细的故障分析诊断过

PostgreSQL 9.6 等待事件出炉

PostgreSQL 9.6 等待事件 作者 digoal 日期 2016-10-06 标签 PostgreSQL , 9.6 , 等待事件 , wait_event 背景 PostgreSQL 9.6动态视图pg_stat_activity新增了wait_event_type, wait_event的等待事件展示. 当会话处于等待状态时,wait_event与wait_event_type非空,表示会话正在等待的类型. 根据等待信息,可以了解当前会话的状态. 将来也可以通过插件的形式,掌握数据

PostgreSQL 9.6 等待事件的详细分析

背景 PostgreSQL 9.6动态视图pg_stat_activity新增了wait_event_type, wait_event的等待事件展示. 当会话处于等待状态时,wait_event与wait_event_type非空,表示会话正在等待的类型. 根据等待信息,可以了解当前会话的状态. 将来也可以通过插件的形式,掌握数据库在某个时间段内的等待事件统计,更好的诊断数据库的健康状态. 已有的插件如下 https://github.com/postgrespro/pg_wait_sampli

等待事件之enq: HW - contention

等待事件之enq: HW - contention SELECT *   FROM V$EVENT_NAME  WHERE NAME  IN        ('enq: HW - contention'); SELECT * FROM V$LOCK_TYPE D WHERE D.TYPE='HW'; 主要用来控制特定对象空间分配时的并发操作.v$lock中的id1为表空间编号ts#,id2为需要分配空间的对象segment header的相对DBA(Data Block Address)位置.

【MOS】常见问题cursor library cache类型的等待事件

[MOS]常见问题:'cursor:mutex ..'/ 'cursor:pin ..'/ 'library cache:mutex ..'类型的等待事件 (文档 ID 1525791.1) 文档内容 用途 问题和答案   什么是 'cursor: ' 等待事件?   最常见的等待事件是什么?   等待事件最常见的原因是什么?   如何避免这些等待事件?   可以在什么位置找到原因诊断以及关于这些等待事件的更多信息?   有用参考 参考 适用于: Oracle Database - Enterp

关于等待事件&quot;read by other session&quot;

在查看数据库负载的时候,发现早上10点开始到12点的这两个钟头,系统负载异常的高.于是抓取了一个awr报告. Snap Id Snap Time Sessions Cursors/Session Begin Snap: 24027 18-Dec-14 10:00:43 3065 6.6 End Snap: 24033 18-Dec-14 11:00:48 3441 6.5 Elapsed:   60.08 (mins)     DB Time:   3,650.67 (mins)     可以从

Oracle常见的等待事件

db file scattered read 对于一些频繁访问的表,如果没有建立索引或没有建立 合适的索引,Oracle只能对其进行全表扫描,就会导致大量该等待事件. 全表扫描时,读 取的数据在磁盘上一般是连续的,但是读到内存时却是不连续的,因此该事件命名为离散读 (scattered read),注意不要被它的名字所迷惑. 一次多块读取的数量受参数 DB_FILE_MULTIBLOCK_READ_COUNT的影响. 在实际诊断过程中,可以通过v$session_wait 视图发现session

Oracle中常见的33个等待事件小结

在Oracle 10g中的等待事件有872个,11g中等待事件1116个. 我们可以通过v$event_name 视图来查看等待事件的相关信息   一. 等待事件的相关知识 1.1 等待事件主要可以分为两类,即空闲(IDLE)等待事件和非空闲(NON-IDLE)等待事件. 1). 空闲等待事件指ORACLE正等待某种工作,在诊断和优化数据库的时候,不用过多注意这部分事件. 2). 非空闲等待事件专门针对ORACLE的活动,指数据库任务或应用运行过程中发生的等待,这些等待事件 是在调整数据库的时候

Oracle中等待事件深入分析

概述 等待事件主要可以分为两类,即空闲(IDLE)等待事件和非空闲(NON-IDLE)等待事件. 1).空闲等待事件 ORACLE正等待某种工作,在诊断和优化数据库的时候,不用过多注意这部分事件. 2). 非空闲等待事件 专门针对 ORACLE 的活动,指数据库任务或应用运行过程中发生的等待,这些等待事件是 在调整数据库的时候需要关注与研究的. 在 Oracle 10g 中的等待事件可以通过 v$event_name 视图来查看等待事件的相关信息. 常见等待事件 Buffer busy wait