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

首頁 > 數據庫 > Oracle > 正文

Oracle 查詢死鎖并解鎖的終極處理方法

2024-08-29 13:59:03
字體:
來源:轉載
供稿:網友

一些ORACLE中的進程被殺掉后,狀態被置為"killed",但是鎖定的資源很長時間不釋放,有時實在沒辦法,只好重啟數據庫。現在提供一種方法解決這種問題,那就是在ORACLE中殺不掉的,在OS一級再殺。

1.下面的語句用來查詢哪些對象被鎖:

 

復制代碼 代碼如下:
select object_name,machine,s.sid,s.serial#
from v$locked_object l,dba_objects o ,v$session s
where l.object_id = o.object_id and l.session_id=s.sid;

 

2.下面的語句用來殺死一個進程:

 

復制代碼 代碼如下:
alter system kill session '24,111';

 

(其中24,111分別是上面查詢出的sid,serial#)
【注】以上兩步,可以通過Oracle的管理控制臺來執行。

3.如果利用上面的命令殺死一個進程后,進程狀態被置為"killed",但是鎖定的資源很長時間沒有被釋放,那么可以在os一級再殺死相應的進程(線程),首先執行下面的語句獲得進程(線程)號:

 

復制代碼 代碼如下:
select spid, osuser, s.program
from v$session s,v$process p
where s.paddr=p.addr and s.sid=24

 

(24是上面的sid)

4.在OS上殺死這個進程(線程):

1)在unix上,用root身份執行命令:
#kill -9 12345(即第3步查詢出的spid)

2)在windows(unix也適用)用orakill殺死線程,orakill是oracle提供的一個可執行命令,語法為:
orakill sid thread

其中:
sid:表示要殺死的進程屬于的實例名
thread:是要殺掉的線程號,即第3步查詢出的spid。
例:c:>orakill orcl 12345

總結:oracle會話被鎖是經常的。但有時alter system kill session 'sid,serial#';并不能徹底的殺死會話。只能通過殺死OS上對應的進程才行。


注:相關教程知識閱讀請移步到oracle教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 云龙县| 德钦县| 镶黄旗| 荔浦县| 白朗县| 崇明县| 张北县| 垫江县| 宁城县| 河东区| 清新县| 安顺市| 天水市| 牙克石市| 平顺县| 新沂市| 焉耆| 青州市| 四子王旗| 滨州市| 乳山市| 新绛县| 岢岚县| 孟村| 延寿县| 高雄市| 龙州县| 余姚市| 岑巩县| 太和县| 上蔡县| 晋城| 仪陇县| 大冶市| 交城县| 碌曲县| 新疆| 英德市| 洪洞县| 屯昌县| 改则县|