真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Oracle死鎖監(jiān)控和解決方法

本篇內(nèi)容主要講解“Oracle死鎖監(jiān)控和解決方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Oracle死鎖監(jiān)控和解決方法”吧!

本篇內(nèi)容主要講解“Oracle死鎖監(jiān)控和解決方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Oracle死鎖監(jiān)控和解決方法”吧!

創(chuàng)新互聯(lián)專注于企業(yè)營銷型網(wǎng)站建設(shè)、網(wǎng)站重做改版、泰寧網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5高端網(wǎng)站建設(shè)、商城建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為泰寧等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

 1、  發(fā)現(xiàn)鎖對(duì)象和對(duì)應(yīng)的

SID//

發(fā)現(xiàn)鎖定

SELECT s.username, l.OBJECT_ID, l.SESSION_ID, s.SERIAL#, l.ORACLE_USERNAME, l.OS_USER_NAME, l.PROCESS FROM V$LOCKED_OBJECT l,V$SESSION S WHERE l.SESSION_ID=S.SID;

 2、  解決方法——kill掉指定的

session

 alter system kill session ‘sid,serial#’;  (其中sid=l.session_id

 kill掉session,也可以在EM

中進(jìn)行,使用圖形化界面。

 3、  解決方法——kill掉指定的

process

 通過sid找到對(duì)應(yīng)service進(jìn)程的id信息,通過操作系統(tǒng)級(jí)別進(jìn)行kill

 

select pro.spid from v$session ses,v$process pro where ses.sid=XX and ses.paddr=pro.addr;   其中sid用死鎖的sid

替換。

exit

ps -ef|grep spid

 其中spid是這個(gè)進(jìn)程的進(jìn)程號(hào),kill掉這個(gè)Oracle

進(jìn)程。

 在OS層面kill進(jìn)程的情況很多,比如使用dbms_job調(diào)用的session,大部分時(shí)候都需要在OS層面kill

掉。

 Oracle

死鎖與應(yīng)用設(shè)計(jì)

 一般情況下,應(yīng)用程序?qū)?shù)據(jù)庫的操作基本上是瞬時(shí)的(除非需要Tunning

)。只有涉及到批量事務(wù)操作的時(shí)候,才會(huì)出現(xiàn)長時(shí)間對(duì)一個(gè)對(duì)象的獨(dú)占。一旦這種情況出現(xiàn),所獨(dú)占的對(duì)象又是為其他會(huì)話(批量操作)所請(qǐng)求,就有可能出現(xiàn)死鎖。

 

長時(shí)間的批量事務(wù)一般都組織在系統(tǒng)專門的作業(yè)管理器中,根據(jù)特定的調(diào)度規(guī)則進(jìn)行運(yùn)行。為了提高效率,作業(yè)管理器通常使用多線程技術(shù),同時(shí)多個(gè)線程執(zhí)行多個(gè)任務(wù),這種情況下,出現(xiàn)死鎖的概率也有大大提升。在這個(gè)問題上,筆者有如下想法:

 1、  按照模塊劃分線程,模塊內(nèi)作業(yè)順序執(zhí)行,模塊間并行。一般來說,一個(gè)模塊的作業(yè)之間,會(huì)出現(xiàn)比較嚴(yán)重的資源請(qǐng)求共享,比如對(duì)同一個(gè)表中同一批數(shù)據(jù)的操作。這樣很容易出現(xiàn)死鎖狀態(tài)。無論是手工解鎖、還是借助Oracle

自身機(jī)制解鎖,都至少引起一個(gè)作業(yè)的回滾。所以,根據(jù)模塊進(jìn)行劃分,相同模塊的作業(yè)盡可能順序執(zhí)行,減少表數(shù)據(jù)之間共用。不同模塊之間的作業(yè),操作更新的表范圍差別比較大,所以不同業(yè)務(wù)模塊之間作業(yè)進(jìn)行并行。2、  作業(yè)中顯示進(jìn)行錯(cuò)誤00060的處理。在作業(yè)的開發(fā)中,要加入對(duì)于00060

死鎖錯(cuò)誤的處理,如果接受到了該錯(cuò)誤異常,要主動(dòng)從應(yīng)用層面進(jìn)行操作回滾,接觸其他作業(yè)阻塞情況。3、  借助Oracle自身鎖機(jī)制,監(jiān)控長時(shí)間鎖住對(duì)象和會(huì)話狀況,盡快通知DBA

手工解決死鎖。

 綜上所述:死鎖在Oracle

中是一種比較少見的情況,而且自身有相應(yīng)的監(jiān)控防護(hù)機(jī)制。作為應(yīng)用開發(fā)者的我們,也要盡可能的合理化應(yīng)用處理結(jié)構(gòu),盡可能不要顯示的鎖定對(duì)象和設(shè)計(jì)不合理的并行操作,加大出現(xiàn)死鎖的概率。

 


分享標(biāo)題:Oracle死鎖監(jiān)控和解決方法
轉(zhuǎn)載來源:http://weahome.cn/article/cegsc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部