2. 死鎖的診斷與解除
① 超時法
如果一個事務的等待時間超過了規(guī)定的時限,就認為發(fā)生了死鎖。超時法實現(xiàn)簡單,但其不足也很明顯。一是有可能誤判死鎖,事務因為其他原因使等待時間超過時限,系統(tǒng)會誤認為發(fā)生了死鎖。二是時限若設置得太長,死鎖發(fā)生后不能及時發(fā)現(xiàn)。
②等待圖法
事務等待圖是一個有向圖G=(T,U)。 T為結點的集合,每個結點表示正運行的事務;U為邊的集合,每條邊表示事務等待的情況。若T1等待T2 ,則T1、T2之間劃一條有向邊,從T1指向T2。事務等待圖動態(tài)地反映了所有事務的等待情況。并發(fā)控制子系統(tǒng)周期性地(比如每隔1分鐘)檢測事務等待圖,如果發(fā)現(xiàn)圖中存在回路,則表示系統(tǒng)中出現(xiàn)了死鎖。
DBMS的并發(fā)控制子系統(tǒng)一旦檢測到系統(tǒng)中存在死鎖,就要設法解除。通常采用的方法是選擇一個處理死鎖代價最小的事務,將其撤消,釋放此事務持有的所有的鎖,使其它事務得以繼續(xù)運行下去。當然,對撤消的事務所執(zhí)行的數(shù)據(jù)修改操作必須加以恢復。
如果一個事務運行過程中沒有其他事務同時運行,也就是說它沒有受到其他事務的干擾,那么就可以認為該事務的運行結果是正常的或者預想的。因此將所有事務串行起來的調(diào)度策略一定是正確的調(diào)度策略。雖然以不同的順序串行執(zhí)行事務可能會產(chǎn)生不同的結果,但由于不會將數(shù)據(jù)庫置于不一致狀態(tài),所以都是正確的。
定義:多個事務的并發(fā)執(zhí)行是正確的,當且僅當其結果與按某一次序串行地執(zhí)行它們時的結果相同。我們稱這種調(diào)度策略為可串行化(Serializable)的調(diào)度。
另外,在封鎖技術方面,SQL提供事務的四種一致性級別,從高到低分別是:
uu serializable(可串行化) uu repeatable read(可重復讀)
uu read committed(讀提交數(shù)據(jù)) uu read uncommitted(可讀未提交數(shù)據(jù))
數(shù)據(jù)庫安全:
數(shù)據(jù)庫的安全性是指保護數(shù)據(jù)庫以防止不合法的使用所造成的數(shù)據(jù)泄露、更改或破壞。
為降低進而消除對系統(tǒng)的安全攻擊,尤其是彌補原有系統(tǒng)在安全保護方面的缺陷,在計算機安全技術方面逐步建立了一套可信標準。在目前各國所引用或制定的一系列安全標準中,最重要的當推1985年美國國防部(DoD)正式頒布的《DoD可信計算機系統(tǒng)評估標準》(Trusted Computer System Evaluation Criteria,簡記為TCSEC)[1]或DoD85)。
制定這個標準的目的主要有:
⑴提供一種標準,使用戶可以對其計算機系統(tǒng)內(nèi)敏感信息安全操作的可信程度做出評估。
�、平o計算機行業(yè)的制造商提供一種可循的指導規(guī)則,使其產(chǎn)品能夠更好的滿足敏感應用的安全需求。
TCSEC又稱桔皮書,1991年4月美國NCSC(國家計算機安全中心)頒布了《可信計算機系統(tǒng)評估標準關于可信數(shù)據(jù)庫系統(tǒng)的解釋》( Trusted Database Interpretation 簡記為TDI,即紫皮書)。將TCSEC擴展到數(shù)據(jù)庫管理系統(tǒng)。TDI中定義了數(shù)據(jù)庫管理系統(tǒng)的設計與實現(xiàn)中需滿足和用以進行安全性級別評估的標準。
在TCSEC中建立的安全級別之間具有一種偏序向下兼容的關系,即較高安全性級別提供的安全保護要包含較低級別的所有保護要求,同時提供更多或更完善的保護能力。
下面,我們簡略地對各個等級作一介紹。
D級: D級是最低級別。保留D級的目的是為了將一切不符合更高標準的系統(tǒng),統(tǒng)統(tǒng)歸于D組。如DOS就是操作系統(tǒng)中安全標準為D的典型例子。它具有操作系統(tǒng)的基本功能,如文件系統(tǒng),進程調(diào)度等等,但在安全性方面幾乎沒有什么專門的機制來保障。
C1級:只提供了非常初級的自主安全保護。能夠?qū)崿F(xiàn)對用戶和數(shù)據(jù)的分離,進行自主存取控制(DAC),保護或限制用戶權限的傳播�,F(xiàn)有的商業(yè)系統(tǒng)往往稍作改進即可滿足要求。
C2級:實際是安全產(chǎn)品的最低檔次,提供受控的存取保護,即將C1級的DAC進一步細化,以個人身份注冊負責,并實施審計和資源隔離。很多商業(yè)產(chǎn)品已得到該級別的認證。達到C2級的產(chǎn)品在其名稱中往往不突出“安全”(Security)這一特色,如操作系統(tǒng)中Microsoft的Windows NT 3.5,數(shù)字設備公司的Open VMS VAX 6.0和6.1。數(shù)據(jù)庫產(chǎn)品有Oracle公司的Oracle 7,Sybase公司的 SQL Server 11.0.6 等。
B1級:標記安全保護。對系統(tǒng)的數(shù)據(jù)加以標記,并對標記的主體和客體實施強制存取控制(MAC)以及審計等安全機制。B1級能夠較好地滿足大型企業(yè)或一般政府部門對于數(shù)據(jù)的安全需求,這一級別的產(chǎn)品才認為是真正意義上的安全產(chǎn)品。滿足此級別的產(chǎn)品前一般多冠以“安全”(Security)或“可信的”(Trusted)字樣,作為區(qū)別于普通產(chǎn)品的安全產(chǎn)品出售。例如,操作系統(tǒng)方面,典型的有數(shù)字設備公司的SEVMS VAX Version 6.0,惠普公司的HP-UX BLS release 9.0.9+ 。數(shù)據(jù)庫方面則有Oracle公司的Trusted Oracle 7,Sybase公司的Secure SQL Server version 11.0.6,Informix公司的Incorporated INFORMIX-OnLine / Secure 5.0等。
B2級:結構化保護。建立形式化的安全策略模型并對系統(tǒng)內(nèi)的所有主體和客體實施DAC和MAC。
從互連網(wǎng)上的最新資料看,經(jīng)過認證的、B2級以上的安全系統(tǒng)非常稀少。例如,符合B2標準的操作系統(tǒng)只有Trusted Information Systems公司的Trusted XENIX一種產(chǎn)品,符合B2標準的網(wǎng)絡產(chǎn)品只有Cryptek Secure Communications公司的LLC VSLAN一種產(chǎn)品,而數(shù)據(jù)庫方面則沒有符合B2標準的產(chǎn)品。
B3級:安全域。該級的TCB必須滿足訪問監(jiān)控器的要求,審計跟蹤能力更強,并提供系統(tǒng)恢復過程。
A1級:驗證設計,即提供B3級保護的同時給出系統(tǒng)的形式化設計說明和驗證以確信各安全保護真正實現(xiàn)。
B2以上的系統(tǒng)標準更多地還處于理論研究階段,產(chǎn)品化以至商品化的程度都不高,其應用也多限于一些特殊的部門如軍隊等。但美國正在大力發(fā)展安全產(chǎn)品,試圖將目前僅限于少數(shù)領域應用的B2安全級別或更高安全級別下放到商業(yè)應用中來,并逐步成為新的商業(yè)標準。
可以看出,支持自主存取控制的DBMS大致屬于C級,而支持強制存取控制的DBMS則可以達到B1級。當然,存取控制僅是安全性標準的一個重要方面(即安全策略方面)不是全部。為了使DBMS達到一定的安全級別,還需要在其它三個方面提供相應的支持。例如審計功能就是DBMS達到C2以上安全級別必不可少的一項指標。
相關推薦:推薦:2010年計算機軟件水平考試必備完美攻略北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |