问题情境:今天好奇写了一个存储过程,向一个表中插入两千万数据,结果运行了一个小时,没有执行完成,点击停止执行按钮不起作用,所以需要手工删除该存储过程对应的进程。
第一步:查询SID
select * from v$access a where object like '存储过程名%' --存储过程名为大写字母
第二步:查询serial#
select * from v$session where sid=74 --74为上一个查询得到的SID值,可能是多个,这里找到他们对应的serial#值
第三步:删除进程
alter system kill session '74,118' --参数为'sid,serial#',用于停止这个回话,同时也终止了存储过程