11G访问DBA_OBJECTS和V$LOCK视图时HANG住
2008-08-28 12:43:35 来源:WEB开发网执行时间和统计信息是正常的,通过对比也可以发现,第一个查询的执行计划确实存在问题。
SQL>SELECT/*+RULE*/OWNER,OBJECT_NAMEFROMDBA_OBJECTS
2WHEREOBJECT_IDIN(SELECTID1FROMV$LOCKWHERESID=305);
OWNEROBJECT_NAME
------------------------------------------------------------
SYSORA$BASE
TESTT_PARALLEL
已用时间:00:00:01.31
执行计划
----------------------------------------------------------
Planhashvalue:2735497195
----------------------------------------------------------
|Id|Operation|Name|
----------------------------------------------------------
|0|SELECTSTATEMENT||
|1|MERGEJOIN||
|2|SORTJOIN||
|3|VIEW|DBA_OBJECTS|
|4|UNION-ALL||
|*5|FILTER||
|6|NESTEDLOOPS||
|7|NESTEDLOOPS||
|8|TABLEACCESSFULL|USER$|
|*9|TABLEACCESSBYINDEXROWID|OBJ$|
|*10|INDEXRANGESCAN|I_OBJ5|
|11|TABLEACCESSCLUSTER|USER$|
|*12|INDEXUNIQUESCAN|I_USER#|
|*13|TABLEACCESSBYINDEXROWID|IND$|
|*14|INDEXUNIQUESCAN|I_IND1|
|15|NESTEDLOOPS||
|*16|INDEXRANGESCAN|I_OBJ4|
|*17|TABLEACCESSCLUSTER|USER$|
|*18|INDEXUNIQUESCAN|I_USER#|
|19|NESTEDLOOPS||
|20|TABLEACCESSFULL|USER$|
|*21|INDEXRANGESCAN|I_LINK1|
|*22|SORTJOIN||
|23|VIEW|VW_NSO_1|
|24|SORTUNIQUE||
|25|MERGEJOIN||
|26|SORTJOIN||
|27|MERGEJOIN||
|28|SORTJOIN||
|29|FIXEDTABLEFULL|X$KSQRS|
|*30|SORTJOIN||
|31|VIEW|GV$_LOCK|
|32|UNION-ALL||
|*33|FILTER||
|34|VIEW|GV$_LOCK1|
|35|UNION-ALL||
|*36|FIXEDTABLEFULL|X$KDNSSF|
|*37|FIXEDTABLEFULL|X$KSQEQ|
|*38|FIXEDTABLEFULL|X$KTADM|
|*39|FIXEDTABLEFULL|X$KTATRFIL|
|*40|FIXEDTABLEFULL|X$KTATRFSL|
|*41|FIXEDTABLEFULL|X$KTATL|
|*42|FIXEDTABLEFULL|X$KTSTUSC|
|*43|FIXEDTABLEFULL|X$KTSTUSS|
|*44|FIXEDTABLEFULL|X$KTSTUSG|
|*45|FIXEDTABLEFULL|X$KTCXB|
|*46|SORTJOIN||
|*47|FIXEDTABLEFULL|X$KSUSE|
----------------------------------------------------------
PredicateInformation(identifiedbyoperationid):
---------------------------------------------------
5-filter(("O"."TYPE#"<>1AND"O"."TYPE#"<>10OR"O"."TYPE#"=1AND
(SELECT1FROM"SYS"."IND$""I"WHERE"I"."OBJ#"=:B1AND("I"."TYPE#"=1
OR"I"."TYPE#"=2OR"I"."TYPE#"=3OR"I"."TYPE#"=4OR"I"."TYPE#"=6OR
"I"."TYPE#"=7OR"I"."TYPE#"=9))=1)AND("O"."TYPE#"<>4AND
"O"."TYPE#"<>5AND"O"."TYPE#"<>7AND"O"."TYPE#"<>8AND"O"."TYPE#"<>9
AND"O"."TYPE#"<>10AND"O"."TYPE#"<>11AND"O"."TYPE#"<>12AND
"O"."TYPE#"<>13AND"O"."TYPE#"<>14AND"O"."TYPE#"<>22AND
"O"."TYPE#"<>87AND"O"."TYPE#"<>88ORBITAND("U"."SPARE1",16)=0OR
("O"."TYPE#"=4OR"O"."TYPE#"=5OR"O"."TYPE#"=7OR"O"."TYPE#"=8OR
"O"."TYPE#"=9OR"O"."TYPE#"=10OR"O"."TYPE#"=11OR"O"."TYPE#"=12OR
"O"."TYPE#"=13OR"O"."TYPE#"=14OR"O"."TYPE#"=22OR"O"."TYPE#"=87)
AND("U"."TYPE#"<>2ANDSYS_CONTEXT('userenv','current_edition_name')='O
RA$BASE'OR"U"."TYPE#"=2AND"U"."SPARE2"=TO_NUMBER(SYS_CONTEXT('useren
v','current_edition_id'))OREXISTS(SELECT0FROMSYS."USER$"
"U2",SYS."OBJ$""O2"WHERE"O2"."TYPE#"=88AND"O2"."DATAOBJ#"=:B2AND
"O2"."OWNER#"="U2"."USER#"AND"U2"."SPARE2"=TO_NUMBER(SYS_CONTEXT('user
env','current_edition_id'))AND"U2"."TYPE#"=2))))
9-filter(BITAND("O"."FLAGS",128)=0)
10-access("O"."SPARE3"="U"."USER#"AND"O"."LINKNAME"ISNULL)
filter("O"."LINKNAME"ISNULLAND
"O"."NAME"<>'_default_auditing_options_'AND"O"."NAME"<>'_NEXT_OBJECT')
12-access("O"."OWNER#"="U"."USER#")
13-filter("I"."TYPE#"=1OR"I"."TYPE#"=2OR"I"."TYPE#"=3OR
"I"."TYPE#"=4OR"I"."TYPE#"=6OR"I"."TYPE#"=7OR"I"."TYPE#"=9)
14-access("I"."OBJ#"=:B1)
16-access("O2"."DATAOBJ#"=:B1AND"O2"."TYPE#"=88)
17-filter("U2"."SPARE2"=TO_NUMBER(SYS_CONTEXT('userenv','current_edi
tion_id'))AND"U2"."TYPE#"=2)
18-access("O2"."OWNER#"="U2"."USER#")
21-access("L"."OWNER#"="U"."USER#")
22-access("OBJECT_ID"="ID1")
filter("OBJECT_ID"="ID1")
30-access("RADDR"="R"."ADDR")
filter("RADDR"="R"."ADDR")
33-filter(USERENV('INSTANCE')=USERENV('INSTANCE'))
36-filter("INST_ID"=USERENV('INSTANCE')AND("KSQLKMOD"<>0OR
"KSQLKREQ"<>0)ANDBITAND("KSSOBFLG",1)<>0)
37-filter("INST_ID"=USERENV('INSTANCE')AND("KSQLKMOD"<>0OR
"KSQLKREQ"<>0)ANDBITAND("KSSOBFLG",1)<>0)
38-filter("INST_ID"=USERENV('INSTANCE')AND("KSQLKMOD"<>0OR
"KSQLKREQ"<>0)ANDBITAND("KSSOBFLG",1)<>0)
39-filter("INST_ID"=USERENV('INSTANCE')AND("KSQLKMOD"<>0OR
"KSQLKREQ"<>0)ANDBITAND("KSSOBFLG",1)<>0)
40-filter("INST_ID"=USERENV('INSTANCE')AND("KSQLKMOD"<>0OR
"KSQLKREQ"<>0)ANDBITAND("KSSOBFLG",1)<>0)
41-filter("INST_ID"=USERENV('INSTANCE')AND("KSQLKMOD"<>0OR
"KSQLKREQ"<>0)ANDBITAND("KSSOBFLG",1)<>0)
42-filter("INST_ID"=USERENV('INSTANCE')AND("KSQLKMOD"<>0OR
"KSQLKREQ"<>0)ANDBITAND("KSSOBFLG",1)<>0)
43-filter("INST_ID"=USERENV('INSTANCE')AND("KSQLKMOD"<>0OR
"KSQLKREQ"<>0)ANDBITAND("KSSOBFLG",1)<>0)
44-filter("INST_ID"=USERENV('INSTANCE')AND("KSQLKMOD"<>0OR
"KSQLKREQ"<>0)ANDBITAND("KSSOBFLG",1)<>0)
45-filter("INST_ID"=USERENV('INSTANCE')AND("KSQLKMOD"<>0OR
"KSQLKREQ"<>0)ANDBITAND("KSSPAFLG",1)<>0)
46-access("SADDR"="S"."ADDR")
filter("SADDR"="S"."ADDR")
47-filter("S"."INST_ID"=USERENV('INSTANCE')AND"S"."KSUSENUM"=305)
Note
-----
-rulebasedoptimizerused(considerusingcbo)
统计信息
----------------------------------------------------------
15recursivecalls
3dbblockgets
124231consistentgets
0physicalreads
0redosize
667bytessentviaSQL*Nettoclient
520bytesreceivedviaSQL*Netfromclient
2SQL*Netroundtripsto/fromclient
7sorts(memory)
0sorts(disk)
2rowsprocessed
和其他类似情况一样,添加RULE的hint能避免问题的产生。
问题在10.2.0.3上也可以再现,但是在9204上则不会出现。
- ››访问频率监测有助数据库管理
- ››DBA经验谈:更改数据文件的可用性
- ››访问控制大师,使用pam来支持login的访问控制
- ››DBase:DB2必须了解的常用命令及技巧
- ››访问Windows 2008共享资源出错解决方法
- ››DBA必须具备跨平台管理不同RDBMS的能力
- ››访问 IBM 数据库服务器的新方式 —— 构建 Web 服...
- ››访问控制:理解 Windows 文件和注册表权限
- ››DBA应当了解的MySQL客户端程序启动选项
- ››访问 Microsoft SQL Server 元数据的三种方法
- ››DBA浅谈Oracle E-Business Suite系统优化
- ››DBA的利器:企业监控器简化MySQL管理
赞助商链接