翻譯metalink關於WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK文章

liiinuuux發表於2014-01-28
翻譯metalink關於WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK文章

可能的原因
SGA resize操作的過程中會鎖住row cache
相關BUG
Document 7189722.8 Bug 7189722 - Frequent grow/shrink SGA resize operations
Document 9267837.8 Bug 9267837 - Auto-SGA policy may see larger resizes than needed

根據被鎖的物件判斷原因
DC_TABLESPACES
可能是給表空間分配extent導致的,檢視是否存在extent size特別小的物件,導致頻繁分配的情況,比如優先找出某個物件的extent特別多特別碎。

DC_SEQUENCES
檢視序列的cache是不是太小了。
相關BUG
Document 853652.1 RAC and Sequences
Document 395314.1 RAC Hangs due to small cache size on SYS.AUDSES$ - fixed in 10.2.0.3
Document 6027068.8 Bug 6027068 - Contention on ORA_TQ_BASE sequence -fixed in 10.2.0.5 and 11.2.0.1

DC_USERS
可能是執行grant xxxx to user的時候,這個user正在登陸資料庫。
相關BUG
Document 4604972.8 Bug 4604972 - Deadlock on dc_users by Concurrent Grant/Revoke - fixed in 11.1.0.6
Document 6143420.8 Bug 6143420 - Deadlock involving "ROW CACHE LOCK" on dc_users AND "CURSOR: PIN S WAIT ON X"- fixed in 10.2.0.5 and 11.1.0.6  DC_OBJECTS
Document 12772404.8 Bug 12772404 - Significant "row cache objects" latch contention when using VPD

DC_OBJECT_IDS
相關BUG
Document 11693365.8 Bug 11693365 - Concurrent Drop table and Select on Reference constraint table hangs(deadlock) - fixed in 12.1


DC_SEGMENTS,DC_ROLLBACK_SEGMENTS
段正在進行分配操作,需要檢視持有鎖的session具體在做什麼。

DC_TABLE_SCNS
相關BUG
Document 5756769.8 Bug 5756769 - Deadlock between Create MVIEW and DML - fixed in 10.2.0.5 ,11.1.07 and 11.2.0.1

DC_AWR_CONTROL
相關BUG
Document 6004916.8 Bug 6004916 - Hang involving row cache enqueues in RAC (ORA-4021) - fixed in 102.0.5 and 11.1.0.6
Document 8666117.8 Bug 8666117 - High row cache latch contention in RAC - fixed in 11.2.0.2 and 12.1
Document 9866045.8 Bug 9866045 - Long wait on 'wait for master scn' in LCK causing long row cache lock waits - fixed in 12.1



systemstat舉例:

Oracle process number: 77
Unix process pid: 10846, image: oracle@cpdb4532

*** 2011-05-13 08:08:58.775
*** SERVICE NAME:(ALFCMR_SERVICE) 2011-05-13 08:08:58.775
*** SESSION ID:(1076.796) 2011-05-13 08:08:58.775
> WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK! <<<
row cache enqueue: session: 0x1df57ade8, mode: N, request: S

上面內容顯示了程式資訊、session資訊,目前沒有持有鎖(mode: N),請求共享模式鎖(request: S)


PROCESS 77
----------------------------------------
.
.
----------------------------------------
SO: 0x1cdf11958, type: 50, owner: 0x17d198288, flag: INIT/-/-/0x00
row cache enqueue: count=1 session=0x1df57ade8 object=0x1dc9a5d30, request=S
savepoint=0x87b70d
row cache parent object: address=0x1dc9a5d30 cid=7(dc_users)

上面資訊顯示該程式請求的是dc_users


PROCESS 218:
----------------------------------------
.
.
SO: 0x1cdf118f8, type: 50, owner: 0x1ceb0f178, flag: INIT/-/-/0x00
row cache enqueue: count=1 session=0x1da54cf68 object=0x1dc9a5d30, request=X
savepoint=0x11e
row cache parent object: address=0x1dc9a5d30 cid=7(dc_users)

