3月計(jì)算機(jī)四級(jí)數(shù)據(jù)庫(kù)工程師沖刺試題4_第1頁(yè)
3月計(jì)算機(jī)四級(jí)數(shù)據(jù)庫(kù)工程師沖刺試題4_第2頁(yè)
3月計(jì)算機(jī)四級(jí)數(shù)據(jù)庫(kù)工程師沖刺試題4_第3頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余2頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

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

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

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

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

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

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

7、可能發(fā)生在下列兩種情況:1 事務(wù)T1寫(xiě)某個(gè)數(shù)據(jù)對(duì)象A,T2讀或?qū)慉; 2事務(wù)T1讀或?qū)懩硞€(gè)數(shù)據(jù)對(duì)象A , T2寫(xiě)A。下面稱A為潛在沖突對(duì)象。設(shè)T1和T2訪問(wèn)的潛在沖突的 公共對(duì)象為A1, A2,An不失一般T生,假設(shè)這組潛在沖突對(duì)象中 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中全部對(duì)象及非潛在沖突對(duì)象的鎖后, 才會(huì)釋放鎖這時(shí)如果?w?X或丫,T2已獲得w的鎖,則出現(xiàn)死鎖否則, T1在對(duì)X、Y中對(duì)象

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

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

溫馨提示

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

評(píng)論

0/150

提交評(píng)論