Welcome 微信登录

首页 / 数据库 / MySQL / Oracle数据库查询对象是否被锁定及解锁

Oracle数据库对象是否被锁定查询SQL及解锁过程SQL详见下面:--查询当前用户下被锁的对象
SELECT B.OBJECT_NAME, B.OWNER, C.SID,C.SERIAL#,C.OSUSER, C.MACHINE, C.TERMINAL
  FROM V$LOCKED_OBJECT A, DBA_OBJECTS B, V$SESSION C
 WHERE A.OBJECT_ID = B.OBJECT_ID
 AND A.SESSION_ID = C.SID
 AND c.STATUS="INACTIVE"
 AND C.TYPE="USER"
 ORDER BY 1;
 --解锁语句 
DECLARE
  V_SQL VARCHAR2(500);
  CURSOR C_SESSION IS
   SELECT B.OBJECT_NAME,
        B.OWNER,
        C.SID AS SESSION_ID,
        C.SERIAL# AS SERIAL#,
        C.OSUSER,
        C.MACHINE,
        C.TERMINAL
   FROM V$LOCKED_OBJECT A, DBA_OBJECTS B, V$SESSION C
   WHERE A.OBJECT_ID = B.OBJECT_ID AND A.SESSION_ID = C.SID
     AND C.STATUS = "INACTIVE" AND C.TYPE = "USER"
   ORDER BY 1;
BEGIN
  FOR GET_SESSION IN C_SESSION
    LOOP
      BEGIN
        V_SQL:="ALTER SYSTEM KILL SESSION """||GET_SESSION.SESSION_ID||","||GET_SESSION.SERIAL#||""" IMMEDIATE";
        EXECUTE IMMEDIATE V_SQL;
      EXCEPTION
        WHEN OTHERS THEN
          NULL;
      END;
    END LOOP;
END;
/Linux-6-64下安装Oracle 12C笔记 http://www.linuxidc.com/Linux/2013-07/86805.htmRHEL6.4_64安装单实例Oracle 12cR1 http://www.linuxidc.com/Linux/2013-08/88510.htmOracle 12C新特性之翻页查询 http://www.linuxidc.com/Linux/2012-10/72611.htm解读 Oracle 12C 的 12 个新特性 http://www.linuxidc.com/Linux/2012-10/72083.htm更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12本文永久更新链接地址