oracle杀掉存储过程示例代码

发布时间:2019-08-13编辑:脚本学堂
如何在oracle中杀掉正在运行的存储过程呢?正在行动中的oracle存储过程如何停止?请参考下本节给出的实现代码吧。

如何kill掉一个正在运行的存储过程?

步骤如下:

1,使用以下sql语句查询出被锁的数据对象。
 

复制代码 代码示例:
SELECT * FROM v$access t WHERE t.OBJECT LIKE 'TEST_PROC%' ; --对象名为大写字母

2,找到上面查询结果中的SID字段信息,并把其当做查询条件到v$session视图中查询。 
 

复制代码 代码示例:
SELECT * FROM v$session t WHERE t.SID = :V_SID ; --:V_SID根据上面查询结果获得 

3,在上面查询结果中找到SERIAL#字段,并根据SID和SERIAL#字段杀掉一个锁死的会话。
 

复制代码 代码示例:
ALTER SYSTEM KILL SESSION ':V_SID,:V_SERIAL#' ; --:V_SERIAL#根据上面查询结果获得