扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
存储过程卡死了,一般是好几个人同时编译导致的,同时往一个表插数据等操作就会锁死此表。
创新互联自2013年起,先为高平等服务建站,高平等地企业,进行企业商务咨询服务。为高平企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
select a.SID,a.SERIAL#,a.USERNAME
from sys.v_$session a,sys.dba_objects b,v$locked_object c
where b.object_id = c.OBJECT_ID
and a.SID = c.SESSION_ID
and b.object_name = '表名';
用上面 的语句找到存储过程中主要用插入表的sid 和SERIAL#
然后用下面的语句杀掉。
alter system kill session 'sid ,SERIAL#';
如果杀不掉的话,等所有人释放,或者从启服务。
select * from v$access a where object like '存储过程名%' --存储过程名为大写字母
select * from v$session where sid=74 --74为上一个查询得到的SID值,可能是多个,这里找到他们对应的serial#值
alter system kill session '74,118' --参数为'sid,serial#',用于停止这个回话,同时也终止了存储过程
exit跳出循环,你是说要continue的那,这个似乎没有,可以用if else 来解决。 beginfor i in 1..10 loop if i3 then dbms_output.put_line(i); if i=5 then exit; end if ; end if;end loop;end;
在sqlnet.ora中设置参数如需要设置客户端空闲10分钟即被中断,则在sqlnet.ora的末尾添加SQLNET.EXPIRE_TIME=10注:sqlnet.ora文件的路径在$ORACLE_HOME/network/admin下。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流