oracle儲存過程不能編譯問題處理

2021-10-11 15:40:51 字數 667 閱讀 7448

1.登陸sys使用者,在pl/sql選擇 tools->sessions,會列出各個session的具體資訊

2. 執行sql語句:select *from v$session t where t.action like』%test%』;找到當前進行儲存過程除錯的session,然後執行kill命令:

alter system kill session 『8,6421』;

其中8,6424分別是sid與serial#。

這時候報錯:oracle ora-00031:session marked for kill(標記要終止的會話

3.解決方法:

查出session的spid

select spid, osuser, s.program from vses

sion

s,

vsession s, v

sessio

ns,v

process p where s.paddr = p.addr and s.sid =197;

在linux上, kill -9 12345

在windows上,c:\documents and settings\gg>orakill orcl 12345

orcl:表示要殺死的程序屬於的例項名

12345:是要殺掉的執行緒號

參考資料

oracle 儲存過程重新編譯方法

隨筆 工作之餘寫的乙個小方法,方便忘了的時候檢視 第一種 如果你使用 pl sql developer工具 左側工具欄中選擇 儲存過程 選擇已經失效的procedure 右鍵 選擇重新編譯 即可完成 第二種 命令列版 1.查詢到無效物件 select alter object type object...

oracle 儲存過程重新編譯方法

隨筆 工作之餘寫的乙個小方法,方便忘了的時候檢視 第一種 如果你使用 pl sql developer工具 左側工具欄中選擇 儲存過程 選擇已經失效的procedure 右鍵 選擇重新編譯 即可完成 第二種 命令列版 1.查詢到無效物件 select alter object type object...

Oracle儲存過程呼叫儲存過程

oracle儲存過程呼叫有返回結果集的儲存過程一般用光標的方式,宣告乙個游標,把結果集放到游標裡面,然後迴圈游標 declare newcs sys refcursor cs1 number cs2 number cstype table rowtype table列的個數和newcs返回的個數一樣...