select session_id from v$locked_object;
創(chuàng)新互聯(lián)公司憑借專業(yè)的設(shè)計(jì)團(tuán)隊(duì)扎實(shí)的技術(shù)支持、優(yōu)質(zhì)高效的服務(wù)意識(shí)和豐厚的資源優(yōu)勢(shì),提供專業(yè)的網(wǎng)站策劃、做網(wǎng)站、網(wǎng)站制作、網(wǎng)站優(yōu)化、軟件開發(fā)、網(wǎng)站改版等服務(wù),在成都10余年的網(wǎng)站建設(shè)設(shè)計(jì)經(jīng)驗(yàn),為成都1000多家中小型企業(yè)策劃設(shè)計(jì)了網(wǎng)站。
SELECT sid, serial#, username, osuser FROM v$session where sid = 71;
ALTER SYSTEM KILL SESSION '71,1089';
SQLselect session_id from v$locked_object;
49
SQLSELECT sid, serial#, username ?FROM v$session where sid = 49;
49 ?554 ?system
SQLALTER SYSTEM KILL SESSION '49, 554';
用的是客戶端登錄,直接關(guān)掉客戶端就可以了,因?yàn)槟愕目蛻舳艘彩莻€(gè)session
普通用戶也可以,因?yàn)槭悄氵@個(gè)用戶開啟這個(gè)進(jìn)程,那么你也可以關(guān)閉這個(gè)進(jìn)程。
3.盡量用dba權(quán)限的用戶操作,還有可以到主機(jī)上 kill -9 spid 會(huì)更快。
方法/步驟\x0d\x0a1.查詢哪些對(duì)象被鎖:\x0d\x0aselect object_name,machine,s.sid,s.serial# \x0d\x0afrom v$locked_object l,dba_objects o ,v$session s\x0d\x0awhere l.object_id = o.object_id and l.session_id=s.sid;\x0d\x0a\x0d\x0a2.殺死進(jìn)程:\x0d\x0aalter system kill session '137,233'; (其中137,223分別是上面查詢出的sid,serial#)\x0d\x0a\x0d\x0aPS.以上兩步,可通過Oracle的管理控制臺(tái)來執(zhí)行。\x0d\x0a\x0d\x0a如果利用上面的方法殺死進(jìn)程后,進(jìn)程狀態(tài)雖被置為"killed",但是鎖定的資源很長(zhǎng)時(shí)間沒有被釋放,那么可以在OS一級(jí)再殺死相應(yīng)的進(jìn)程(線程)\x0d\x0a\x0d\x0a1.首先獲得進(jìn)程(線程)號(hào):\x0d\x0aselect spid, osuser, s.program \x0d\x0afrom v$session s,v$process p\x0d\x0awhere s.paddr=p.addr and s.sid=137 (137是上面的sid)\x0d\x0a\x0d\x0a2.在OS上殺死這個(gè)進(jìn)程(線程):\x0d\x0a\x0d\x0a1)在unix上,用root身份執(zhí)行命令: \x0d\x0a#kill -9 12345(即上面查詢出的spid)\x0d\x0a\x0d\x0a2)在windows(unix也適用)用orakill殺死線程,例:c:orakill orcl 12345\x0d\x0aorakill是oracle提供的一個(gè)可執(zhí)行命令,語(yǔ)法為:orakill sid thread\x0d\x0a其中:\x0d\x0asid:表示要?dú)⑺赖倪M(jìn)程屬于的實(shí)例名\x0d\x0athread:是要?dú)⒌舻木€程號(hào),即上面查詢出的spid。
oracle死鎖時(shí)殺進(jìn)程的方法:
第一步:嘗試在sqlplus中通過sql命令進(jìn)行刪除,如果能夠刪除成功,則萬(wàn)事大吉。但通常情況下,出現(xiàn)死鎖時(shí),想通過命令行或者通過oracle的管理工具刪除有死鎖的session,oracle只會(huì)將該session標(biāo)記為killed,但無(wú)法清除掉,往往需要通過第二步在操作系統(tǒng)層級(jí)進(jìn)行刪除。
第二步:
1、select xidusn, object_id, session_id, locked_mode from v$locked_object; --查死鎖的對(duì)象,獲取其SESSION_ID。
2、select username,sid,serial# from v$session where sid=29; --根據(jù)上步獲取到的sid查看其serial#號(hào)。
3、alter system kill session '29,57107'; --刪除進(jìn)程,如已經(jīng)刪除過,則會(huì)報(bào)ora-00031的錯(cuò)誤;否則oracle會(huì)將該session標(biāo)記為killed狀態(tài),等待一段時(shí)間看能否會(huì)自動(dòng)消失,如長(zhǎng)時(shí)間消失不掉,則需要做后續(xù)步驟。
一些ORACLE中的進(jìn)程被殺掉后,狀態(tài)被置為"killed",但是鎖定的資源很長(zhǎng)時(shí)間不釋放,有時(shí)實(shí)在沒辦法,只好重啟數(shù)據(jù)庫(kù)?,F(xiàn)在提供一種方法解決這種問題,那就是在ORACLE中殺不掉的,在OS一級(jí)再殺。
分享題目:oracle怎么殺掉進(jìn)程 如何殺掉sql數(shù)據(jù)庫(kù)進(jìn)程
文章地址:http://chinadenli.net/article44/hgcsee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、網(wǎng)站內(nèi)鏈、虛擬主機(jī)、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站改版、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)