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筆記
RHEL6.4_64安裝單一實例Oracle 12cR1
Oracle 12C新特性之翻頁查詢
解讀 Oracle 12C 的 12 個新特性