授权其他数据库用户kill session

授权其他数据库用户kill session

kill session权限

CREATE OR REPLACE PROCEDURE P_KILL_SESSION(P_USER IN VARCHAR2, P_SID IN VARCHAR2, P_SERIAL IN VARCHAR2) AS
V_SQL VARCHAR2(32767);
BEGIN
SELECT 'ALTER SYSTEM KILL SESSION ''' || SID || ',' || SERIAL# || ''''
INTO V_SQL
FROM V$SESSION
WHERE USERNAME = P_USER
AND SID = P_SID AND SERIAL# = P_SERIAL ;
EXECUTE IMMEDIATE V_SQL;
EXCEPTION
WHEN NO_DATA_FOUND THEN
RAISE_APPLICATION_ERROR(-20001,
'SID: ' || P_SID || ' DOES NOT EXISTS, OR THE SESSION USER IS NOT ' || P_USER);
END;
/

GRANT EXECUTE ON SYS.P_KILL_SESSION TO username;

使用EXEC SYS.P_KILL_SESSION('username',sid,serial#)可以杀死session,建议dba执行该操作前记录spid。

原文地址:https://www.cnblogs.com/wangrongxin/p/6229558.html