當前位置:首頁 » 服務存儲 » 更新存儲過程卡
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

更新存儲過程卡

發布時間: 2022-09-14 13:25:31

㈠ 調用存儲過程時候卡住停止不了了,如何暫停

是什麼方式調用的?舉例子,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所在的伺服器(如果可以重啟的話)
先試試上述方法