Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2765884
  • 博文数量: 389
  • 博客积分: 4177
  • 博客等级: 上校
  • 技术积分: 4773
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-16 23:29
文章分类

全部博文(389)

分类: Oracle

2013-09-24 22:41:04

                                              使用v$wait_chains来诊断ORACLE数据库HANG
   从oracle 11GR1后引入了一个新的后台进程,进程名为diag0。官方文档定义该进程是一个诊断进程,收来收集诊息的.
该进程主要用是用来收集hang的信息的,单实例每隔三秒,RAC中每隔10秒,收集数据到shared pool中的一个cache中.
SQL> select * from v$sgastat where name like '%ksdhng: %';

POOL         NAME                            BYTES
------------ -------------------------- ----------
shared pool  ksdhng: el blking cache         97600
shared pool  ksdhng: blkers cache            19520
shared pool  ksdhng: cache ctx                 144
shared pool  ksdhng: cbufs                      64
shared pool  ksdhng: blking cache             9760
shared pool  ksdhng: cbuf                    32768

6 rows selected.

主要的参数:
_diag_proc_enabled控制是否允许diag
_diag_proc_max_time_ms控制收集的时间

ksdhng相关的参数主要通过v$wait_chain来表现。如我手动模拟一下tx:row -lock contention的例子

session 1:
SQL> delete from t1;
 
70982 rows deleted

session 2:
SQL> delete from t1;   --一直处于执行状态


session 3:

SQL> select chain_signature,wait_event_text,osid,blocker_osid from v$wait_chains;
 
CHAIN_SIGNATURE                                                                  WAIT_EVENT_TEXT                                                  OSID                      BLOCKER_OSID
-------------------------------------------------------------------------------- -------------------------------------- - -------------------------
'SQL*Net message from client'<='enq: TX - row lock contention'                   enq: TX - row lock contention                                    27578                     27509
'SQL*Net message from client'<='enq: TX - row lock contention'                   SQL*Net message from client                                      27509                    
 
SQL>

可以查找出当前的会话


对于在整个库被某个会话阻止的时候,找到最先引起的block会话特别有用。低层的视图是x$ksdhng_chains.对于整个库被HANG紧急况下,sqlplus 可能也无法正常连接到实例了.

可以通过-prelim的方式连接,然后通过直接访问内存的方式来查看这个视图,然后杀掉首要会话.


 

阅读(3441) | 评论(0) | 转发(0) |
0

上一篇:1z051-10

下一篇:1z053-01

给主人留下些什么吧!~~