用户来电在使用plsqldev工具编译存储过程时卡住,远程查看编译时对应等待事件是library cache pin,于是根据此library cache pin等待事件P1RAW找出持有此资源的会话并KILL后,可以正常编译。 对于library cache pin等待事件找出资源持有者的方法是: a.查出library cache pin等待的P1RAW值: select sid, event, p1raw from ...
造成数据库性能下降或挂起的原因很多,”library cache pin”等待是其中之一.当数据库性能严重下降或挂起时,我们通过查询v$session_wait,发现大量的”library cache pin”等待,查询的SQL语句如下: #su - oracle $svrmgrl svrmgr>connect internal svrmgr>select sid,event,p1,p2,p3 from v$session_wait where wait_...
WAITEVENT: "library cache pin" Reference Note [ID 34579.1] 修改时间17-SEP-2011类型REFERENCE状态PUBLISHED "library cache pin" Reference Note This is a reference note for the wait event"library cache pin"which includes the following subsections: ...
Library cache lock控制对于Library Cache Object的并发访问,通过获取Object Handle上的锁定持有。通常在定位Library Cache对象时,就需要持有library cache lock。 对包,存储过程,函数,视图进行编译的时候,Oracle就会在这些对象的handle上面首先获得一个Library Cache Lock;然后在这些对象的Heap上获得Pin,这样就能保证在编译...
因为Object handle保存了lock和pin的信息,即记录哪个用户在这个handle上有lock,或者是哪个用户正在等待获得这个lock。因此library cache lock是发生在handle上的。当一个进程请求library cache object, library cache manager就会应用一个hash算法,从而得到一个hash值,根据相应的hash值到相应的hash bucket中去寻找。如果...
select sid, event, p1raw, seconds_in_wait, wait_time from v$session_wait where event = 'library cache pin' and state = 'WAITING'; 2. 原因查找 Library cache pins 用于管理库缓存冲突,库缓存主要用于存放SQL 执行计划用于重用,当一个会话pin的时候需要首先持有该执行计划地址的latch,有NULL, SHARE ...
and event like 'library cache pin%') ; (3).查出”library cache pin”占有者(即阻塞者)的session id,其SQL语句如下: sql>select sid Holder ,KGLPNUSE Sesion , KGLPNMOD Held, KGLPNREQ Req from x$kglpn , v$session where KGLPNHDL in (select p1raw from v$session_wait where wait_time=0 ...
1.获得Library Cache Pin等待的对象 SELECT addr, kglhdadr, kglhdpar, kglnaown, kglnaobj, kglnahsh, kglhdobj FROM x$kglob WHERE kglhdadr IN (SELECT p1raw FROM v$session_wait WHERE event LIKE 'library%') / ADDR KGLHDADR KGLHDPAR KGLNAOWN KGLNAOBJ KGLNAHSH KGLHDOBJ ...
数据库中,library cache lock和library cache pin等待事件一般可能会在什么情况发生( ) A. session做全表扫描时 B. 存在失效对象,并且多个session同时试图编译这个失效对象 C. buffer cache中存在热块争用 D. library cache不够大时 相关知识点: 试题来源: ...
以下是遇到library cache pin等待事件的处理方法 --查询等待事件 在数据库主机1上面查询 export ORACLE_SID=gisdb1 sqlplus / as sysdba set line 200 pagesize 9999 Select inst_id,event,count(*) from gv$session where status='ACTIVE' and wait_class#<> 6 group by inst_id,event order by 1,3; ...