新聞中心
[Oracle]使用sid和sessionid殺死進(jìn)程
select session_id from v$locked_object;
從策劃到設(shè)計(jì)制作,每一步都追求做到細(xì)膩,制作可持續(xù)發(fā)展的企業(yè)網(wǎng)站。為客戶提供成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、網(wǎng)站策劃、網(wǎng)頁設(shè)計(jì)、域名注冊(cè)、虛擬主機(jī)、網(wǎng)絡(luò)營銷、VI設(shè)計(jì)、 網(wǎng)站改版、漏洞修補(bǔ)等服務(wù)。為客戶提供更好的一站式互聯(lián)網(wǎng)解決方案,以客戶的口碑塑造優(yōu)易品牌,攜手廣大客戶,共同發(fā)展進(jìn)步。
SELECT sid, serial#, username, osuser FROM v$session where sid = 71;
ALTER SYSTEM KILL SESSION '71,1089';
Oracle進(jìn)程殺不掉怎么辦
方法/步驟
1.查詢哪些對(duì)象被鎖:
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.殺死進(jìn)程:
alter system kill session '137,233'; (其中137,223分別是上面查詢出的sid,serial#)
PS.以上兩步,可通過Oracle的管理控制臺(tái)來執(zhí)行。
如果利用上面的方法殺死進(jìn)程后,進(jìn)程狀態(tài)雖被置為"killed",但是鎖定的資源很長時(shí)間沒有被釋放,那么可以在OS一級(jí)再殺死相應(yīng)的進(jìn)程(線程)
1.首先獲得進(jìn)程(線程)號(hào):
select spid, osuser, s.program
from v$session s,v$process p
where s.paddr=p.addr and s.sid=137 (137是上面的sid)
2.在OS上殺死這個(gè)進(jìn)程(線程):
1)在unix上,用root身份執(zhí)行命令:
#kill -9 12345(即上面查詢出的spid)
2)在windows(unix也適用)用orakill殺死線程,例:c:orakill orcl 12345
orakill是oracle提供的一個(gè)可執(zhí)行命令,語法為:orakill sid thread
其中:
sid:表示要?dú)⑺赖倪M(jìn)程屬于的實(shí)例名
thread:是要?dú)⒌舻木€程號(hào),即上面查詢出的spid。
查看oracle是否鎖表之后, 然后如果我沒有DBA權(quán)限 怎么殺掉進(jìn)程或者解鎖表?
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ì)更快。
如何殺死oracle死鎖進(jìn)程
首先,oracle死鎖進(jìn)程是后臺(tái)自動(dòng)發(fā)現(xiàn)自動(dòng)殺掉的。
其次,如果想要?dú)⒌鬿racle的進(jìn)程,可以殺程序的前臺(tái)進(jìn)程,也可以殺數(shù)據(jù)庫的用戶連接進(jìn)程,也可以在數(shù)據(jù)庫中執(zhí)行alter system kill session 'sid,serial'去殺
如何有效殺掉在linux環(huán)境下的oracle進(jìn)程
1.第一步:使用Linux的kill命令殺死所有與oracle有關(guān)的進(jìn)程。 1)查詢到與ORACLE_SID相關(guān)的oracle進(jìn)程 $ ps -ef |grep $ORACLE_SID oracle 7776 1 0 22:51 ? 00:00:00 ora_pmon_ora10g oracle 7778 1 0 22:51 ? 00:00:00 ora_psp0_ora10g oracle...
Oracle進(jìn)程刪除不掉怎么辦?
方法/步驟\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",但是鎖定的資源很長時(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í)行命令,語法為:orakill sid thread\x0d\x0a其中:\x0d\x0asid:表示要?dú)⑺赖倪M(jìn)程屬于的實(shí)例名\x0d\x0athread:是要?dú)⒌舻木€程號(hào),即上面查詢出的spid。
本文標(biāo)題:如何殺oracle進(jìn)程 如何殺掉oracle數(shù)據(jù)庫進(jìn)程
鏈接URL:http://www.dlmjj.cn/article/hjopdp.html