Oracle 11g下重现library cache lock等待事件,11glibrary
从下面的例子中可以看到,在生产数据库中对象的重新编译会导致library cache lock,所以应该尽量避免在业务高峰期编译对象。如果是package或过程中存在复杂的依赖关系就极易导致library cache lock的出现,所以在应用开发的过程中,也应该注意这方面的问题。
session1:
SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
SQL> create or replace procedure pining
isbegin
null;
end;
/
SQL> create or replace procedure calling
is
begin
pining;
dbms_lock.sleep(200);
end;
/
session2:
alter procedure pining compile;
session3:
drop procedure pining;
session4:
SQL> select sid, event,wait_class, seconds_in_wait
2 from v$session_wait w
3 where w.WAIT_CLASS <> 'Idle';
SID EVENT WAIT_CLASS
---------- ---------------------------------------------------------------- ----------------
6 library cache lock Concurrency
132 library cache pin Concurrency
191 SQL*Net message to client Network
library cache lock这个问题有难也有简单的。
能否先看下这个表上面是否有什么进程一直在占用? 如果有就Kill掉这个进程,如果没有我们再往下分析
看看这篇文章吧,希望有所帮助。
blog.sina.com.cn/s/blog_788cfb360100wnak.html
首先查询那个机构是不是在Oracle官方的WDP授权页面中,然后看是不是Oracle官方的统一价格,要是高于统一价格的话,说明有乱收费的嫌疑;还有就是看课程安排,是不是一气呵成的,如果还有串讲班什么的,说明它后期还可能强迫你二次收费;然后就是看设备、讲师资质,其实通过试听Oracle培训的试听课程来判断一下也是不错,像CUUG的公开课我就有空就听听,虽然没在哪报过名,但是觉得讲的还是不错的。还有到培训机构实地考察一下都是不错的选择,别人说什么都是假的,你要自己多听多看然后做判断。