版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、鎖等待的診斷及排除=====================================在ACLE中,為了保證數(shù)據(jù)的一致性,在對數(shù)據(jù)庫中的數(shù)據(jù)進行操作時,系統(tǒng)會進行對數(shù)據(jù)相應(yīng)的鎖定。當(dāng)程序?qū)λ龅男薷倪M行提交(commit)或回滾后(rollback)后,鎖住的資源便會得到釋放,從而允許其它用戶進行操作。但是,有時,由于程序中的原因,鎖住資源后長時間未對其工作進行提交;或是由于用戶的原因,如調(diào)出需要修改的數(shù)據(jù)后,未及時修改并提交,而
2、是放置于一旁;或是由于客戶服務(wù)器方式中客戶端出現(xiàn)“死機“,而服務(wù)器端卻并未檢測到,從而造成鎖定的資源未被及時釋放,影響到其它用戶的操作。這時,我們需要迅速地診斷出鎖住資源的用戶并解決其鎖定。1.診斷系統(tǒng)中的鎖為了找出系統(tǒng)中那些用戶鎖住資源以及那些用戶在等待相應(yīng)的資源,可使用以下語句(其中的NO_MERGE(..)千萬不可省略否則會很慢):looklock.sqlusetheNO_MERGEhintscanspeedupthequeryN
3、O_MERGE(a)NO_MERGE(b)NO_MERGE(c)Wait“Status“a.usernamea.machinea.sida.serial#a.last_call_et“Seconds“b.id1c.sql_text“SQL“fromv$sessionav$lockbv$sqltextcwherea.usernameisnotnulla.lockwait=b.kaddrc.hash_value=a.sql_hash_val
4、ueunionNO_MERGE(a)NO_MERGE(b)NO_MERGE(c)Lock“Status“a.usernamea.machinea.sida.serial#a.last_call_et“Seconds“b.id1c.sql_text“SQL“fromv$sessionav$lockbv$sqltextcwhereb.id1in(NO_MERGE(d)NO_MERGE(e)distincte.id1fromv$session
5、dv$lockewhered.lockwait=e.kaddr)a.usernameisnotnulla.sid=b.sidb.request=0c.hash_value=a.sql_hash_value執(zhí)行后的結(jié)果如下所示:StatUSERNAMEMACHINESIDSERIAL#SecondsID1SQLLockCIQUSRCIQDULMACER12966245131089fromv$sessionav$lockbv$sqltext
6、cwhereb.id1in(distincte.id1fromv$sessiondv$lockewhered.lockwait=e.kaddr)a.sid=b.sidc.hash_value=a.sql_hash_valueb.request=0死鎖:當(dāng)兩個事務(wù)需要一組有沖突的鎖,而不能將事務(wù)繼續(xù)下去的話,就出現(xiàn)死鎖。如事務(wù)1在表A行記錄#3中有一排它鎖,并等待事務(wù)2在表A中記錄#4中排它鎖的釋放,而事務(wù)2在表A記錄行#4中有一排它鎖,
7、并等待事務(wù)1在表A中記錄#3中排它鎖的釋放,事務(wù)1與事務(wù)2彼此等待,因此就造成了死鎖。死鎖一般是因拙劣的事務(wù)設(shè)計而產(chǎn)生fromv$lockdba_objectsv$sessionwhereobject_id=v$lock.id1v$lock.sid=v$session.sid查看被鎖的表:p.spidc.object_nameb.session_idb.acle_usernameb.os_user_namefromv$processpv
8、$sessionav$locked_objectball_objectscwherep.addr=a.paddra.process=b.processc.object_id=b.object_id解鎖:altersystemkillsession146(其中146為鎖住的進程號)al.owner“所有者“al.object_name“表名“al.object_type“表類型“l(fā)o.SESSION_ID“會話id“s.OSUSER“登錄
9、者機器的用戶“s.MACHINE“登錄者機器名“l(fā).CTIME“被鎖時間“l(fā).block“=1的是制造者“l(fā).type“鎖類型“p.SPID“系統(tǒng)進程號“s.SERIAL#fromv$locked_objectlojoinall_objectsalonal.object_id=lo.OBJECT_IDjoinv$sessionsons.SID=lo.SESSION_IDjoinv$locklonl.SID=lo.SESSION_IDjo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 軸間差速鎖結(jié)構(gòu)講解及故障排除
- 發(fā)動機抖動的故障診斷及排除
- [學(xué)習(xí)]服務(wù)器故障診斷及排除
- 數(shù)控機床故障診斷及排除方法
- 校園局域網(wǎng)故障診斷及排除方法
- 校園局域網(wǎng)故障診斷及排除方法
- 配料秤的故障診斷與排除
- 液壓挖掘機液壓系統(tǒng)的常見故障及診斷排除
- 汽車制動系統(tǒng)的故障診斷與排除
- 液壓系統(tǒng)設(shè)備的故障診斷與排除
- 外文翻譯--傳動軸重要部件及故障診斷排除
- 運用傳統(tǒng)診斷優(yōu)勢,準確排除車輛故障
- 淺談數(shù)控機床的故障診斷與排除
- 淺談數(shù)控機床的故障診斷與排除
- 渦輪增壓器的故障診斷與排除
- 畢業(yè)論文--數(shù)控機床故障診斷及排除方法淺析
- 數(shù)控機床故障診斷及排除方法淺析畢業(yè)論文
- 畢業(yè)論文--數(shù)控機床故障診斷及排除方法淺析
- 廣本奧德賽abs系統(tǒng)自診斷與故障排除
- 汽車底盤異響故障的診斷和排除
評論
0/150
提交評論