一、摘要
当遇到编译Package无法通过时,需要进行查询那个session在同时编译或者使用该package,可通过如下方式查询
二、通过V$ACCESS视图
通过表v$access就能够查看到使用到的表,存储过程以及cursor
查找用户正在访问的对象 一旦发现某些用户或者系统中的查询存在问题, 查询 V$ACCESS 可以为您指出有潜在问题的对
三、通过DBA_DDL_LOCKS
可以通过以下视图进行查询
四、通过一段复杂SQL
可以通过以下视图进行查询
SELECT DECODE (lob.kglobtyp,0, 'NEXT OBJECT',1, 'INDEX',2, 'TABLE',3, 'CLUSTER',4, 'VIEW',5, 'SYNONYM',6, 'SEQUENCE',7, 'PROCEDURE',8, 'FUNCTION',9, 'PACKAGE',11, 'PACKAGE BODY',12, 'TRIGGER',13, 'TYPE',14, 'TYPE BODY',19, 'TABLE PARTITION',20, 'INDEX PARTITION',21, 'LOB',22, 'LIBRARY',23, 'DIRECTORY',24, 'QUEUE',28, 'JAVA SOURCE',29, 'JAVA CLASS',30, 'JAVA RESOURCE',32, 'INDEXTYPE',33, 'OPERATOR',34, 'TABLE SUBPARTITION',35, 'INDEX SUBPARTITION',40, 'LOB PARTITION',41, 'LOB SUBPARTITION',42, 'MATERIALIZED VIEW',43, 'DIMENSION',44, 'CONTEXT',46, 'RULE SET',47, 'RESOURCE PLAN',48, 'CONSUMER GROUP',51, 'SUBSCRIPTION',52, 'LOCATION',55, 'XML SCHEMA',56, 'JAVA DATA',57, 'SECURITY PROFILE',59, 'RULE',62, 'EVALUATION CONTEXT','UNDEFINED')object_type,lob.kglnaobj object_name,pn.kglpnmod lock_mode_held,pn.kglpnreq lock_mode_requested,ses.sid,ses.serial#,ses.usernameFROM x$kglpn pn,v$session ses,x$kglob lob,v$session_wait vswWHERE pn.kglpnuse = ses.saddrand pn.kglpnhdl = lob.kglhdadrand lob.kglhdadr = vsw.p1rawORDER BY lock_mode_held DESC
Thanks and Regards
2015-05-06 Created By BaoXinjian