一、工具
創(chuàng)新互聯(lián)建站是專(zhuān)業(yè)的柳江網(wǎng)站建設(shè)公司,柳江接單;提供成都網(wǎng)站建設(shè)、成都網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專(zhuān)業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行柳江網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專(zhuān)業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專(zhuān)業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
pl/sql數(shù)據(jù)庫(kù)
二、操作步驟
首先通過(guò)pl/sql查詢到目前長(zhǎng)時(shí)間活動(dòng)的進(jìn)程:
2.選擇sessions,得到界面:
3.得到某個(gè)SID和serialId.
然后切換到超級(jí)用戶下面,執(zhí)行下面下面:select?c.spid?from?v$process?c?where?c.addr=(select?b.paddr?from?v$session?b
where?b.sid=?'15'?and?b.serial#=?'16985')?得到spid.?然后登錄到數(shù)據(jù)庫(kù)的機(jī)器,執(zhí)行如下命令即完成殺掉oracle進(jìn)程:
三、注意事項(xiàng):如果是生產(chǎn)環(huán)境,要盡量減少停機(jī)時(shí)間,讓數(shù)據(jù)庫(kù)盡快恢復(fù)使用。
方法/步驟\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.以上兩步,可通過(guò)Oracle的管理控制臺(tái)來(lái)執(zhí)行。\x0d\x0a\x0d\x0a如果利用上面的方法殺死進(jìn)程后,進(jìn)程狀態(tài)雖被置為"killed",但是鎖定的資源很長(zhǎng)時(shí)間沒(méi)有被釋放,那么可以在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。
方法/步驟
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.以上兩步,可通過(guò)Oracle的管理控制臺(tái)來(lái)執(zhí)行。
如果利用上面的方法殺死進(jìn)程后,進(jìn)程狀態(tài)雖被置為"killed",但是鎖定的資源很長(zhǎng)時(shí)間沒(méi)有被釋放,那么可以在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í)行命令,語(yǔ)法為:orakill sid thread
其中:
sid:表示要?dú)⑺赖倪M(jìn)程屬于的實(shí)例名
thread:是要?dú)⒌舻木€程號(hào),即上面查詢出的spid。
1.控制面板-管理工具-服務(wù)
2.找到oracle開(kāi)頭的服務(wù)項(xiàng)目,選中之后右鍵,點(diǎn)擊結(jié)束
3.屬性里為自動(dòng)啟動(dòng)的給改成手工啟動(dòng),其實(shí)你要數(shù)據(jù)庫(kù)運(yùn)行的話,只需要啟動(dòng)兩個(gè)進(jìn)程就行,一個(gè)是“oracleservice數(shù)據(jù)庫(kù)名”,一個(gè)是OracleOraHome92TNSListener
4.這樣重啟后你的java.exe就沒(méi)了
終止進(jìn)程并不能結(jié)束備份,需要結(jié)束備份對(duì)應(yīng)的job;
1、查看備份job
select job_name,state from dba_datapump_jobs;
2、在退出導(dǎo)出監(jiān)視界面后,可以通過(guò)下面語(yǔ)句重新打開(kāi)expdp界面
Expdp system/test ATTACH=system.export_job10 --第一步查出的job名稱
3、結(jié)束job
Export kill_job
select * from v$access a where object like '存儲(chǔ)過(guò)程名%' --存儲(chǔ)過(guò)程名為大寫(xiě)字母
select * from v$session where sid=74 --74為上一個(gè)查詢得到的SID值,可能是多個(gè),這里找到他們對(duì)應(yīng)的serial#值
alter system kill session '74,118' --參數(shù)為'sid,serial#',用于停止這個(gè)回話,同時(shí)也終止了存儲(chǔ)過(guò)程