ORACLE中殺死鎖程式的方法
步驟一:查詢試圖,找出sid
Select Distinct a.session_id From Dba_Ddl_Locks a
Where a.name=upper('t_sqlload_tmp');
如果不知道被鎖的物件,可以用如下語句查詢:
SELECT b.owner,b.object_name,b.object_type,b.object_id
FROM
dba_Objects b
WHERE b.OBJECT_ID IN ( SELECT DISTINCT a.object_id FROM v$locked_object a);
從中發現有個自己在用的物件被鎖了,根據object_id執行如下的sql語句:
SELECT S.SID SESSION_ID,S.SERIAL#
FROM V$LOCK L/*,SYS.DBA_OBJECTS O*/,V$SESSION S
WHERE L.SID = S.SID
AND L.ID1 =874582
然後執行如下的sql語句:
ALTER SYSTEM KILL SESSION 'SID,SERIAL#';
這樣就可以在pl/sql上殺掉oracle程式,如果不能成功釋放,可以用下面的殺手簡:
步驟二:找出spid,在linux上殺掉該作業系統程式號:
SELECT SPID
FROM V$PROCESS
WHERE ADDR = (SELECT PADDR FROM V$SESSION WHERE SID = &ORASID);
或者這個語句
Select a.Status, a.Sid, a.Serial#, a.Saddr, a.Paddr, b.Spid, b.Addr, a.Machine
From V$session a, V$process b
Where b.Addr = a.Paddr And a.Sid In (10,14,36);
步驟三:登陸ORALCE系統執行命令;
kill -9 SPID;
如此方法即可解除死鎖的程式;
[@more@]來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8109090/viewspace-879204/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 檢視oracle死鎖程式並結束死鎖Oracle
- 按照名字殺死程式的四種方法
- 【oracle 殺死繁忙程式 ORA-00054】實驗Oracle
- Windows中殺死佔用某個埠的程式Windows
- Java 中的死鎖Java
- 【Oracle】死鎖的產生與處理Oracle
- linux殺死後臺程式Linux
- Oracle死鎖一例(ORA-00060),鎖表導致的業務死鎖問題Oracle
- 面試:什麼是死鎖,如何避免或解決死鎖;MySQL中的死鎖現象,MySQL死鎖如何解決面試MySql
- 批次殺死MySQL連線的幾種方法MySql
- 執行緒中的死鎖執行緒
- 記一次Oracle死鎖/阻塞排查Oracle
- 解決Oracle死鎖問題步驟Oracle
- 最新的AI會“殺死”程式設計嗎?AI程式設計
- java如何避免程式死鎖Java
- 殺死Haskell的人也可能殺死Rust · GitHubHaskellRustGithub
- Linux基礎命令---殺死程式pkillLinux
- Linux基礎命令---殺死程式killallLinux
- Linux基礎命令—殺死程式pkillLinux
- 作業系統(5) 死鎖的概念 死鎖產生的必要條件 死鎖的處理策略 預防死鎖 避免死鎖 死鎖的檢測和解除 銀行家演算法作業系統演算法
- Go中協程死鎖Go
- 批次殺死MySQL連線的四種方法詳解MySql
- Mac檢視和殺死後臺程式Mac
- 【Java】【多執行緒】同步方法和同步程式碼塊、死鎖Java執行緒
- 死鎖
- 殺死8080埠
- 常見的死鎖情況及解決方法
- java中死鎖是什麼Java
- 鎖的使用與死鎖的避免
- 實戰:併發轉賬業務中避免死鎖的各種方法
- 殺鎖
- MySQL:一個死鎖分析 (未分析出來的死鎖)MySql
- SQL Server 的死鎖SQLServer
- SQLServer的死鎖分析(1):頁鎖SQLServer
- 什麼是死鎖?如何解決死鎖?
- 簡單介紹MySQL列印死鎖日誌的方法MySql
- MySQL/InnoDB中,樂觀鎖、悲觀鎖、共享鎖、排它鎖、行鎖、表鎖、死鎖概念的理解MySql
- 面試官:什麼是死鎖?怎麼排查死鎖?怎麼避免死鎖?面試
- 死鎖概述