国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

問答方式輕松學習Oracle數據庫中的Kill session

2024-08-29 13:51:54
字體:
來源:轉載
供稿:網友
問:當一個session被kill掉以后,該session的paddr被修改,假如有多個session被kill,那么多個session的paddr都會被更改為相同的進程地址,在這種情況下,資源是無法釋放的,我選擇了查詢spid,在操作系統級來kill這些進程。但是由于此時v$session.paddr已經改變,我已經無法通過v$session和v$PRocess關聯來獲得spid,那還可以怎么辦呢?答:具體示例如下:SQL> select p.addr from v$process p where pid
<> 1  2  minus  3  select s.paddr from v$session s;
ADDR
--------
542B70E8
542B7498現在我們獲得了進程地址,就可以在v$process中找到spid,然后可以使用Kill或者orakill在系統級來殺掉這些進程。當在Oracle中kill session以后, Oracle只是簡單的把相關session的paddr 指向同一個虛擬地址.此時v$process和v$session失去關聯,進程就此中斷,然后Oracle就等待PMON去清除這些Session.所以通常等待一個被標記為Killed的Session退出需要花費很長的時間,假如此時被Kill的process,重新嘗試執行任務,那么馬上會收到進程中斷的提示,process退出,此時Oracle會立即啟動PMON 來清除該session。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 普兰县| 黄梅县| 张家口市| 化德县| 辽中县| 绥江县| 屯昌县| 柯坪县| 邵武市| 沈阳市| 冷水江市| 常山县| 乌拉特中旗| 桂东县| 高陵县| 恭城| 海口市| 渝北区| 莆田市| 肇源县| 忻城县| 铜陵市| 三穗县| 金川县| 游戏| 怀集县| 台南市| 汤原县| 阳西县| 静宁县| 梁河县| 梁平县| 隆化县| 昭觉县| 绥棱县| 湛江市| 德昌县| 莱芜市| 资源县| 焦作市| 安远县|