ORACLE利用事務(wù)和封鎖機(jī)制提供數(shù)據(jù)并發(fā)存取和數(shù)據(jù)完整性,在一事務(wù)內(nèi)由語(yǔ)句獲取的全部封鎖在事務(wù)期間被保持,直至該事務(wù)提交或回滾時(shí)被釋放。對(duì)于用ORACLE7數(shù)據(jù)庫(kù)服務(wù)器構(gòu)造的較大規(guī)模的企業(yè)級(jí)客戶/服務(wù)器應(yīng)用系統(tǒng),眾多的客戶端由于各種各樣的原因(硬件故障、意外掉電等等)難免造成用戶會(huì)話的意外中止,而ORACLE本身不主動(dòng)清除這些垃圾會(huì)話(session),如果這些會(huì)話(session)恰好在當(dāng)前事務(wù)期間對(duì)數(shù)據(jù)庫(kù)對(duì)象(表、視圖等)加了鎖,往往造成其他客戶端的用戶不能正常繼續(xù)工作。如何及時(shí)清除這些垃圾會(huì)話(session)、釋放所占用的資源,這正是本文所要討論的內(nèi)容。2具體方法ORACLE數(shù)據(jù)庫(kù)具有審計(jì)其內(nèi)部所有發(fā)生的活動(dòng)的能力,每一個(gè)企圖與數(shù)據(jù)庫(kù)連接的活動(dòng)都可以被審計(jì)(Audit),即所謂的登錄審計(jì)(LoginAudit)。
為開化等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及開化網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為做網(wǎng)站、網(wǎng)站制作、開化網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
sqlplus環(huán)境下 alter system kill session 'sid,serial#';
如果不行的話在操作系統(tǒng)下操作:
windows: orakill 實(shí)例名 spid
linux: kill -9 spid
舉個(gè)例子
通過session id (SID) 找到系統(tǒng)進(jìn)程號(hào) 然后kill 進(jìn)程
SQL select spid from v$process where addr=(select paddr from v$session where rownum=1 and sid=(select userenv('SID') from dual));
SPID
------------------------
12135
spid 系統(tǒng)進(jìn)程號(hào)
SQL ho kill -9 12135
kill 掉這個(gè)進(jìn)程 就完了
SQL select sysdate from dual;
select sysdate from dual
*
第 1 行出現(xiàn)錯(cuò)誤:
ORA-03135: 連接失去聯(lián)系
進(jìn)程 ID: 12135
會(huì)話 ID: 65 序列號(hào): 19533
在Oracle中,可以用kill session來終止一個(gè)會(huì)話進(jìn)程,其基本語(yǔ)法結(jié)構(gòu)為:
alter system kill session 'sid,serial' ;
ORACLE官網(wǎng)對(duì)于ora-00031異常給出的解釋:
ORA-00031 session marked for killCause: The session specified in an ALTER SYSTEMKILL SESSION commandcannot be killed immediately because the session isinvolved in anon-interruptible operation (for example, rollingback a transaction or beingblocked by a network operation). The session hasbeen marked to be killed assoon as possible after the current operation is done.Action: No action is required for the session to bekilled, but further executionsof the ALTER SYSTEM KILL SESSION command onthis session may cause thesession to be killed soone
意思是說當(dāng)前你的這個(gè)session正在進(jìn)行回滾等正在運(yùn)行狀態(tài)的操作,所以不能馬上刪除該會(huì)話。系統(tǒng)會(huì)在該session的當(dāng)前操作完成后自動(dòng)刪除這個(gè)session。所以,你可以等等。應(yīng)該就沒問題啦
你可以考慮使用在操作系統(tǒng)層面來殺掉客戶端會(huì)話的連接進(jìn)程,這樣資源馬上就可以釋放掉,如果只是在數(shù)據(jù)庫(kù)級(jí)別的話,即便是管理員殺掉會(huì)話,那么v$session里面也不過是顯示killed狀態(tài),而不是真正的釋放掉,同時(shí)如果此時(shí)實(shí)際的連接數(shù)量達(dá)到參數(shù)session設(shè)定數(shù)量上線的話,新的連接將會(huì)報(bào)錯(cuò)無法連接,直到資源釋放才可以。
本文標(biāo)題:oracle如何刪除會(huì)話,oracle中刪除語(yǔ)句
瀏覽地址:http://jinyejixie.com/article24/hsipje.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、App開發(fā)、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站排名、網(wǎng)站維護(hù)、網(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)