3月計算機四級數據庫工程師沖刺試題4_第1頁
3月計算機四級數據庫工程師沖刺試題4_第2頁
3月計算機四級數據庫工程師沖刺試題4_第3頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、3月計算機四級數據庫工程師沖刺試題42020年3月計算機四級數據庫工程師沖刺試題41 不同封鎖協(xié)議與系統(tǒng)一致性級別的矢系是什么?(填空題)答案 不同的封鎖協(xié)議對應不同的一致性級別。一級封鎖協(xié)議可防止丟失修改,并保證事務T是可恢復的。在一級封鎖協(xié)議中,對讀數據是不加S 鎖的,所以它不能保證可重復讀和不讀“臟”數據。二級封鎖協(xié)議除防止 了丟失修改,還可逬一步防止讀“臟”數據。在二級封鎖協(xié)議中,由于讀完 數據后立即釋放S鎖,所以它不能保證可重復讀。在三級封鎖協(xié)議中,無 論是讀數據還是寫數據都加長鎖,即都要到事務結束時才釋放封鎖。所以 三級封鎖協(xié)議除防止了丟失修改和不讀“臟”數據外,還進一步防止了不可

2、 重復讀。2 什么是活鎖?什么是死鎖?(填空題)答案如果事務T1封鎖了數據R,事務T2又請求封鎖R,于是T2等待。T3 也請求封鎖R,當T1釋放了 R上的封鎖之后系統(tǒng)首先擔;準了 T3的請求,T2 仍然等待。然后T4又請求封鎖R,當T3釋放了 R上的封鎖之后系統(tǒng)又批 準了 T4的請求T2有可能永遠等待,這就是活鎖的情形。活鎖的含義是 該等待事務等待時間太長,似乎被鎖住了,實際上可能被激活。如果事務 T1封鎖了數據R1,T2封鎖了數據R2,然后T1又請求封鎖R2,因T2已封 鎖了 R2,于是T1等待T2釋放R2上的鎖。接著T2又申請封鎖R1,因T1 已封鎖了 R1, T2也只能等待T1釋放R1上

3、的鎖。這樣就出現(xiàn)了 T1在等待T2,而T2 又在等待T1的局面,T1和T2兩個事務永遠不能結束,形成死鎖。3 試述活鎖的產生原因和解決方法。(填空題)答案活鎖產生的原因:當一系列封鎖不能按照其先后順序執(zhí)行時,就可能 導致一些事務無限期等待某個封鎖,從而導致活鎖。避免活鎖的簡單方法是 采用先來先服務的策略。當多個事務請求封鎖同一數據對象時,封鎖子系 統(tǒng)按請求封鎖的先后次序對事務排隊,數據對象上的鎖一旦釋放就批準申請 隊列中第一個事務獲得鎖。4 請給出預防死鎖的若干方法。(填空題)答案在數據庫中,產生死鎖的原因是兩個或多個事務都已封鎖了一些數 據對象,然后又都請求已被其他事務封鎖的數據加鎖,從而出

4、現(xiàn)死等待 防止死鎖的發(fā)生其實就是要破壞產生死鎖的條件。預防死鎖通常有兩種方 法:(1)一次封鎖法要求每個事務必須一次將所有要使用的數據全部加 鎖,否則就不能繼續(xù)執(zhí)行。(2)順序封鎖法預先對數據對象規(guī)定一個封鎖順序,所有事務都按這個順序實行封鎖。5 請給出檢測死鎖發(fā)生的一種方法,當發(fā)生死鎖后如何解除死鎖?(填空題)答案數據庫系統(tǒng)一般采用允許死鎖發(fā)生,DBMS檢測到死鎖后加以解除的 方法。DBMS中診斷死鎖的方法與操作系統(tǒng)類似,一般使用超時法或事務等待圖法。超時法是:如果一個事務的等待時間超過了規(guī)定的時 限,就認為發(fā)生了死鎖。超時法實現(xiàn)簡單,但有可能誤判死鎖,事務因其他 原因長時間等待超過時限時,

