Oracle中的Session kill不釋放問題
今天在做統計資料,整了一個特複雜的SQL,透過PL/SQL來執行,狀態列下顯示執行完成,以及執行時間,可是彈出一個錯誤提示框,說執行錯誤,視窗上的“執行”按鈕不可用,點“中斷”也不起作用。
把該SQL複製到一新的視窗再次執行,依然提示成功的提示成功,報錯的視窗照樣彈出,提示錯誤,暈死。
這時,我得確定,這兩次SQL,是不是還在資料庫裡面執行。
select * from v$session se, v$sqlarea sq
where suser = 'test'
and se.sql_id = sq.sql_id
where suser = 'test'
and se.sql_id = sq.sql_id
發現那兩條SQL確實還在執行,採用 kill session 來終止SQL的執行。
SQL> alter system kill session '3961,26056';
System altered
SQL> alter system kill session '4923,8094';
System altered
SQL>
再次執行以上語句檢視session,發現session的status居然是killed,session還存在。原來 kill session 並沒有真正釋放資源,還需要在OS裡kill程式來達到資源的真正釋放。
kill session 雖然沒釋放資源,但還是把v$session裡面的PADDR這個欄位變成一樣的了。由於PADDR欄位已經改變,我們無法透過v$session和v$process關聯來獲得spid(v$session的paddr和v$process的addr欄位進行關聯)。
只能採用以下方式:
select addr, pid, spid
FROM v$process p
where addr in (select p.addr
from v$process p
where pid <> 1
minus
select s.paddr from v$session s)
FROM v$process p
where addr in (select p.addr
from v$process p
where pid <> 1
minus
select s.paddr from v$session s)
最後在unix環境用kill -9 spid殺掉程式,在windows環境用orakill sid spid殺掉程式。
這是再執行如下語句:
select *
from v$session se, v$sqlarea sq
where suser = 'test'
and se.sql_id = sq.sql_id
from v$session se, v$sqlarea sq
where suser = 'test'
and se.sql_id = sq.sql_id
發現 killed 的記錄已經沒有了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9399028/viewspace-702774/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- hibernate中的no session問題Session
- mysql批次kill sessionMySqlSession
- [20180918]disconnect session和kill session的區別.txtSession
- OB運維 | 連線 kill 中的 session_id運維Session
- 無腦批量kill sessionSession
- (轉載)刪除檔案後硬碟空間不釋放的問題硬碟
- iOS 解決設定rootViewController 記憶體不釋放問題iOSViewController記憶體
- Linux檔案刪除但空間不釋放問題篇Linux
- session共享問題???Session
- 解決刪除檔案後 WSL2 磁碟空間不釋放的問題
- oracle awr快照點不記錄問題Oracle
- vector clear() 方法 記憶體釋放問題記憶體
- Mac系統中mysql的啟動 關閉 重啟 以及如何解決kill程式不斷重啟問題MacMySql
- Mysql使用kill命令解決死鎖問題MySql
- Oracle資料庫高水位釋放——LOB欄位空間釋放Oracle資料庫
- oracle中的processes,session,transaction引數詳解OracleSession
- 解決requests庫中session.verify引數失效的問題Session
- Oracle session traceOracleSession
- 禁用 COOKIE 後如何訪問 SESSION 問題CookieSession
- Hue的Impala模組沒有釋放連線的問題解決
- SpringBoot Session共享,配置不生效問題排查 → 你竟然在程式碼裡下毒!Spring BootSession
- 開放世界遊戲中的原路返回問題或直接傳送問題分析遊戲
- Spring Session+Spring Data Redis 解決分散式系統架構中 Session 共享問題SpringSessionRedis分散式架構
- 處理Linux刪除檔案後空間未釋放的問題Linux
- 6.7 版本 Cookie 跟 Session 存入問題CookieSession
- Session一致性問題Session
- uniapp onshow/onLoad 中的 showToast 不顯示的問題APPAST
- Oracle資料庫中的逐行處理問題NEOracle資料庫
- Oracle trigger問題Oracle
- [20220531]驗證inactive session出現的問題.txtSession
- Java應用上雲後被kill問題分析與解決Java
- Express專案中ajax請求session過期問題處理ExpressSession
- C#中關閉子視窗而不釋放子視窗物件的方法C#物件
- linux中如何解決檔案已刪除但空間不釋放的案例Linux
- keycloak~關於session idle和session max的解釋Session
- Oracle的SCN顯示問題Oracle
- WPS/Word中公式與文字不對齊的問題公式
- 解決cef中title不現實tooltip的問題
- SpringBoot 2.0 SpringSession 支援跨域session問題Spring BootGseSession跨域