library cache pin 锁的问题处理

来源:互联网 发布:excel筛选特定数据求和 编辑:程序博客网 时间:2024/05/17 05:59

当存储过程正在运行的时候,如果有进程试图去更新存储过程, 这时就会发生library cache pin等待。 

1.查找造成PIN的事件:

select s.sid, kglpnmod "mode", kglpnreq "req", spid "os process"from       v$session_wait w, x$kglpn p, v$session s, v$process o       where p.kglpnuse=s.saddr       and   kglpnhdl=w.p1raw       and   w.event like '%library cache pin%'       and   s.paddr=o.addr;


2.计算SQL的HASH_VALUE

select decode(sql_hash_value, 0, prev_hash_value,sql_hash_value) from v$session where sid=214;


3.查找出语句:

select sql_text from v$sqltext where hash_value=1443948702 order by piece;


4.经过调查得知此语句由于开发人员执行后并未将该会话正常结束,造成了PIN与LOCK的等待。
查找会话ID。
 

select sid, SERIAL# from v$session where sid=214;        SID    SERIAL#---------- ----------       214       8753


5.杀掉此会话

alter system kill session'214,8753'*第 1 行出现错误:ORA-00031: 标记要终止的会话


6. 经查询需要OS下杀掉会话。
用第一个语句的OS PROCESS 值。

kill -9 30487


 

 

原创粉丝点击