WEB开发网
开发学院数据库Oracle 11G访问DBA_OBJECTS和V$LOCK视图时HANG住 阅读

11G访问DBA_OBJECTS和V$LOCK视图时HANG住

 2008-08-28 12:43:35 来源:WEB开发网   
核心提示: 执行时间和统计信息是正常的,通过对比也可以发现,11G访问DBA_OBJECTS和V$LOCK视图时HANG住(3),第一个查询的执行计划确实存在问题,SQL>SELECT/*+RULE*/OWNER,OBJECT_NAMEFROMDBA_OBJECTS2WHEREOBJECT_ID

执行时间和统计信息是正常的,通过对比也可以发现,第一个查询的执行计划确实存在问题。

   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上则不会出现。

上一页  1 2 3 

Tags:访问 DBA OBJECTS

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接