主頁(yè) > 知識(shí)庫(kù) > Oracle對(duì)于死鎖的處理方法

Oracle對(duì)于死鎖的處理方法

熱門(mén)標(biāo)簽:七日殺a19.5全地圖標(biāo)注 高德地圖標(biāo)注公司名字大全 廣東營(yíng)銷(xiāo)智能外呼系統(tǒng)商家 外呼電話(huà)系統(tǒng)用卡嗎 N個(gè)你智能電銷(xiāo)機(jī)器人 車(chē)瑪仕極限運(yùn)動(dòng)場(chǎng)所地圖標(biāo)注 騰訊地圖標(biāo)注要費(fèi)用嗎 電渠外呼系統(tǒng) 地圖標(biāo)注怎么保存

Oracle數(shù)據(jù)庫(kù)出現(xiàn)死鎖的時(shí)候可以按照以下處理步驟加以解決:

第一步:嘗試在sqlplus中通過(guò)sql命令進(jìn)行刪除,如果能夠刪除成功,則萬(wàn)事大吉!但通常情況下,出現(xiàn)死鎖時(shí),想通過(guò)命令行或者通過(guò)Oracle的管理工具刪除有死鎖的session,oracle只會(huì)將該session標(biāo)記為killed,但無(wú)法清除掉,往往需要通過(guò)第二步在操作系統(tǒng)層級(jí)進(jìn)行刪除!

Connected to Oracle9i Enterprise Edition Release 9.2.0.1.0 
Connected as quik
SQL> select xidusn, object_id, session_id, locked_mode from v$locked_object; --查死鎖的對(duì)象,獲取其SESSION_ID
XIDUSN OBJECT_ID SESSION_ID LOCKED_MODE
---------- ---------- ---------- -----------
10 30724 29 3
10 30649 29 3
SQL> select username,sid,serial# from v$session where sid=29; --根據(jù)上步獲取到的sid查看其serial#號(hào)
USERNAME SID SERIAL#
------------------------------ ---------- ----------
QUIK 29 57107
SQL> alter system kill session '29,57107'; --刪除進(jìn)程,如已經(jīng)刪除過(guò),則會(huì)報(bào)ora-00031的錯(cuò)誤;否則oracle會(huì)將該session標(biāo)記為killed狀態(tài),等待一段時(shí)間看能否會(huì)自動(dòng)消失,如長(zhǎng)時(shí)間消失不掉,則需要做后續(xù)步驟
alter system kill session '29,57107'
ORA-00031: session marked for kill
SQL> select pro.spid from v$session ses,v$process pro where ses.sid=29 and ses.paddr=pro.addr; --查看spid號(hào),以便在操作系統(tǒng)中根據(jù)該進(jìn)程號(hào)刪除進(jìn)程
SPID
------------
2273286

第二步:進(jìn)入操作系統(tǒng)進(jìn)行刪除進(jìn)程,本示例的操作系統(tǒng)是IBM aix。

Microsoft Windows XP [版本 5.1.2600]
(C) 版權(quán)所有 1985-2001 Microsoft Corp.
C:\Documents and Settings\Administrator>telnet 10.73.52.7 --通過(guò)telnet遠(yuǎn)程登陸到數(shù)據(jù)庫(kù)服務(wù)器
AIX Version 5
(C) Copyrights by IBM and by others 1982, 2005.

login: root --錄入用戶(hù)名
root's Password: --錄入密碼
*******************************************************************************
* *
* *
* Welcome to AIX Version 5.3! *
* *
* *
* Please see the README file in /usr/lpp/bos for information pertinent to *
* this release of the AIX Operating System. *
* *
* *
*******************************************************************************
Last unsuccessful login: Fri Apr 23 14:42:57 BEIDT 2010 on /dev/pts/1 from 10.73
.52.254
Last login: Fri Apr 23 15:27:50 BEIDT 2010 on /dev/pts/2 from 10.73.52.254
# ps -ef|grep 2273286 --查看進(jìn)程詳情
root 2289864 2494636 0 17:07:15 pts/1 0:00 grep 2273286
oracle 2273286 1 0 14:38:24 - 0:21 oracleQUIK (LOCAL=NO)
# kill -9 2273286 --刪除進(jìn)程,小心操作,別寫(xiě)錯(cuò)進(jìn)程號(hào),如果oracle的關(guān)鍵進(jìn)程被刪,數(shù)據(jù)庫(kù)會(huì)崩潰的!
# ps -ef|grep 2273286 --再次查看
root 2289864 2494636 0 17:07:15 pts/1 0:00 grep 2273286
For Windows, at the DOS Prompt: orakill sid spid
For UNIX at the command line> kill –9 spid
您可能感興趣的文章:
  • Oracle 查詢(xún)死鎖并解鎖的終極處理方法
  • 講解Oracle數(shù)據(jù)庫(kù)中結(jié)束死鎖進(jìn)程的一般方法
  • Oracle數(shù)據(jù)表中的死鎖情況解決方法
  • 簡(jiǎn)單說(shuō)明Oracle數(shù)據(jù)庫(kù)中對(duì)死鎖的查詢(xún)及解決方法
  • oracle 會(huì)話(huà) 死鎖 執(zhí)行sql 執(zhí)行job的方法
  • Oracle刪除死鎖進(jìn)程的方法
  • Oracle外鍵不加索引引起死鎖示例
  • Oracle 死鎖的檢測(cè)查詢(xún)及處理

標(biāo)簽:遼寧 棗莊 長(zhǎng)沙 玉樹(shù) 贛州 來(lái)賓 大興安嶺 蘇州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Oracle對(duì)于死鎖的處理方法》,本文關(guān)鍵詞  Oracle,對(duì)于,死鎖,的,處理,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Oracle對(duì)于死鎖的處理方法》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于Oracle對(duì)于死鎖的處理方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章