【数据库系统概论】考研第六部分重点分析【6.1】
文章目錄
- (五) 【數(shù)據(jù)庫(kù)保護(hù)】
- 1.【并發(fā)控制基本概念和基本技術(shù)】
- 1.1【并發(fā)訪問可能出現(xiàn)的問題】
- 1.2【封鎖及鎖的類型】
- 1.3【死鎖概念】
- 1.4【并發(fā)調(diào)度的可串行性】
- 1.5【三級(jí)封鎖協(xié)議】
- 1.6【死鎖的預(yù)防和解除】
- 2.【數(shù)據(jù)庫(kù)恢復(fù)基本概念和基本技術(shù)】
- 2.1【數(shù)據(jù)庫(kù)故障種類】
- 2.2【常用數(shù)據(jù)庫(kù)恢復(fù)手段】
- 2.3【針對(duì)不同故障的恢復(fù)方法】
- 3.【數(shù)據(jù)庫(kù)安全基本概念和基本技術(shù)】
- 3.1【數(shù)據(jù)庫(kù)安全涉及到的方法手段,包括:用戶標(biāo)識(shí)和鑒別方法、訪問控制、審計(jì)、數(shù)據(jù)加密等】
- 3.2【數(shù)據(jù)庫(kù)訪問授權(quán)方法,包括授權(quán)命令GRANT和撤銷權(quán)限命令REVOKE】
- 【重點(diǎn)例題】:
(五) 【數(shù)據(jù)庫(kù)保護(hù)】
1.【并發(fā)控制基本概念和基本技術(shù)】
- 事務(wù)串行執(zhí)行
- 交叉并發(fā)方式
- 同時(shí)并發(fā)方式
1.1【并發(fā)訪問可能出現(xiàn)的問題】
1.2【封鎖及鎖的類型】
- 排他鎖(寫鎖)
- 共享鎖(讀鎖)
1.3【死鎖概念】
- 是指兩個(gè)或兩個(gè)以上的進(jìn)程在執(zhí)行過程中,因爭(zhēng)奪資源而造成的一種互相等待的現(xiàn)象,若無外力作用,它們都將無法推進(jìn)下去(丟失修改、不可重復(fù)讀、讀臟數(shù)據(jù))
- 活鎖:先來先服務(wù)
1.4【并發(fā)調(diào)度的可串行性】
1.5【三級(jí)封鎖協(xié)議】
- 1 級(jí)封鎖協(xié)議是:事務(wù)T在修改數(shù)據(jù)R之前必須先對(duì)其加X鎖,直到事務(wù)結(jié)束才釋放。
- 1級(jí)封鎖協(xié)議可防止丟失修改
- 2級(jí)封鎖協(xié)議是:1級(jí)封鎖協(xié)議加上事務(wù)T在讀取數(shù)據(jù)R之前必須先對(duì)其加S鎖,讀完后即可釋放S鎖。
- 2級(jí)封鎖協(xié)議除防止了丟失修改,還可進(jìn)一步防止讀"臟"數(shù)據(jù)。
- 3級(jí)封鎖協(xié)議是:1級(jí)封鎖協(xié)議加上事務(wù)T在讀取數(shù)據(jù)R之前必須先對(duì)其加S鎖,直到事務(wù)結(jié)束才釋放。
- 3級(jí)封鎖協(xié)議除防止了丟失修改和不讀’臟’數(shù)據(jù)外,還進(jìn)一步防止了不可重復(fù)讀。
1.6【死鎖的預(yù)防和解除】
- 預(yù)防
一次封鎖法
順序封鎖法 - 解除死鎖發(fā)生
- 解除死鎖
- 檢查死鎖(超時(shí)法、等待圖法)
允許
2.【數(shù)據(jù)庫(kù)恢復(fù)基本概念和基本技術(shù)】
2.1【數(shù)據(jù)庫(kù)故障種類】
- 事務(wù)故障
- 系統(tǒng)故障
- 介質(zhì)故障
2.2【常用數(shù)據(jù)庫(kù)恢復(fù)手段】
-
數(shù)據(jù)轉(zhuǎn)儲(chǔ)
-
登錄日志文件
-
數(shù)據(jù)轉(zhuǎn)儲(chǔ):是數(shù)據(jù)庫(kù)恢復(fù)中采用的基本技術(shù)。所謂轉(zhuǎn)儲(chǔ)即DBA 定期地將數(shù)據(jù)庫(kù)復(fù)制到磁帶或另一個(gè)磁盤上保存起來的過程。當(dāng)數(shù)據(jù)庫(kù)遭到破壞后可以將后備副本重新裝入,將數(shù)據(jù)庫(kù)恢復(fù)到轉(zhuǎn)儲(chǔ)時(shí)的狀態(tài)。
-
靜態(tài)轉(zhuǎn)儲(chǔ):在系統(tǒng)中無運(yùn)行事務(wù)時(shí)進(jìn)行的轉(zhuǎn)儲(chǔ)操作。靜態(tài)轉(zhuǎn)儲(chǔ)簡(jiǎn)單,但必須等待正運(yùn)行的用戶事務(wù)結(jié)束才能進(jìn)行。同樣,新的事務(wù)必須等待轉(zhuǎn)儲(chǔ)結(jié)束才能執(zhí)行。這會(huì)降低數(shù)據(jù)庫(kù)的可用性。
-
動(dòng)態(tài)轉(zhuǎn)儲(chǔ):指轉(zhuǎn)儲(chǔ)期間允許對(duì)數(shù)據(jù)庫(kù)進(jìn)行存取或修改。動(dòng)態(tài)轉(zhuǎn)儲(chǔ)可克服靜態(tài)轉(zhuǎn)儲(chǔ)的缺點(diǎn),它不用等待正在運(yùn)行的用戶事務(wù)結(jié)束,也不會(huì)影響新事務(wù)的運(yùn)行。但是,轉(zhuǎn)儲(chǔ)結(jié)束時(shí)后援副本上的數(shù)據(jù)并不能保證正確有效。因?yàn)檗D(zhuǎn)儲(chǔ)期間運(yùn)行的事務(wù)可能修改了某些數(shù)據(jù),使得后援副本上的數(shù)據(jù)不是數(shù)據(jù)庫(kù)的一致版本。為此,必須把轉(zhuǎn)儲(chǔ)期間各事務(wù)對(duì)數(shù)據(jù)庫(kù)的修改活動(dòng)登記下來,建立日志文件( 109 file )。這樣,后援副本加上日志文件就能得到數(shù)據(jù)庫(kù)某一時(shí)刻的正確狀態(tài)。轉(zhuǎn)儲(chǔ)還可以分為海量轉(zhuǎn)儲(chǔ)和增量轉(zhuǎn)儲(chǔ)兩種方式。
-
海量轉(zhuǎn)儲(chǔ):指每次轉(zhuǎn)儲(chǔ)全部數(shù)據(jù)庫(kù)。
-
增量轉(zhuǎn)儲(chǔ):指每次只轉(zhuǎn)儲(chǔ)上一次轉(zhuǎn)儲(chǔ)后更新過的數(shù)據(jù)。從恢復(fù)角度看,使用海量轉(zhuǎn)儲(chǔ)得到的后備副本進(jìn)行恢復(fù)一般說來更簡(jiǎn)單些。但如果數(shù)據(jù)庫(kù)很大,事務(wù)處理又十分頻繁,則增量轉(zhuǎn)儲(chǔ)方式更實(shí)用更有效。
-
日志文件
日志文件的作用:
日志文件是用來記錄事務(wù)對(duì)數(shù)據(jù)庫(kù)的更新操作的文件
事務(wù)故障恢復(fù)和系統(tǒng)故障必須使用日志文件
在動(dòng)態(tài)轉(zhuǎn)儲(chǔ)方式中必須建立日志文件,后援副本和日志文件綜合起來才能有效的恢復(fù)數(shù)據(jù)庫(kù),靜態(tài)轉(zhuǎn)儲(chǔ)方式中,也可以建立日志文件
日志文件主要又兩種格式:以記錄為單位的日志文件和以數(shù)據(jù)塊為單位的日志文件。
登記日志文件時(shí)必須遵循兩條原則:
登記的次序嚴(yán)格按并發(fā)事務(wù)執(zhí)行的時(shí)間次序
必須先寫日志文件,后寫數(shù)據(jù)塊。
對(duì)數(shù)據(jù)庫(kù)的修改寫到數(shù)據(jù)庫(kù)中和把表示這個(gè)修改的日志記錄寫到日志文件中是兩個(gè)不同的操作。有可能在這兩個(gè)操作之間發(fā)生故障,即這兩個(gè)寫操作只完成一個(gè)。如果先寫了數(shù)據(jù)庫(kù)修改,而在運(yùn)行記錄中沒有登記這個(gè)修改,則以后就無法恢復(fù)這個(gè)修改了。如果先寫日志,但沒有修改數(shù)據(jù)庫(kù),按日志恢復(fù)數(shù)據(jù)庫(kù)時(shí)只不過是多執(zhí)行一次不必要的UNDO操作,并不會(huì)影響數(shù)據(jù)庫(kù)的正確性。所以為了安全,一定要先寫日志文件,即首先把日志記錄寫到日志文件中,然后寫數(shù)據(jù)庫(kù)的修改。這就是“先寫日志文件”的原則。
2.3【針對(duì)不同故障的恢復(fù)方法】
3.【數(shù)據(jù)庫(kù)安全基本概念和基本技術(shù)】
3.1【數(shù)據(jù)庫(kù)安全涉及到的方法手段,包括:用戶標(biāo)識(shí)和鑒別方法、訪問控制、審計(jì)、數(shù)據(jù)加密等】
3.2【數(shù)據(jù)庫(kù)訪問授權(quán)方法,包括授權(quán)命令GRANT和撤銷權(quán)限命令REVOKE】
【重點(diǎn)例題】:
總結(jié)
以上是生活随笔為你收集整理的【数据库系统概论】考研第六部分重点分析【6.1】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【数据库系统概论】考研附加部分重点分析【
- 下一篇: 【电子信息复试】考研复试常考问题——操作