透過object=0x1dc9a5d30等資訊,可以發現另有一個程式218請求dc_users的排它鎖。


PROCESS 164:
----------------------------------------
.
.
O/S info: user: u1m, term: , ospid: 1234, machine: cpc44711
program:
last wait for 'SQL*Net message from client' blocking sess=0x(nil) seq=36289 wait_time=6943 seconds since wait started=2539
driver id=54435000, #bytes=1, =0
.
.
SO: 0x1cdf11418, type: 50, owner: 0x1ccc26120, flag: INIT/-/-/0x00
row cache enqueue: count=2 session=0x1df578318 object=0x1dc9a5d30, mode=S
savepoint=0xb1bd8e
row cache parent object: address=0x1dc9a5d30 cid=7(dc_users)
hash=fc968070 typ=11 transaction=(nil) flags=00000002
own=0x1dc9a5e00[0x1cdf11448,0x1cdf11448] wat=0x1dc9a5e10[0x1cdf11928,0x17d5192e0] mode=S

繼續檢視,會發現程式164持有的dc_users的共享鎖(mode=S),而seconds since wait started=2539說明它持有這個佇列已經很長時間了。



systemstat舉例2:

Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining
and Real Application Testing options
ORACLE_HOME = /opt/oracle10/product/10.2.0
System name: SunOS
Node name: saecopt51
Release: 5.10
Version: Generic_144488-04
Machine: sun4v
Instance name: PORT_V16
Redo thread mounted by this instance: 1
Oracle process number: 18
Unix process pid: 6196, image: oracle@sae (MMON)
.
.

PROCESS 18:
----------------------------------------
.
.
last wait for 'ksdxexeotherwait' wait_time=0.000013 sec, seconds since wait started=6
.
.
SO: 39bf1f0e8, type: 50, owner: 3980783a0, flag: INIT/-/-/0x00
row cache enqueue: count=1 session=3be37ea80 object=39a79f090, request=S
savepoint=0x41f0ae
row cache parent object: address=39a79f090 cid=22(dc_awr_control)
hash=6f60197e typ=9 transaction=3bc39f560 flags=0000002a
own=39a79f160[39bf1f178,39bf1f178] wat=39a79f170[39bf1f118,39bf1f118] mode=X

上面資訊支出MMON程式正字啊請求以share模式獲取dc_awr_control上的鎖。


PROCESS 269:
----------------------------------------
.
.

waiting for 'SGA: allocation forcing component growth' wait_time=0, seconds since wait started=3

.
.
SO: 39bf1f148, type: 50, owner: 3bc39f560, flag: INIT/-/-/0x00
row cache enqueue: count=1 session=3be1b7c98 object=39a79f090, mode=X
savepoint=0x41efe8
row cache parent object: address=39a79f090 cid=22(dc_awr_control)
hash=6f60197e typ=9 transaction=3bc39f560 flags=0000002a
own=39a79f160[39bf1f178,39bf1f178] wat=39a79f170[39bf1f118,39bf1f118] mode=X
.
.
透過object=39a79f090查詢,發現269程式以排他模式鎖住了dc_awr_control
而這個269程式正在進行SGA RESIZE操作。
透過AWR可以發現以下資訊:
Top 5 Timed Events                                         Avg %Total              
~~~~~~~~~~~~~~~~~~                                        wait   Call              
Event                                 Waits    Time (s)   (ms)   Time Wait Class   
------------------------------ ------------ ----------- ------ ------ ----------   
SGA: allocation forcing compon   42,067,317      38,469      1    7.6      Other   
CPU time                                          2,796           0.6              
db file sequential read             132,906         929      7    0.2   User I/O   
latch free                        4,282,858         704      0    0.1      Other   
log file switch (checkpoint in          904         560    620    0.1 Configurat   
          -------------------------------------------------------------      


 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26239116/viewspace-1076285/,如需轉載,請註明出處,否則將追究法律責任。

相關文章