kksfbc child completion事件导致cpu长时间不释放

来源:互联网 发布:java线程池配置 编辑:程序博客网 时间:2024/05/06 17:56

问题描述:
早上检查发现10.1.1.12生产库上,操作系统pid为692620长时间占用12%左右cpu不释放。
检查结果表名为oracle“ kksfbc child completion ”事件导致。此等待事件一旦出现,
与此时间相关的session不会自动消失,将长时间占用cpu资源。

以下是本次事件的诊断过程:
一、topas检查发现pid为692620长时间占用12%左右cpu不释放。

Name            PID  CPU%  PgSp Owner
oracle       692620  12.5   7.8 oracle
oracle       643822   3.4   7.0 oracle
oracle       590652   3.2   9.9 oracle
oracle       258814   2.4  12.5 oracle


二、检查与此pid的ADDR。

SQL> select c.addr , c.INST_ID from gv$process c where c.spid = '692620';

ADDR                INST_ID
---------------- ----------
07000001FC2BF000          2

三、查找此与addr对应的 SQL_HASH_VALUE与SQL_ADDRESS

SQL> select v.SQL_HASH_VALUE, v.SQL_ADDRESS ,v.INST_ID
  2    from gv$session v
  3   where PADDR = '07000001FC2BF000';

SQL_HASH_VALUE SQL_ADDRESS         INST_ID
-------------- ---------------- ----------
    1178698040 07000000F128EE68          2


四、根据SQL_HASH_VALUE与SQL_ADDRESS 找到与pid相关的sql,但此sql并不复杂。
SQL>  select
  2    a.INST_ID,
  3    a.SQL_TEXT
  4     from gv$sqltext a
  5    where a.HASH_VALUE = '1178698040'
  6      and a.ADDRESS = '07000000F128EE68'
  7    ORDER BY address, hash_value, piece;

   INST_ID SQL_TEXT
---------- --------------------------------------------------------------------
         2 SELECT * FROM PrpCcarshipTax WHERE PolicyNo= '605012009110000011429'


       
五、查找数据库中此sql对应的等待时间结果为:"kksfbc child completion"        
SQL> select  INST_ID,sid ,serial# ,user#,machine  from  gv$session where  PADDR = '07000001FC2BF000';
 
   INST_ID        SID    SERIAL#      USER#  MACHINE
---------- ---------- ---------- ----------  ---------------
-----------------------------------------------------------
         2        572      37207         31  ca-be00-ser07
         1        219      57417         31  ca-be00-ser11


SQL>  select w.SID ,w.EVENT from gv$session_wait w where
  2   w.EVENT not like'SQL*Net%'
  3   and w.INST_ID=2 and w.SID='572';

       SID EVENT
---------- -------------------------------------------------
       572 kksfbc child completion        
      
      
六、此事件为oracle的一个bug。此bug在metalink上的id为6795880.8。


from:http://blog.csdn.net/lwei_998/archive/2010/03/12/5374490.aspx

原创粉丝点击