【发布时间】:2018-05-24 10:47:17
【问题描述】:
我想创建将终止所有会话的过程。运行语句后,我得到错误:
[警告] ORA-24344:编译错误 10/13 PL/SQL 成功: ORA-00942: 表或视图不存在 6/6 PL/SQL: SQL 语句 忽略 15/31 PLS-00364:循环索引变量“V_KILL”使用无效 15/9 PL/SQL:语句被忽略(1:0):警告:已编译但使用 编译错误
CREATE OR REPLACE PROCEDURE KILL_ORACLE_SESSIONS
IS
BEGIN
FOR v_kill IN
(SELECT
'alter system kill session '''
||sid||','||serial#||',@1'|| ''' immediate;' as statement
FROM
v$session
WHERE
sql_id='sql_id_here'
)
LOOP
dbms_output.put_line (v_kill.statement);
END LOOP;
END;
/
问题在哪里? 谢谢
【问题讨论】:
-
你没有
v$session的权限 -
只是我无法在 V$SESSION TO {username} 上执行 GRANT SELECT;相反,我确实将 V_$SQL 上的选择授予 {username};