㈠ 调用存储过程时候卡住停止不了了,如何暂停
是什么方式调用的?举例子,pl/sql developer中如果是用测试模式,点击中止按钮即可停止运行;
如果是其他方式,只有进dba账户,杀掉相应进程了。
㈡ oracle 存储过程循环插入数据不定时出现卡死,求高手指点,循环过程如下:
感觉对日期的处理问题,你将日期类型转换为字符串类型再比较,这里不建议转,直接比较吧。
㈢ [思庄每日技术分享]-如何处理编译存储过程卡死的问题
存储过程编译时会卡死
在对存储过程进行test的时候,没有完全停止,就又在另外一个窗口,对它进行修改而且进行编译,出现了卡死现象。
用PLSQL Developer 在session里,找到这条session的记录,然后kill后,再重新编译这个过程,还是卡死,
可是在session里这条记录已经是显示killed状态,那就通过下面的方法进行解决:
1:查V$DB_OBJECT_CACHE
SELECT * FROM V$DB_OBJECT_CACHE WHERE name='PRC_WORKLOAD_BLKSHOURU' AND LOCKS!='0';
注意:PRC_WORKLOAD_BLKSHOURU为存储过程的名称。
发现locks=2,
2:按对象查出sid的值
select SID from V$ACCESS WHERE object='PRC_WORKLOAD_BLKSHOURU';
注意:PRC_WORKLOAD_BLKSHOURU为存储过程的名称。
3:查sid,serial#
SELECT SID,SERIAL#,'alter system kill session ''' || sid || ',' || serial# || ''' immediate;' FROM V$SESSION WHERE SID='刚才查到的SID';
执行杀会话的语句后,问题解决。
㈣ SQL存储过程比SQL语句慢,甚至卡死
楼主,你好!这个排版屌爆了%>_<%
USE[HERP_BHYY]
GO
/******对象:StoredProcere[dbo].[sp_]脚本日期:12/03/201308:36:35******/
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
ALTERPROCEDURE[dbo].[sp_]
@ImpDateasDATETIMEASBEGIN
--SETNOCOUNTON;
DECLARE@ST_DATEASDATETIME
DECLARE@ED_DATEASDATETIME
DECLARE@TEMP_DATEDATETIME
IF@ImpDateisnotnull
begin
SET@ST_DATE=LEFT(@ImpDate,10)
SET@ED_DATE=dateadd(day,1,@ST_DATE)
end
deletehisdb2.dbo.his_charge_acc_o
wherecharge_date>=@ST_DATEandcharge_date<@ed_date
insert=""into=""hisdb2.dbo.his_charge_acc_o=""
select=""invoice_type=""from=""
where=""charge_date="">=@ST_DATEandcharge_date<@ED_DATE
end
这样不是挺好么?
上面的SQL语句貌似漏了什么东西,你自己看看
㈤ sql调试存储过程为什么卡死
第一个问题:你调试的是Oarcle 存储过程吗?
第二个问题:存储过程里有可能出现死循环吗?
第三个:有死锁或者事务回滚操作么?
㈥ 有人在吗 mysql + java +ibatis 调用存储过程卡死了 但是存储过程已经执行成功了,数据库数据已经进去了
你看下你在java的层,用什么方法调用的存储过程,是Insert还是query
㈦ plsql调试存储过程执行卡住
1、存储过程中是否有 LOOP ?
如果有 的在end loop 添加 EXIT WHEN 游标名%NOTFOUND (意思是如果没有这个游标,就跳出)
2、没有loop 的话
手动停止掉当前的存储过程吧。语句如下:
--先查运行的存储过程sid
select /*rule*/ sid from v$access where object='存储过程名'
--通过sid 找到serial
select sid ,serial#,paddr from v$session where sid='上一句查到的sid'
--kill 掉存储过程
alter system kill session 'sid','serial#'
㈧ plsql编译存储过程卡死
1、查看一下Oracle数据库中的正在运行的进程是否正在运行该程序,如果有的话把进程停止
2、全部关闭重开或者换一个PLSQL试一下,看看是不是PLSQL本身导致的问题
3、如果都不好用先尝试重启一下PLSQL所在的服务器(如果可以重启的话)
先试试上述方法