国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:139日期:2023-11-26 15:50:20
問:當一個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。
標簽: Oracle 數據庫
主站蜘蛛池模板: 克东县| 定襄县| 房产| 西盟| 栾川县| 日照市| 惠东县| 正安县| 虹口区| 枣庄市| 泰州市| 磐石市| 奎屯市| 阿鲁科尔沁旗| 铅山县| 漳州市| 长沙县| 随州市| 莱芜市| 宁都县| 微博| 东港市| 万宁市| 镇平县| 鄯善县| 深圳市| 河池市| 库车县| 花垣县| 临汾市| 新竹市| 南通市| 濉溪县| 宁乡县| 旅游| 合山市| 拜泉县| 惠东县| 佛山市| 酉阳| 淳安县|