:2008.03.25 17:09
: oracle
http://zhouwf0726.itpub.net/post/9689/458207
---------------------------------------------------------------
ļһenqueueĻṹһЩصIJϣڼenqueueе
ʲôenqueue
enqueueʣҲ͡ʱָĵһͣTx enqueueʱָ뵽еIJ
֪lockһҪŶӵʵֻƣlatchDzһģlatchһDzҪŶӵáEnqueuelockŶӻƵʵ֡
lockʵֶڹԴIJʵġsessionlockǼݵģͬʱԴsessionlockDzݵģһsessionȴһsessionͷеlockܻöԹԴʱȴsessionlockҪ뵽һеУenqueueȴ
Enqueueģʽ
enqueue(lock)һģʽ
1 NULL
2 SS
3 SX
4 S
5 SSX
6 X
ʲôenqueue resource
Lockֿܵ״̬ѻãתߵȴijһlockһЩsessionѾølockijЩsessionתҲijЩsessionеɹµȴһlockҪЩsession״̬УֱΪOwnerwaiterconvertУһṹenqueue resource
enqueueֵģ־ǶӦlockͼID1ID2ɣ<TYPE-ID1-ID2>Enqueue resourceĽṹͷǸenqueue֣Ȼָеָ롣
ͨv$resourceͼԲ鿴ǰϵͳеenqueue
ϵͳкܶ͵lockͬʱڣôenqueue resourceṹʵһ飬䳤_enqueue_resourcesƣҲ˵òϵͳпͬʱڵlockᱨ´
ORA-00052: "maximum number of enqueue resources exceeded"
ͨv$resource_limitͼԲ鿴ϵͳиԴ
ʲôenqueue lock
enqueue locklockoracleʹ˺enqueue reouserceһenqueue lockij_enqueue_locksơ
ͨͼv$enqueue_lockԲ鿴еľݡ
ʲôenqueue hash
ͨenqueue resourceǿ֪oracleһlockʱҪenqueue resourceϲҵlockλá
ÿζ˳ңȻЧʽϵ֪͡hashһָЧIJ㷨oracleenqueue resourceIJҲhashʽһhash飬С_enqueue_hashơ
ͨenqueue<TYPE-ID1-ID2>hash㣬õĽijenqueue resourcehashеλãҲǶλ˾hash bucketenqueue resourcehashֵͬͬһbucketγһ
ӦģΪ˱hash飬Ҫһlatchenqueue hash chainlatchlatch_enqueue_hash_chain_latches
ʲôenqueue freelist
ͬģenqueue resourceеĿλãҪͨһfreelistбÿµλʱҪɨ顣enqueue freelistenqueues latchı
ʵϣenqueue resourceHashʽbuffer cache/library cacheĹʽdz˽enqueue hash,resourcelockdumpĽ
alter session set events immediate trace name enqueues level 3;






