oracle死鎖解決經常用法(屢試不爽)

2021-09-08 12:46:12 字數 883 閱讀 3036

--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.

用以下語句

kill

掉死鎖的程序

alter system kill session '24,111'; --(

當中24,111

各自是上面查詢出的

sid,serial#)

--3.

假設上述

kill不掉,

則查詢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。

解決oracle死鎖

查哪個過程被鎖 查v db object cache檢視 select from v db object cache where owner 過程的所屬使用者 and locks 0 2.查是哪乙個sid,通過sid可知道是哪個session.查v access檢視 select from v ac...

oracle死鎖解決

自己實施測試成功步驟 a.查詢死鎖的使用者相關資訊 select s.username,l.object id,l.session id,s.serial l.oracle username,l.os user name,l.process from v locked object l,v sess...

輕鬆解決Oracle死鎖

各位在使用oracle的過程中,偶爾會遇到死鎖問題,運用下面兩條語句即可輕鬆解決。查詢死鎖情況 select dob.object name table name,vss.sid,vss.serial vss.action action,vss.osuser osuser,vss.process a...