react 前端框架如何驱动企业数字化转型与创新发展
336
2023-12-10
本篇文章为大家展示了row cache lock引起的性能问题的处理分析是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
环境:
主机:HPUX IA64
数据库:10.2.0.4 没有打过任何补丁
现象:
客户反应系统慢,无法登录等情况
检查:
从ash报告中,可以看到如下信息
Top Event P1/P2/P3 Values
Event % Event P1 Value, P2 Value, P3 Value % Activity Parameter 1 Parameter 2 Parameter 3
row cache lock 91.88 "7","0","3" 91.33 cache id mode request
cursor: pin S wait on X 7.03 "2747636884","0","12884901920" 0.55 idn value where|sleeps
SQL> col name format a30
SQL> col parameter1 format a20
SQL> col parameter2 format a20
SQL> col parameter3 format a20
SQL> select event#,NAME,PARAMETER1,PARAMETER2,PARAMETER3 from v$event_name where name=row cache lock;
EVENT# NAME PARAMETER1 PARAMETER2 PARAMETER3
---------- ------------------------------ -------------------- -------------------- --------------------
208 row cache lock cache id mode request
SQL> select parameter,gets,getmisses,MODIFICATIONS from v$rowcache where cache#=7;
PARAMETER GETS GETMISSES MODIFICATIONS
-------------------------------- ---------- ---------- -------------
dc_users 10142409 67 0
dc_users 0 0 0
dc_users 237459 35 0
dc_users 0 0 0
我们这里看到是dc_users并不是常见的dc_sequences ,也就不是由于sequences 的cache小引起的row cache lock.这时初步判断是bug引起的。
使用oradebug工具对系统做systemstate 266,下面是使用ass109.awk对trace文件进行分析的结果
[oracle@r11g ~]$ awk -f /home/oracle/ass109.awk /home/oracle/ora10g_ora_19040.trc
Starting Systemstate 1
..............................................................................
...............................................................................
...............................................................................
...............................................................................
.................................................
Ass.Awk Version 1.0.9 - Processing /home/oracle/ora10g_ora_19040.trc
System State 1
~~~~~~~~~~~~~~~~
1:
2: waiting for pmon timer wait
3: waiting for rdbms ipc message wait
4: waiting for rdbms ipc message wait
5: waiting for rdbms ipc message wait
6: waiting for rdbms ipc message wait
7: waiting for rdbms ipc message wait
8: waiting for smon timer wait
9: waiting for rdbms ipc message wait
10: last wait for rdbms ipc message
11: waiting for rdbms ipc message wait
12: waiting for rdbms ipc message wait
13:
14:
15: waiting for row cache lock [Rcache object=c00000027e9059a8,] wait
Cmd: Select
16: waiting for Streams AQ: qmn coordinator idle wait wait
17: waiting for row cache lock [Rcache object=c00000027e9059a8,] wait
Cmd: Select
18: waiting for SQL*Net message from client wait
19: waiting for row cache lock [Rcache object=c00000027e9059a8,] wait
20: last wait for cursor: pin S wait on X[Rcache object=c00000027e9059a8,]
21: waiting for jobq slave wait wait
22: waiting for SQL*Net message from client wait
23: waiting for SQL*Net message from client wait
24: waiting for SQL*Net message from client wait
25: waiting for SQL*Net message from client wait
26: waiting for SQL*Net message from client wait
27: waiting for SQL*Net message from client wait
28: waiting for SQL*Net message from client wait
29: waiting for SQL*Net message from client wait
30: waiting for jobq slave wait wait
31: waiting for SQL*Net message from client wait
32: waiting for SQL*Net message from client wait
Cmd: Update
33:
35: waiting for SQL*Net message from client wait
36: for Streams AQ: waiting for time management or cleanup tasks wait
37: waiting for SQL*Net message from client wait
38: waiting for SQL*Net message from client wait
39: waiting for SQL*Net message from client wait
40: waiting for SQL*Net message from client wait
41: waiting for jobq slave wait wait
42: waiting for SQL*Net message from client wait
43: waiting for SQL*Net message from client wait
44: waiting for SQL*Net message from client wait
45: waiting for SQL*Net message from client wait
46: waiting for SQL*Net message from client wait
47: waiting for SQL*Net message from client wait
48: waiting for SQL*Net message from client wait
49: waiting for SQL*Net message from client wait
Cmd: PL/SQL Execute
50: waiting for SQL*Net message from client wait
51: waiting for SQL*Net message from client wait
52: waiting for SQL*Net message from client wait
53: waiting for SQL*Net message from client wait
54: waiting for SQL*Net message from client wait
55: waiting for SQL*Net message from client wait
56: waiting for SQL*Net message from client wait
57: waiting for SQL*Net message from client wait
58: waiting for SQL*Net message from client wait
59: waiting for SQL*Net message from client wait
60: waiting for SQL*Net message from client wait
61: waiting for SQL*Net message from client wait
62: waiting for SQL*Net message from client wait
63: waiting for SQL*Net message from client wait
64: waiting for SQL*Net message from client wait
65: waiting for SQL*Net message from client wait
66: waiting for SQL*Net message from client wait
67: waiting for SQL*Net message from client wait
68: waiting for SQL*Net message from client wait
69: waiting for jobq slave wait wait
70: waiting for SQL*Net message from client wait
71: waiting for SQL*Net message from client wait
72: waiting for SQL*Net message from client wait
73: waiting for jobq slave wait wait
74: waiting for SQL*Net message from client wait
75: waiting for SQL*Net message from client wait
76: waiting for SQL*Net message from client wait
77: waiting for SQL*Net message from client wait
78: waiting for SQL*Net message from client wait
79: waiting for SQL*Net message from client wait
80: waiting for SQL*Net message from client wait
81: waiting for SQL*Net message from client wait
82: waiting for SQL*Net message from client wait
83: waiting for SQL*Net message from client wait
84: waiting for SQL*Net message from client wait
85: waiting for SQL*Net message from client wait
86: waiting for SQL*Net message from client wait
87: waiting for SQL*Net message from client wait
88: waiting for SQL*Net message from client wait
89: waiting for Streams AQ: qmn slave idle wait wait
90: waiting for SQL*Net message from client wait
91: waiting for SQL*Net message from client wait
Cmd: Update
92: waiting for SQL*Net message from client wait
93: waiting for SQL*Net message from client wait
94: waiting for SQL*Net message from client wait
95: waiting for SQL*Net message from client wait
Cmd: Update
97: waiting for SQL*Net message from client wait
99: waiting for SQL*Net message from client wait
100:waiting for SQL*Net message from client wait
101:waiting for SQL*Net message from client wait
102:waiting for SQL*Net message from client wait
103:waiting for SQL*Net message from client wait
104:waiting for SQL*Net message from client wait
105:waiting for SQL*Net message from client wait
106:waiting for SQL*Net message from client wait
107:waiting for SQL*Net message from client wait
Cmd: Insert
108:waiting for SQL*Net message from client wait
109:waiting for SQL*Net message from client wait
110:waiting for SQL*Net message from client wait
111:waiting for SQL*Net message from client wait
112:waiting for SQL*Net message from client wait
113:last wait for ksdxexeotherwait
114:waiting for SQL*Net message from client wait
115:waiting for SQL*Net message from client wait
116:waiting for SQL*Net message from client wait
117:waiting for SQL*Net message from client wait
118:waiting for SQL*Net message from client wait
119:waiting for SQL*Net message from client wait
Cmd: Insert
120:waiting for SQL*Net message from client wait
121:waiting for SQL*Net message from client wait
122:waiting for SQL*Net message from client wait
123:waiting for SQL*Net message from client wait
124:waiting for SQL*Net message from client wait
Cmd: Insert
125:waiting for SQL*Net message from client wait
126:waiting for SQL*Net message from client wait
128:waiting for SQL*Net message from client wait
129:waiting for SQL*Net message from client wait
130:waiting for SQL*Net message from client wait
131:waiting for SQL*Net message from client wait
Cmd: Delete
133:waiting for SQL*Net message from client wait
134:waiting for SQL*Net message from client wait
136:waiting for SQL*Net message from client wait
137:waiting for SQL*Net message from client wait
138:waiting for db file scattered read (22,26bed,10) wait
Cmd: Select
139:waiting for SQL*Net message from client wait
140:waiting for SQL*Net message from client wait
141:waiting for SQL*Net message from client wait
142:waiting for SQL*Net message from client wait
143:waiting for SQL*Net message from client wait
144:waiting for SQL*Net message from client wait
145:waiting for SQL*Net message from client wait
146:waiting for SQL*Net message from client wait
147:waiting for SQL*Net message from client wait
148:waiting for SQL*Net message from client wait
149:waiting for SQL*Net message from client wait
150:waiting for SQL*Net message from client wait
Cmd: Update
151:waiting for SQL*Net message from client wait
152:waiting for SQL*Net message from client wait
153:waiting for SQL*Net message from client wait
154:waiting for SQL*Net message from client wait
155:waiting for SQL*Net message from client wait
156:waiting for SQL*Net message from client wait
157:waiting for SQL*Net message from client wait
158:waiting for SQL*Net message from client wait
159:waiting for SQL*Net message from client wait
160:waiting for SQL*Net message from client wait
161:waiting for SQL*Net message from client wait
162:waiting for SQL*Net message from client wait
163:waiting for SQL*Net message from client wait
164:waiting for SQL*Net message from client wait
165:waiting for SQL*Net message from client wait
166:waiting for SQL*Net message from client wait
167:waiting for SQL*Net message from client wait
168:waiting for SQL*Net message from client wait
169:waiting for SQL*Net message from client wait
170:waiting for SQL*Net message from client wait
171:waiting for SQL*Net message from client wait
172:waiting for SQL*Net message from client wait
173:waiting for SQL*Net message from client wait
174:waiting for SQL*Net message from client wait
175:waiting for SQL*Net message from client wait
176:waiting for SQL*Net message from client wait
177:waiting for SQL*Net message from client wait
178:waiting for SQL*Net message from client wait
179:waiting for SQL*Net message from client wait
180:waiting for SQL*Net message from client wait
181:waiting for SQL*Net message from client wait
182:waiting for SQL*Net message from client wait
183:waiting for SQL*Net message from client wait
184:waiting for SQL*Net message from client wait
185:waiting for SQL*Net message from client wait
186:waiting for SQL*Net message from client wait
187:waiting for SQL*Net message from client wait
188:waiting for SQL*Net message from client wait
189:waiting for SQL*Net message from client wait
190:waiting for SQL*Net message from client wait
191:waiting for SQL*Net message from client wait
192:waiting for SQL*Net message from client wait
193:waiting for SQL*Net message from client wait
194:waiting for SQL*Net message from client wait
195:waiting for SQL*Net message from client wait
196:waiting for SQL*Net message from client wait
197:waiting for SQL*Net message from client wait
198:waiting for SQL*Net message from client wait
199:waiting for SQL*Net message from client wait
200:waiting for SQL*Net message from client wait
201:waiting for SQL*Net message from client wait
202:waiting for SQL*Net message from client wait
203:waiting for SQL*Net message from client wait
Cmd: Insert
204:waiting for SQL*Net message from client wait
205:waiting for SQL*Net message from client wait
206:waiting for SQL*Net message from client wait
207:waiting for SQL*Net message from client wait
Cmd: Update
208:waiting for SQL*Net message from client wait
209:waiting for SQL*Net message from client wait
210:waiting for SQL*Net message from client wait
211:waiting for SQL*Net message from client wait
212:waiting for SQL*Net message from client wait
213:waiting for SQL*Net message from client wait
214:waiting for SQL*Net message from client wait
215:waiting for SQL*Net message from client wait
216:waiting for SQL*Net message from client wait
217:waiting for SQL*Net message from client wait
218:waiting for SQL*Net message from client wait
219:waiting for SQL*Net message from client wait
220:waiting for SQL*Net message from client wait
221:waiting for SQL*Net message from client wait
222:waiting for SQL*Net message from client wait
Cmd: PL/SQL Execute
223:waiting for SQL*Net message from client wait
224:waiting for SQL*Net message from client wait
225:waiting for SQL*Net message from client wait
226:waiting for SQL*Net message from client wait
227:waiting for SQL*Net message from client wait
228:waiting for SQL*Net message from client wait
229:waiting for SQL*Net message from client wait
230:waiting for SQL*Net message from client wait
231:waiting for SQL*Net message from client wait
232:waiting for SQL*Net message from client wait
233:waiting for SQL*Net message from client wait
234:waiting for SQL*Net message from client wait
235:waiting for SQL*Net message from client wait
236:waiting for SQL*Net message from client wait
Cmd: Insert
237:waiting for SQL*Net message from client wait
238:waiting for SQL*Net message from client wait
239:waiting for SQL*Net message from client wait
240:waiting for SQL*Net message from client wait
241:waiting for SQL*Net message from client wait
242:waiting for SQL*Net message from client wait
243:waiting for SQL*Net message from client wait
244:waiting for SQL*Net message from client wait
245:waiting for SQL*Net message from client wait
246:waiting for SQL*Net message from client wait
247:waiting for SQL*Net message from client wait
248:waiting for SQL*Net message from client wait
249:waiting for SQL*Net message from client wait
250:waiting for SQL*Net message from client wait
251:waiting for SQL*Net message from client wait
252:waiting for SQL*Net message from client wait
253:waiting for SQL*Net message from client wait
254:waiting for SQL*Net message from client wait
255:waiting for SQL*Net message from client wait
256:waiting for SQL*Net message from client wait
257:waiting for SQL*Net message from client wait
258:waiting for SQL*Net message from client wait
259:waiting for SQL*Net message from client wait
260:waiting for SQL*Net message from client wait
261:waiting for SQL*Net message from client wait
262:last wait for SQL*Net message to client
263:waiting for SQL*Net message from client wait
264:waiting for SQL*Net message from client wait
265:waiting for SQL*Net message from client wait
267:waiting for SQL*Net message from client wait
268:waiting for SQL*Net message from client wait
269:waiting for SQL*Net message from client wait
270:waiting for SQL*Net message from client wait
271:waiting for SQL*Net message from client wait
272:waiting for SQL*Net message from client wait
Cmd: Update
273:waiting for SQL*Net message from client wait
274:waiting for SQL*Net message from client wait
275:waiting for SQL*Net message from client wait
276:waiting for SQL*Net message from client wait
277:waiting for SQL*Net message from client wait
278:waiting for SQL*Net message from client wait
279:waiting for SQL*Net message from client wait
280:waiting for SQL*Net message from client wait
281:waiting for SQL*Net message from client wait
282:waiting for SQL*Net message from client wait
283:waiting for SQL*Net message from client wait
284:waiting for SQL*Net message from client wait
285:waiting for SQL*Net message from client wait
Cmd: Insert
286:waiting for SQL*Net message from client wait
287:waiting for SQL*Net message from client wait
288:waiting for SQL*Net message from client wait
Cmd: Select
289:waiting for SQL*Net message from client wait
290:waiting for SQL*Net message from client wait
291:waiting for SQL*Net message from client wait
292:waiting for SQL*Net message from client wait
293:waiting for SQL*Net message from client wait
294:waiting for SQL*Net message from client wait
295:waiting for SQL*Net message from client wait
296:waiting for SQL*Net message from client wait
297:waiting for SQL*Net message from client wait
298:waiting for SQL*Net message from client wait
299:waiting for SQL*Net message from client wait
300:waiting for SQL*Net message from client wait
301:waiting for SQL*Net message from client wait
302:waiting for SQL*Net message from client wait
303:waiting for SQL*Net message from client wait
304:waiting for SQL*Net message from client wait
305:waiting for SQL*Net message from client wait
306:waiting for SQL*Net message from client wait
307:waiting for SQL*Net message from client wait
308:waiting for SQL*Net message from client wait
309:waiting for SQL*Net message from client wait
310:waiting for SQL*Net message from client wait
311:waiting for SQL*Net message from client wait
312:waiting for SQL*Net message from client wait
313:waiting for SQL*Net message from client wait
314:waiting for SQL*Net message from client wait
315:waiting for SQL*Net message from client wait
316:waiting for SQL*Net message from client wait
317:waiting for SQL*Net message from client wait
318:waiting for SQL*Net message from client wait
319:waiting for SQL*Net message from client wait
320:waiting for SQL*Net message from client wait
321:waiting for SQL*Net message from client wait
322:waiting for SQL*Net message from client wait
323:waiting for SQL*Net message from client wait
Cmd: Insert
324:waiting for SQL*Net message from client wait
325:waiting for SQL*Net message from client wait
326:waiting for SQL*Net message from client wait
327:waiting for SQL*Net message from client wait
328:waiting for SQL*Net message from client wait
329:waiting for SQL*Net message from client wait
330:waiting for SQL*Net message from client wait
331:waiting for SQL*Net message from client wait
332:waiting for SQL*Net message from client wait
334:waiting for SQL*Net message from client wait
336:waiting for SQL*Net message from client wait
337:waiting for SQL*Net message from client wait
338:waiting for SQL*Net message from client wait
339:waiting for SQL*Net message from client wait
340:waiting for SQL*Net message from client wait
341:waiting for SQL*Net message from client wait
342:waiting for SQL*Net message from client wait
343:waiting for SQL*Net message from client wait
344:waiting for SQL*Net message from client wait
345:waiting for SQL*Net message from client wait
346:waiting for SQL*Net message from client wait
347:waiting for SQL*Net message from client wait
348:waiting for SQL*Net message from client wait
349:waiting for SQL*Net message from client wait
350:waiting for SQL*Net message from client wait
351:waiting for SQL*Net message from client wait
352:waiting for SQL*Net message from client wait
Cmd: PL/SQL Execute
354:waiting for SQL*Net message from client wait
355:waiting for SQL*Net message from client wait
356:waiting for SQL*Net message from client wait
357:waiting for SQL*Net message from client wait
358:waiting for SQL*Net message from client wait
359:waiting for SQL*Net message from client wait
360:waiting for SQL*Net message from client wait
362:waiting for SQL*Net message from client wait
Cmd: Update
363:waiting for SQL*Net message from client wait
364:waiting for SQL*Net message from client wait
Cmd: Update
365:waiting for SQL*Net message from client wait
Cmd: PL/SQL Execute
366:waiting for SQL*Net message from client wait
368:waiting for SQL*Net message from client wait
Cmd: Update
373:waiting for SQL*Net message from client wait
374:waiting for SQL*Net message from client wait
375:waiting for SQL*Net message from client wait
376:waiting for SQL*Net message from client wait
377:waiting for SQL*Net message from client wait
378:waiting for SQL*Net message from client wait
379:waiting for SQL*Net message from client wait
380:waiting for SQL*Net message from client wait
Blockers
~~~~~~~~
Above is a list of all the processes. If they are waiting for a resource
then it will be given in square brackets. Below is a summary of the
waited upon resources, together with the holder of that resource.
Notes:
~~~~~
o A process id of - implies that the holder was not found in the
systemstate.
Resource Holder State
Rcache object=c00000027e9059a8, - Blocker
Object Names
~~~~~~~~~~~~
Rcache object=c00000027e9059a8,
955236 Lines Processed.
[oracle@r11g ~]$
从原始trace文件中,获取process 15的详细信息
PROCESS 15:
----------------------------------------
SO: c00000027f798fa0, type: 2, owner: 0000000000000000, flag: INIT/-/-/0x00
(process) Oracle pid=15, calls cur/top: c00000027fc92e30/c00000027fc949f8, flag: (0) -
int error: 0, call error: 0, sess error: 0, txn error 0
(post info) last post received: 0 0 171
last post received-location: kqrget: post after requeueing
last process to post me: c00000027f7c2270 148 0
last post sent: 0 0 0
last post sent-location: No post
last process posted by me: none
(latch info) wait_event=0 bits=0
Process Group: DEFAULT, pseudo proc: c00000027f8bd450
O/S info: user: oracle, term: UNKNOWN, ospid: 17056
OSD pid info: Unix process pid: 17056, image: oracle@tjbzxt-2
Short stack dump:
ksdxfstk()+48<-ksdxcb()+5776<-sspuser()+640<-<-_pw_wait()+48<-pw_wait()+128<-sskgpwwait()+384<-skgpwwait()+208<-ksliwat()+1744<-kslwaitns_timed()+112<-kskthbwt()+368<-kslwait()+640<-kqrget()+1264<-kqrpre1()+1376<-ktatminextsz()+496<-qerhjComputeFanoutAndBPS()+688<-kkejnc()+6992<-kkojnp()+101840<-kkocnp()+512<-kkooqb()+5504<-kkoqbc()+4400<-apakkoqb()+368<-apaqbdDescendents()+768<-apaqbd()+256<-kkqctCostTransfQB()+208<-kkqctdrvSU()+3392<-nsotruns()+560<-nsotruns()+256<-nsoqbc()+1056<-kkqctdrvTD()+1264<-kkqdrv()+2192<-kkqctdrvIT()+992<-apadrv()+832<-opitca()+3040<-kksLoadChild()+15376<-kxsGetRuntimeLock()+2656<-kksfbc()+16640<-kkspsc0()+1984<-kksParseCursor()+352<-opiosq0()+4320<-kpooprx()+416<-kpoal8()+1248<-opiodr()+2128<-ttcpip()+1680<-opitsk()+2336<-opiino()+1840<-opiodr()+2128<-opidrv()+1088<-sou2o()+336<-opimai_real()+224<-main()+368<-main_opd_entry()+80
Dump of memory from 0xC00000027F747448 to 0xC00000027F747650
C00000027F747440 00000004 00000000 [........]
C00000027F747450 C0000002 7D450A10 00000010 000313A7 [....}E..........]
C00000027F747460 C0000002 7FC949F8 00000003 000313A7 [......I.........]
C00000027F747470 C0000002 7FF78D40 0000000B 000313A7 [.......@........]
C00000027F747480 C0000002 7FB96CB0 00000004 0003129B [......l.........]
C00000027F747490 00000000 00000000 00000000 00000000 [................]
Repeat 27 times
----------------------------------------
SO: c00000027fb96cb0, type: 4, owner: c00000027f798fa0, flag: INIT/-/-/0x00
(session) sid: 539 trans: 0000000000000000, creator: c00000027f798fa0, flag: (41) USR/- BSY/-/-/-/-/-
DID: 0001-000F-000000FD, short-term DID: 0000-0000-00000000
txn branch: 0000000000000000
oct: 3, prv: 0, sql: c000000271faf4e0, psql: c00000026f58e720, user: 57/CCATSUPT
service name: SYS$USERS
O/S info: user: root, term: unknown, ospid: 1234, machine: tjbzxt-2
program: JDBC Thin Client
application name: JDBC Thin Client, hash value=2546894660
waiting for row cache lock blocking sess=0x0000000000000000 seq=200 wait_time=0 seconds since wait started=8
cache id=7, mode=0, request=3
Dumping Session Wait History
for row cache lock count=1 wait_time=2224742
cache id=7, mode=0, request=3
for row cache lock count=1 wait_time=2937051
cache id=7, mode=0, request=3
for row cache lock count=1 wait_time=2940382
cache id=7, mode=0, request=3
for latch: row cache objects count=1 wait_time=14
address=c0000002788337e0, number=c8, tries=1
for latch: row cache objects count=1 wait_time=12307
address=c0000002788337e0, number=c8, tries=0
for row cache lock count=1 wait_time=43952
cache id=7, mode=0, request=3
for row cache lock count=1 wait_time=2939440
cache id=7, mode=0, request=3
for row cache lock count=1 wait_time=2939448
cache id=7, mode=0, request=3
for row cache lock count=1 wait_time=2939421
cache id=7, mode=0, request=3
for row cache lock count=1 wait_time=2939443
cache id=7, mode=0, request=3
temporary object counter: 0
这里ktatminextsz()被调用。
----------------------------------------
咨询oracle原厂给予的答复:
KM SEARCH
---------------
Keyword =ROW CACHE LOCK
1.Bug 6143420 Deadlock involving "ROW CACHE LOCK" on dc_users AND "CURSOR: PIN S WAIT ON X"
Versions confirmed as being affected
10.2.0.4
10.2.0.3
This issue is fixed in
11.1.0.6 (Base Release)
10.2.0.5 (Server Patch Set)
10.2.0.4 Patch 18 on Windows Platforms
Deadlocks between "ROW CACHE LOCK" on dc_users AND "CURSOR: PIN S WAIT ON X"
usually reported by "WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK" messages.
INTERNAL PROBLEM DESCRIPTION:
ktatminextsz() calls ksugus() to get top sessions user id. This gives wrong
result for recursive sqls whose user id is SYS.
INTERNAL FIX DESCRIPTION:
Change ksugus() to ksugcs() to get current session.
基本可以确定,这个问题是bug引起的。
下面是引述MOC BUG 6143420的文档。也可以参考Troubleshooting: "WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK! " (文档 ID 278316.1)
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
Bug 6143420 Deadlock involving "ROW CACHE LOCK" on dc_users AND "CURSOR: PIN S WAIT ON X"
This note gives a brief overview of bug 6143420.
The content was last updated on: 24-NOV-2009
Click here for details of each of the sections below.
Affects:
Product (Component) Oracle Server (Rdbms)
Range of versions believed to be affected Versions BELOW 11.1
Versions confirmed as being affected
10.2.0.4
10.2.0.3
Platforms affected Generic (all / most platforms affected)
Fixed:
This issue is fixed in
11.1.0.6 (Base Release)
10.2.0.5 (Server Patch Set)
10.2.0.4 Patch 18 on Windows Platforms
Symptoms:
Related To:
Deadlock
Hang (Process Hang)
Waits for "ROW CACHE LOCK"
Waits for "CURSOR: PIN S WAIT ON X"
RAC (Real Application Clusters) / OPS
Instance Startup
Description
This fix addresses 2 scenarios :
1) Startup of a RAC instance may hang with a deadlock on a dc_user row cache entry.
2) Deadlocks between "ROW CACHE LOCK" on dc_users AND "CURSOR: PIN S WAIT ON X"
usually reported by "WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK" messages.
Please note: The above is a summary description only. Actual symptoms can vary. Matching to any symptoms here does not confirm that you are encountering this problem. For questions about this bug please consult Oracle Support.
References
Bug:6143420 (This link will only work for PUBLISHED bugs)
Note:245840.1 Information on the sections in this article
解决方案:
从https://updates.oracle.com/download/6143420.html -patch 6143420
给数据库打补丁
打完补丁后,该问题解决。
上述内容就是row cache lock引起的性能问题的处理分析是什么,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~