oracle資料庫死鎖解決

2021-08-29 03:47:45 字數 789 閱讀 9007

進入oracle使用者:su - oracle

進入dba模式:sqlplus / as sysdba

--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資料庫死鎖解決方法

死鎖是資料庫經常發生的問題,資料庫一般不會無緣無故產生死鎖,死鎖通常都是由於我們應用程式的設計本身造成的。產生死鎖時,如何解決呢,下面是常規的解決辦法 1 執行下面sql,先檢視哪些表被鎖住了 select b.owner,b.object name,a.session id,a.locked mo...

oracle資料庫死鎖解決方法

在做專案中,在程式完全正確的情況下,出現了當執行sql語句的時候停止工作的現象,開始是懷疑出現了死鎖,當利用sql查詢時發現自己是對的,死鎖通常都是我們應用程式設計不合理造成的,如何處理資料庫中的死鎖呢?1.先看一下資料庫中那些表被鎖住了。select b.owner,b.object name,a...

Oracle資料庫死鎖的解決辦法

本文我們嘗試總結在多個使用者併發情況下,如何識別和解決刪除操作期間發生的死鎖問題,在開始之前,我們先簡單描述一下什麼是死鎖以及什麼東西會導致死鎖。死鎖 在任何資料庫中發生死鎖都是不愉快的,即使是在乙個特殊的情況下發生也是如此,它們會減小應用程式的接受程度 acceptance 因此避免並正確解釋死鎖...