查询02_程序包锁的处理

一、摘要


当遇到编译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.username
    FROM x$kglpn pn,
         v$session ses,
         x$kglob lob,
         v$session_wait vsw
   WHERE     pn.kglpnuse = ses.saddr
         and pn.kglpnhdl = lob.kglhdadr
         and lob.kglhdadr = vsw.p1raw
ORDER BY lock_mode_held DESC

 

Thanks and Regards

2015-05-06 Created By BaoXinjian



来自为知笔记(Wiz)


posted on 2016-03-27 17:43  东方瀚海  阅读(593)  评论(1编辑  收藏  举报