5、系統(tǒng)會誤認為發(fā)生了死鎖。若時限設置得太 長,又不能及時發(fā)現(xiàn)死鎖發(fā)生。DBMS并發(fā)控 制子系統(tǒng)檢測到死鎖后,就 要設法解除。通常采用的方法是選擇一個 處理死鎖代價最小的事務,將其撤 消,釋放此事務持有的所有鎖,使 其他事務得以繼續(xù)運行下去。當然,對撤 銷的事務所執(zhí)行的數據修改操作必須加以恢復。6 什么樣的并發(fā)調度是正確的調度?(填空題)答案可串行化(Serializable)的調度是正確的調度??纱谢恼{度的定 義:多個事務的并發(fā)執(zhí)行是正確的,當且僅當其結果與按某一次序串行地執(zhí) 行它們時的結果相同,我們稱這種調度策略為可串行化的調度。7 試述兩段鎖協(xié)議的概念。(填空題)答案兩段鎖協(xié)議是指所有事

6、務必須分兩個階段對數據項加鎖和解鎖。?在對 任何數據進行讀、寫操作之前,首先要申請并獲得對該數據的封鎖;?在釋 放一個封鎖之后,事務不再申請和獲得任何其他封鎖。“兩段”的含義是, 事務分為兩個階段:第一階段是獲得封鎖,也稱為擴展階段。在這階段, 事務可以申請獲得任何數據項上的任何 類型的鎖,但是不能釋放任何鎖。第 二階段是釋放封鎖,也稱為收縮階段。在這階段,事務釋放已經獲得的鎖,但是不能再申請任何鎖。8 .試證明,若并發(fā)事務遵守兩段鎖協(xié)議,則對這些事務的并發(fā)調度是 可串行化的。(填空題)答案首先以兩個并發(fā)事務T1和T2為例,存在多個并發(fā)事務的情形可以類推。根據可串行化定義可知,事務不可串行化只

7、可能發(fā)生在下列兩種情況:1 事務T1寫某個數據對象A,T2讀或寫A; 2事務T1讀或寫某個數據對象A , T2寫A。下面稱A為潛在沖突對象。設T1和T2訪問的潛在沖突的 公共對象為A1, A2,An不失一般T生,假設這組潛在沖突對象中 X=A1,A2,-,Ai 符合情況 1。Y=Ai+1,An 符合所情況 2。? x?X, T1 需要 XlockxT2 需要 Slock x或Xlockx(1)如果操作先執(zhí)行,則T1獲得鎖,T2等待由于遵守兩 段鎖協(xié)議,T1在成功獲得X和Y中全部對象及非潛在沖突對象的鎖后, 才會釋放鎖這時如果?w?X或丫,T2已獲得w的鎖,則出現(xiàn)死鎖否則, T1在對X、Y中對象

8、全部處理完畢后,T2才能執(zhí)行這相當于按T1、T2 的順序串行執(zhí)行根據可串行化定義,T1和T2的調度是可串行化的。(2)操 作先執(zhí)行的情況與(1)對稱因此,若并發(fā)事務遵守兩段鎖協(xié)議,在不發(fā)生 死鎖的情況下,對這些事務的并發(fā)調度一定是可串行化的。9 為什么要引進意向鎖?意向鎖的含義是什么?(填空題)答案引進意向鎖是為了提高封鎖子系統(tǒng)的效率。該封鎖子系統(tǒng)支持多種封鎖粒度。原因是:在多粒度封鎖方法中一個數據對象可能以兩種方式加鎖一顯式封鎖和隱式封鎖(有尖概念參見概論8.7.1)。因此 系統(tǒng)在對某一數據對象加鎖時不僅要檢查該數據對象上有無(顯式和隱式)封鎖與之沖突;還要檢查其所有上級結點和所有下級結點,

9、看申請的 封鎖是否與這些結點上的(顯式和隱式)封鎖沖突;顯然,這樣的檢查方 法效率很低。為此引進了意向鎖。意向鎖的含義是:對任一結點加鎖時,必 須先對它的上層結點加意向鎖。例如事務T要對某個元組加X鎖,則首先 要對尖系和數據庫加IX鎖。換言之,對尖系和數據庫加IX鎖'表示它的后 裔結點一某個元組擬(意向)加X鎖。引進意向鎖后,系統(tǒng)對某一數據 對象加鎖時不必逐個檢查與下一級結點的封鎖沖突了。例如,事務T要對尖 系R加X鎖時,系統(tǒng)只要檢查根結點數據庫和R本身是否已加了不相容的 鎖(如發(fā)現(xiàn)已經加了 IX,則與X沖突),而不再需要搜索和檢查R中的 每一個元組是否加了 X鎖或S鎖。10 .試述常用的意向鎖:IS鎖,IX鎖,SIX鎖,給出這些鎖的相容矩陣。(填空題)答案IS鎖如果對一個數據對象加IS鎖,表示它的后裔結點擬(意向)加

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論