㈠ 調用存儲過程時候卡住停止不了了,如何暫停
是什麼方式調用的?舉例子,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所在的伺服器(如果可以重啟的話)
先試試上述方法