国产探花免费观看_亚洲丰满少妇自慰呻吟_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教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 景宁| 石台县| 且末县| 盐源县| 延安市| 大渡口区| 淮北市| 藁城市| 郴州市| 保山市| 略阳县| 保德县| 永城市| 遂平县| 长治县| 龙南县| 河池市| 双柏县| 福鼎市| 保亭| 渝北区| 扬州市| 沁阳市| 布拖县| 娱乐| 青海省| 望江县| 郑州市| 新河县| 黄石市| 民权县| 行唐县| 合川市| 武清区| 托克逊县| 沁水县| 洮南市| 棋牌| 阜康市| 开阳县| 古蔺县|