《網(wǎng)絡(luò)安全技術(shù)》第六章_第1頁
《網(wǎng)絡(luò)安全技術(shù)》第六章_第2頁
《網(wǎng)絡(luò)安全技術(shù)》第六章_第3頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第6章 數(shù)據(jù)庫的安全、備份和災(zāi)難恢復(fù)6.1數(shù)據(jù)庫安全的威脅阿里巴巴羞愧難言2001年2月28日,阿里巴巴網(wǎng)站上發(fā)布了一封向網(wǎng)友深致歉書,到底出了什么事 情呢?你自己看吧!各位“以商會(huì)友”網(wǎng)友:我們真的很難開口請(qǐng)求您的原諒!我們竟然把我們最寶貴最精心保護(hù)的網(wǎng)友資料丟失,而且?guī)缀跏怯肋h(yuǎn)的失去!我們知道此時(shí)任何的解釋都是蒼白的,任何的承諾都無法挽回曾經(jīng) 激動(dòng)過我們并應(yīng)該永遠(yuǎn)成為我們最美好記憶的那些語言,那些網(wǎng)友們半夜挑燈敲寫的真知灼 見,那些網(wǎng)友們積年累月思考形成的長篇宏論,那些網(wǎng)友們素昧平生卻在網(wǎng)上一見如故的精 彩對(duì)白!我們真的很痛很痛!痛得我們想找岀世界上最好的后悔藥,讓時(shí)光機(jī)器倒轉(zhuǎn)!我們知道您

2、比我們更痛,因?yàn)槟翢o保留地給予我們真誠的信任,我們本應(yīng)做得更好,而我們卻沒有做到!不僅沒有做到更好,反而犯下一個(gè)永遠(yuǎn)沒有機(jī)會(huì)改正的錯(cuò)誤:2月26日,阿里巴巴按照計(jì)劃進(jìn)行服務(wù)器擴(kuò)容,以滿足網(wǎng)站日益增長的瀏覽量。當(dāng)所有的工作就緒,我 們重新啟動(dòng)時(shí),發(fā)現(xiàn)有一臺(tái)服務(wù)器無法正常工作,正是“以商會(huì)友”的服務(wù)器,更糟的是, 今年兩個(gè)月以來網(wǎng)友們所有帖子的備份也在這臺(tái)服務(wù)器上。我們的技術(shù)人員一直在努力,但 由于損壞是物理性的,修復(fù)的希望非常渺茫。我們只有以實(shí)際行動(dòng)來重獲您的信任,我們所有的員工正在全面檢討所有的工作流程,以切實(shí)保證我們給各位網(wǎng)友提供服務(wù)的可靠性和安全性,杜絕此類錯(cuò)誤的再度發(fā)生。痛定思痛,我

3、們知道我們能給網(wǎng)友的最好回答是:我們將共同創(chuàng)造岀一個(gè)更加豐富更加 精彩的“以商會(huì)友”!我們懇請(qǐng)各位尊敬的網(wǎng)友,尤其是此次蒙受巨大損失的網(wǎng)友,請(qǐng)您再給我們一次機(jī)會(huì),參與我們的重建。作為補(bǔ)救措施之一,如果您還有曾經(jīng)發(fā)表在“以商會(huì)友”論壇里的存檔文章,請(qǐng)您提供給我們。鳳凰涅槃,火中重生!讓我們共同期待“以商會(huì)友”的再度輝煌!全體阿里巴巴人2001年2月28日看來真是慘痛得很!原因是系統(tǒng)升級(jí)時(shí)沒有預(yù)先做好數(shù)據(jù)庫的備份,以至于復(fù)巢之下無完卵,數(shù)據(jù)全部完了蛋。不過如果本書能夠早幾個(gè)月出版,阿里巴巴的弟兄們能夠認(rèn)真地讀一讀這一章,他們?cè)臼强梢员苊膺@場災(zāi)禍的。希望本書的讀者能夠汲取這個(gè)教訓(xùn),能夠在這一章里找

4、到幫助你消災(zāi)免禍的金石良言。數(shù)據(jù)庫安全的威脅來自何方 ?數(shù)據(jù)庫的安全的威脅主要來自以下幾個(gè)方面: 物理和環(huán)境的因素,如物理設(shè)備的損壞,包括硬盤劃傷、設(shè)備的機(jī)械和電氣故障、電源短路或過載或其他原因引起的火災(zāi)、暖氣漏水房頂漏雨等引起的水患,以及盜竊和遺失磁盤磁帶等。 黑客攻擊、病毒發(fā)作造成的數(shù)據(jù)秘密的泄露和數(shù)據(jù)完整性的破壞。 社會(huì)關(guān)系因素,包括金錢美女、威逼脅迫、宗教民族、商業(yè)傾軋等造成內(nèi)部人員的腐 敗和權(quán)力失控。 網(wǎng)絡(luò)以及數(shù)據(jù)庫的安全級(jí)別不能滿足應(yīng)用的要求。 網(wǎng)絡(luò)和數(shù)據(jù)庫的設(shè)置錯(cuò)誤和管理混亂造成越權(quán)訪問和越權(quán)使用數(shù)據(jù)。數(shù)據(jù)庫的安全是網(wǎng)絡(luò)安全的核心。有關(guān)物理和環(huán)境、網(wǎng)絡(luò)平臺(tái)漏洞、病毒黑客和防火墻,

5、 以及有關(guān)法律法規(guī),本書都各自辟有專章討論, 故不多贅言。本章將集中討論數(shù)據(jù)庫的安全 性能和加密、數(shù)據(jù)庫的備份和數(shù)據(jù)庫的恢復(fù)等問題。6.2數(shù)據(jù)庫的介紹網(wǎng)絡(luò)數(shù)據(jù)庫的要求網(wǎng)絡(luò)環(huán)境對(duì)數(shù)據(jù)庫提出了新的要求,主要有以下幾個(gè)方面:1 與服務(wù)器軟件的集成網(wǎng)絡(luò)數(shù)據(jù)庫通過各種服務(wù)器如 WWW等為用戶提供各種服務(wù)。因此,數(shù)據(jù)庫與服務(wù)器 的良好的集成,將有利于應(yīng)用軟件的開發(fā),提高應(yīng)用軟件的性能并減少可能出現(xiàn)的沖突和漏 洞。2. 性能在網(wǎng)絡(luò)環(huán)境下,數(shù)據(jù)庫的訪問變得更加頻繁,而且多媒體技術(shù)的廣泛應(yīng)用,也極大地增 加了數(shù)據(jù)庫的負(fù)擔(dān),因此,要求數(shù)據(jù)庫具有良好的吞吐能力,能夠更加便捷地提供服務(wù)。3. 安全性數(shù)據(jù)庫的安全是網(wǎng)絡(luò)

6、安全的核心。因此,對(duì)于一定的應(yīng)用來說,要求網(wǎng)絡(luò)設(shè)計(jì)具有一定的安全等級(jí),那么數(shù)據(jù)庫也必須有相應(yīng)的安全等級(jí)。4. 穩(wěn)定性數(shù)據(jù)庫的運(yùn)行必須平穩(wěn)。尤其對(duì)于網(wǎng)絡(luò)中集中突發(fā)性的大訪問量,不能出現(xiàn)死鎖、崩潰等現(xiàn)象。5容錯(cuò)性對(duì)于用戶操作和應(yīng)用程序所帶來的種種意料不到的錯(cuò)誤,數(shù)據(jù)庫必具有容錯(cuò)的功能。當(dāng)出錯(cuò)時(shí),能夠給用戶返回適當(dāng)?shù)恼f明信息,不能因此而死鎖或崩潰。6. 擴(kuò)展性數(shù)據(jù)庫應(yīng)當(dāng)具有良好的擴(kuò)展性,以適應(yīng)用戶對(duì)數(shù)據(jù)庫的容量的增長、功能的加強(qiáng)、數(shù)據(jù)的綜合利用等方面的要求。7備份數(shù)據(jù)庫應(yīng)當(dāng)能夠可靠地、方便地備份,以保證系統(tǒng)的連續(xù)可靠地運(yùn)行。而一旦出現(xiàn)災(zāi)難 性的數(shù)據(jù)故障時(shí),能夠有希望從災(zāi)難中恢復(fù)。網(wǎng)絡(luò)數(shù)據(jù)庫的主要產(chǎn)品

7、1. MS SQLServerMS SQLServer是微軟公司的數(shù)據(jù)庫產(chǎn)品,屬于中型數(shù)據(jù)庫。由于MS SQLServer工作在Windows NT平臺(tái),易學(xué)易用,而性能又接近于 UNIX平臺(tái)的產(chǎn)品,因此深受中小型企業(yè) 的歡迎,逐漸占領(lǐng)了中小型企業(yè)數(shù)據(jù)庫的較大的市場分額。MS SQLServer具有以下優(yōu)點(diǎn): 價(jià)格低廉;數(shù)據(jù)處理速度快,性能已有很大改善;集成好,能與Web服務(wù)器、與微軟Intranet套裝軟件 Back Office以及其他數(shù)據(jù)庫如 IBM DB2 , Oracle等配合工作;具有 良好的安全性能(C2級(jí));擴(kuò)展性好。2. Sybase SQL Server IISybase

8、SQL Server II是一種關(guān)系型數(shù)據(jù)庫管理系統(tǒng)RDBMS,能支持很大的內(nèi)存,可處理很大的數(shù)據(jù)量,支持并行備份機(jī)制,備份簡單方便,支持多線程、多CPU,工作性能穩(wěn)3. Oracle Universal ServerOracle Universal Server是大型數(shù)據(jù)庫中的王牌。它有以下優(yōu)點(diǎn):支持多媒體。OracleUniversal Server支持多種數(shù)據(jù)類型,如文本、圖形、圖象、聲音、動(dòng)畫、視頻等;支持多 種平臺(tái)。幾乎所有常見的平臺(tái),都能夠得到Oracle Universal Server的支持。如:MicrosoftWin dows NT , SUN Solaris for SP

9、ARC ,SUN Solaris X86 for In ter , DEC Digital , HP, IBM AIX ,In ter UNIX , SGI, IBM OS/2 Warp Server。4. Informix Universal ServerInformix Universal Server是一種對(duì)象關(guān)系數(shù)據(jù)管理系統(tǒng)ORDBMS,其主要特點(diǎn)是:支持多媒體;支持動(dòng)態(tài)擴(kuò)展結(jié)構(gòu)DSA,在硬件容量允許的條件下,能夠無限擴(kuò)展數(shù)據(jù)庫;具有良好的安全性和穩(wěn)定性;支持幾乎所有流行的網(wǎng)絡(luò)協(xié)議;提供與Web服務(wù)器的完整集成。5. IBM DB2 Com mon ServerIBM DB2 Comm

10、on Server也屬于對(duì)象關(guān)系數(shù)據(jù)管理系統(tǒng)ORDBMS,在金融行業(yè)中占有相當(dāng)大的份額。它的主要特點(diǎn)是:支持多種平臺(tái),女口AIX , HP-UX , SCO Open Server,SUN Solaris , OS/2 , Windows NT等;支持多媒體信息;支持單CPU結(jié)構(gòu),SMP結(jié)構(gòu),MPP結(jié)構(gòu);具有良好的安全性和穩(wěn)定性。網(wǎng)絡(luò)數(shù)據(jù)庫的訪問方式1. ODBCODBC (Open DataBase Connection)是微軟公司推出的一種通用數(shù)據(jù)庫接口標(biāo)準(zhǔn),目前已經(jīng)被大多數(shù)數(shù)據(jù)庫廠商所接受。該標(biāo)準(zhǔn)適用于各種數(shù)據(jù)庫,如Oracle, Sybace, Infermix ,SQL Server

11、, Visual FoxPro , Access 等。2. 數(shù)據(jù)庫WEB工具數(shù)據(jù)庫廠商大多為其數(shù)據(jù)庫提供了支持Web的數(shù)據(jù)庫開發(fā)工具。小型數(shù)據(jù)庫開發(fā)工具如 Intetnet Assistant for Access,大型數(shù)據(jù)庫工具如 Web Assistant for SQL Server , Informix 的 WWW Server 等。3. 數(shù)據(jù)庫開發(fā)工具用戶可使用各種數(shù)據(jù)庫開發(fā)工具來開發(fā)所需的數(shù)據(jù)庫應(yīng)用程序。常用的工具有微軟公司的 Visual Basic , Borland 公司的 Delph , Power 公司的 PowerBuilder。4. 報(bào)表生成工具使用報(bào)表生成工具(Re

12、port Writer)和相應(yīng)的接口程序,用戶可將數(shù)據(jù)庫中的數(shù)據(jù)按一 定的邏輯關(guān)系取出來,并轉(zhuǎn)換成Web文檔供瀏覽。5. 數(shù)據(jù)庫接口工具數(shù)據(jù)庫接口工具有: CGI,這是比較古老的方法,缺點(diǎn)是用戶的每次請(qǐng)求都要在服務(wù)器上生成進(jìn)程,造成了系統(tǒng)的沉重的負(fù)擔(dān),因此速度較慢,同時(shí)還存在一些安全問題;微軟公司的ISAPI,能生成動(dòng)態(tài)聯(lián)接庫,效率較高; Netscape公司的NSAPI與之相似;SUN公司倡導(dǎo)的 JDBC API,支持Java功能。6 數(shù)據(jù)庫接口程序通常大型數(shù)據(jù)庫都提供有專門的接口程序。例如Oracle數(shù)據(jù)庫的接口程序?yàn)?SQLNET ,Informix的接口程序是I-NET等。這種接口程序

13、一般分為客戶端和服務(wù)器端兩個(gè)方面,所以用這種方法寫的軟件屬于客戶端 /服務(wù)器端結(jié)構(gòu)的,應(yīng)用起來不是很方便。7. Java 和 JDBCJava支持?jǐn)?shù)據(jù)庫聯(lián)接,通過標(biāo)準(zhǔn)的SQL接口程序JDBC能夠有效地訪問各種數(shù)據(jù)庫。用Java和JDBC可以寫瀏覽器/服務(wù)器/數(shù)據(jù)庫三層結(jié)構(gòu)的應(yīng)用程序,這是當(dāng)前比較流行的一種程序結(jié)構(gòu)。Java對(duì)數(shù)據(jù)庫的訪問非常靈活,功能很強(qiáng),所以對(duì)于委托生產(chǎn)的Java數(shù)據(jù)庫應(yīng)用軟件,應(yīng)當(dāng)經(jīng)過嚴(yán)格的安全測試,避免其中的隱患和貓膩。6.3數(shù)據(jù)庫的安全性能和數(shù)據(jù)加密數(shù)據(jù)庫的安全性能數(shù)據(jù)庫系統(tǒng)是由數(shù)據(jù)庫和數(shù)據(jù)庫管理系統(tǒng)(DBMS )兩部分所組成。數(shù)據(jù)庫是按照一定方式組織的數(shù)據(jù)的集合。數(shù)據(jù)

14、庫管理系統(tǒng)是為用戶及應(yīng)用程序提供數(shù)據(jù)訪問,并具有對(duì)數(shù)據(jù)庫進(jìn)行管理、維護(hù)等多種功能的程序。保證數(shù)據(jù)庫的安全在軟件上主要是充分利用數(shù)據(jù)庫管 理系統(tǒng)提供的功能,其安全措施在很多方面都類似于安全操作系統(tǒng)中所采取的措施。數(shù)據(jù)庫安全主要有兩層涵義:第一層是指系統(tǒng)運(yùn)行安全,它包括法律、政策的保護(hù),如用戶是否有合法權(quán)利,政策是否允許等;物理控制安全,如機(jī)房的防盜門窗等;硬件運(yùn)行安全;操作系統(tǒng)安全,如數(shù)據(jù)文件是否保護(hù)等;災(zāi)害、故障恢復(fù);死鎖的避免和解除;電磁信 息的泄漏防止等。第二層是指系統(tǒng)信息安全,它包括用戶口令字鑒別;用戶存取權(quán)限控制; 數(shù)據(jù)存取權(quán)限、方式控制;審計(jì)跟蹤;數(shù)據(jù)加密等。數(shù)據(jù)庫信息安全依賴于兩個(gè)

15、層次:第一層是數(shù)據(jù)庫管理系統(tǒng)本身提供的用戶名/ 口令字識(shí)別、視圖、使用權(quán)限控制、審計(jì)等等管理措施,大型數(shù)據(jù)庫管理系統(tǒng)如Oracle, Sybace,Ingress等都有這些功能。第二層則是應(yīng)用程序設(shè)置的控制管理,由用戶自己規(guī)定哪些操作 允許,哪些操作不允許,這樣做比較直觀,但是如果缺乏深入的研究難免會(huì)掛十漏一。大型數(shù)據(jù)庫所提供的管理手段有以下幾種: 用戶分類用戶的工作部門不同, 工作需要不同,職位高低不同,要分為不同的類型, 分別被授予 不同的數(shù)據(jù)庫訪問權(quán)限。一般將權(quán)限分為三類,即第一類人有數(shù)據(jù)庫登錄的權(quán)限, 第二類人 進(jìn)一步有數(shù)據(jù)庫資源管理的權(quán)限,第三類人具有最高權(quán)限可以管理數(shù)據(jù)庫。第一類人

16、有了數(shù)據(jù)庫登錄的權(quán)限,他才能進(jìn)入數(shù)據(jù)庫管理系統(tǒng),才能使用數(shù)據(jù)庫管理系統(tǒng)提供的各種工具和應(yīng)用程序。同時(shí),數(shù)據(jù)資源的所有者可以給這類用戶授予數(shù)據(jù)查詢、建立視圖等權(quán)限。這類用戶能夠查閱部分?jǐn)?shù)據(jù)庫的信息,但是他無權(quán)改動(dòng)數(shù)據(jù)庫里的任何數(shù)據(jù)。第二類人有了數(shù)據(jù)庫資源管理的權(quán)限,他就可以進(jìn)一步創(chuàng)建數(shù)據(jù)庫的表、數(shù)據(jù)庫的索引等數(shù)據(jù)庫客體,可以在權(quán)限允許的范圍內(nèi)查詢和修改數(shù)據(jù)庫,還能把自己所擁有的數(shù)據(jù)資源對(duì)其他人授權(quán),還可以申請(qǐng)審計(jì)。第三類人是數(shù)據(jù)庫管理員,他擁有最高的權(quán)限,包括訪問任何用戶的任何數(shù)據(jù),授予和回收用戶的各種權(quán)限,創(chuàng)建各種數(shù)據(jù)庫客體,完成數(shù)據(jù)庫的整庫的備份、裝入重組以及進(jìn)行 全系統(tǒng)的審計(jì)等工作。這類用

17、戶的工作是謹(jǐn)慎的帶全局性的工作,只有極少數(shù)用戶屬于這種類型。對(duì)于這類用戶,制度上的權(quán)力控制和分散機(jī)制是必須的,否則會(huì)埋下隱患。 數(shù)據(jù)分類同一類權(quán)限的用戶,他們對(duì)數(shù)據(jù)庫中的數(shù)據(jù)的管理和使用的范圍是不同的。為此,DBMS提供了數(shù)據(jù)分類的功能,即建立視圖。管理員把某用戶可查詢的數(shù)據(jù)在邏輯上歸并起來,簡稱一個(gè)或多個(gè)視圖, 并賦予名稱,再把視圖的查詢權(quán)限授予該用戶或一組用戶。 這種數(shù)據(jù)分 類可以做得很細(xì),其最精細(xì)的粒度是數(shù)據(jù)庫中的二維表中的一個(gè)交叉元素。 審計(jì)功能大型DBMS提供的審計(jì)功能是一個(gè)十分重要的安全措施,它用來監(jiān)視和記錄用戶對(duì)數(shù)據(jù)庫的各種操作。有兩種方式的審計(jì),即用戶審計(jì)和系統(tǒng)審計(jì)。用戶審計(jì)時(shí)

18、,DBMS審計(jì)系統(tǒng)記錄下所有對(duì)用戶自己的表或視圖所進(jìn)行訪問的企圖,包括成功的和不成功的訪問,以及每次操作的用戶名、時(shí)間、操作代碼等信息。這些信息一般都被記錄在數(shù)據(jù)字典(或稱系統(tǒng)表)中,利用這些信息用戶可以進(jìn)行審計(jì)分析。系統(tǒng)審計(jì)是由系統(tǒng)管理員或系統(tǒng)審計(jì)員進(jìn)行,其審計(jì)內(nèi)容主要時(shí)系統(tǒng)一級(jí)命令以及數(shù)據(jù)庫客體的使用情況。632數(shù)據(jù)庫安全性能的一個(gè)實(shí)例下面我們通過一個(gè)實(shí)例 DM3來說明如何實(shí)現(xiàn)數(shù)據(jù)庫的安全性能1. DM3的安全體系結(jié)構(gòu)可信數(shù)據(jù)庫管理系統(tǒng)的體系結(jié)構(gòu)分為兩類:第一類是TCB子集DBMS結(jié)構(gòu),用DBMS以外的可信計(jì)算基(TCB)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫對(duì)象的強(qiáng)制訪問控制,此時(shí)多級(jí)關(guān)系被分解成單級(jí)或 系統(tǒng)級(jí)片

19、斷,多級(jí)安全 DBMS將這些片斷存在物理上分離的單級(jí)對(duì)象(如文件、段或物理 上分離的硬件設(shè)備)中,再對(duì)這些分離的單級(jí)或系統(tǒng)級(jí)對(duì)象的訪問實(shí)行強(qiáng)制訪問控制。第二類是可信主體DBMS,由DBMS本身實(shí)現(xiàn)強(qiáng)制訪問控制的一些或全部責(zé)任。DM3采用可信主體DBMS體系結(jié)構(gòu),由數(shù)據(jù)庫管理系統(tǒng)實(shí)現(xiàn)強(qiáng)制訪問控制的功能,它要求操作系統(tǒng)能提供控制,防止繞過DBMS直接對(duì)數(shù)據(jù)庫的訪問,將概念上的多級(jí)數(shù)據(jù)庫存于一個(gè)或多個(gè)操作系統(tǒng)對(duì)象(如文件)中。由多級(jí)安全DBMS給每個(gè)數(shù)據(jù)庫對(duì)象進(jìn)行標(biāo)記,這些數(shù)據(jù)庫對(duì)象對(duì)操作系統(tǒng)是不可見的,操作系統(tǒng)不能直接對(duì)數(shù)據(jù)庫對(duì)象進(jìn)行訪問,多級(jí)安全DBMS有跨操作系統(tǒng)安全級(jí)范圍操作的特權(quán)。2. 三

20、權(quán)分立的安全機(jī)制DM3在安全管理體制方面與其他數(shù)據(jù)庫管理系統(tǒng)不同。絕大多數(shù)數(shù)據(jù)庫管理系統(tǒng)采用 的是由數(shù)據(jù)庫管理員DBA負(fù)責(zé)系統(tǒng)的全部管理工作(包括安全管理)。顯然,這種管理機(jī)制使得DBA的權(quán)力過于集中,存在安全隱患。DM3在安全管理方面采用了三權(quán)分立的安全管 理體制,把系統(tǒng)管理員分為數(shù)據(jù)庫管理員DBA,數(shù)據(jù)庫安全管理員SSO,數(shù)據(jù)庫審計(jì)員Auditor三類。DBA負(fù)責(zé)自主存取控制及系統(tǒng)維護(hù)與管理方面的工作,SSO負(fù)責(zé)強(qiáng)制存取控制,Auditor負(fù)責(zé)系統(tǒng)的審計(jì)。這種管理體制真正做到三權(quán)分立,各行其責(zé),相互制約,可 靠地保證了數(shù)據(jù)庫的安全性。3. 自主訪問與強(qiáng)制訪問控制自主訪問控制就是對(duì)主體 (用

21、戶)訪問客體(數(shù)據(jù)庫對(duì)象)的操作權(quán)限實(shí)施控制,目的就是 要保證用戶只能存取他有權(quán)存取的數(shù)據(jù),當(dāng)用戶擁有數(shù)據(jù)庫對(duì)象上的某些操作權(quán)限及相應(yīng)的轉(zhuǎn)授權(quán)時(shí),可以自由地把這些操作權(quán)限部分或全部轉(zhuǎn)授給其他用戶,從而使得其他用戶也獲得在這些數(shù)據(jù)庫對(duì)象上的使用權(quán)限。DM3系統(tǒng)根據(jù)用戶的權(quán)限執(zhí)行自主訪問控制。規(guī)定用戶權(quán)限要考慮三個(gè)因素:用戶、數(shù)據(jù)對(duì)象和操作。所有的用戶權(quán)限都要記錄在系統(tǒng)表(數(shù)據(jù)字典)中,對(duì)用戶存取權(quán)限的定義稱為授權(quán),當(dāng)用戶提出操作請(qǐng)求時(shí),DM3根據(jù)授權(quán)情況進(jìn)行檢查,以決定是執(zhí)行操作還是拒絕執(zhí)行,從而保證用戶能夠存取他有權(quán)存取的數(shù)據(jù)。所謂強(qiáng)制訪問控制是通過給主體 (用戶)和客體(數(shù)據(jù)對(duì)象)指定安全級(jí)

22、,并根據(jù)安全級(jí)匹 配規(guī)則來確定某主體是否被準(zhǔn)許訪問某客體。DM3系統(tǒng)根據(jù)用戶的操作請(qǐng)求、安全級(jí)和客體的安全級(jí)執(zhí)行強(qiáng)制訪問控制,保證用戶只能訪問與其安全級(jí)相匹配的數(shù)據(jù)。強(qiáng)制訪問控制必須事先定義主體和客體的安全級(jí),所有主體和客體的安全級(jí)都要記錄在系統(tǒng)中。當(dāng)用戶提出操作請(qǐng)求時(shí),DM3首先檢查用戶對(duì)所操作的數(shù)據(jù)對(duì)象是否具有相應(yīng)的操作權(quán)限,然后檢 查該用戶的操作請(qǐng)求及安全級(jí)與所操作的數(shù)據(jù)對(duì)象的安全級(jí)是否匹配,當(dāng)兩個(gè)條件都滿足 時(shí),DM3才執(zhí)行用戶的操作請(qǐng)求,否則拒絕執(zhí)行。4隱通道分析技術(shù)盡管自主和強(qiáng)制訪問控制限制了系統(tǒng)中的信息只能由低安全級(jí)主體向高安全級(jí)主體流動(dòng),低安全級(jí)主體仍然可以通過其他方式向高安全

23、級(jí)主體發(fā)送信息,隱通道就是其中的一種。隱通道是系統(tǒng)的一個(gè)用戶以違反系統(tǒng)安全策略的方式傳送信息給另一用戶的機(jī)制。它往往通過系統(tǒng)原本不用于數(shù)據(jù)傳送的系統(tǒng)資源來傳送信息,并且這種通信方式往往不被系統(tǒng)的訪問控制機(jī)制所檢測和控制。隱通道包括存儲(chǔ)隱通道與定時(shí)隱通道。隱通道的發(fā)送者和接收者之間事先約定好某種編碼方式,并使用系統(tǒng)正常操作。如果隱通道的發(fā)送者直接或間接地修改資源屬性,另一主體(接收者)直接或間接地讀取這個(gè)屬性的變化時(shí),這個(gè)隱通道就是存儲(chǔ)隱通道。如果一個(gè)隱通道是一個(gè)主體,通過調(diào)整系統(tǒng)資源(如CPU)的使用時(shí)間影響了另 一個(gè)主體實(shí)際的響應(yīng)時(shí)間,從而發(fā)送信息給另一主體時(shí),這個(gè)隱通道是定時(shí)隱通道。盡管高

24、安全級(jí)的用戶有可能利用隱通道傳送信息給低安全級(jí)的用戶,但隱通道的主要潛在威脅是它有可能被特洛伊木馬所利用。根據(jù)美國可信計(jì)算機(jī)系統(tǒng)評(píng)估標(biāo)準(zhǔn)(即 TCSEC)的要求,對(duì) B2安全級(jí)及以上的 系統(tǒng)必須進(jìn)行隱通道分析,并估算隱通道的帶寬,根據(jù)帶寬決定對(duì)隱通道的處理(容忍存在、 消除或?qū)徲?jì))。根據(jù)這一要求,我們對(duì) DM3進(jìn)行了隱通道分析,并設(shè)計(jì)出輔助識(shí)別工具, 目前DM3中的存儲(chǔ)隱通道包括客體屬性通道、客體存在通道和共享資源通道(如資源耗盡 通道)等。對(duì)一些定時(shí)隱通道,如利用并發(fā)控制上鎖機(jī)制(在Oracle等其他數(shù)據(jù)庫管理系統(tǒng)中也存在)的隱通道,采取了消除措施。數(shù)據(jù)庫的數(shù)據(jù)加密1.數(shù)據(jù)庫的數(shù)據(jù)加密的特點(diǎn)

25、對(duì)于一般的應(yīng)用來說,上述的數(shù)據(jù)庫所提供的安全性能是能夠滿足要求的。但是對(duì)于一些重要部門或敏感領(lǐng)域的應(yīng)用, 僅靠上述的措施似乎還難以保證數(shù)據(jù)的安全。 某些用戶尤其 是一些內(nèi)部用戶可能越權(quán)訪問數(shù)據(jù)庫, 甚至竊取或篡改某些信息, 因此,也有人希望對(duì)數(shù)據(jù) 庫中存儲(chǔ)的某些重要數(shù)據(jù)進(jìn)行加密處理,以保證數(shù)據(jù)的安全。數(shù)據(jù)加密,是將明文數(shù)據(jù)經(jīng)過一定的變換,變成密文數(shù)據(jù)。數(shù)據(jù)的解密則是加密的逆過程,重新把密文數(shù)據(jù)變成明文數(shù)據(jù)。加密和解密的變換方法叫做加密算法和解密算法,一般加密和解密采用同樣的算法。控制變換運(yùn)算的參數(shù)叫做密鑰。現(xiàn)代的加密解密的算法,一般都是公開的,而密鑰則有完全保密的所謂對(duì)稱系統(tǒng),還有把加密密鑰公

26、開而只保留解密密鑰的所謂公鑰系統(tǒng)。本書的第 7章對(duì)此有詳細(xì)的介紹。數(shù)據(jù)庫的數(shù)據(jù)加密一般是在通用的數(shù)據(jù)庫管理系統(tǒng)之上,增加一些加密解密的控件, 來完成對(duì)數(shù)據(jù)本身的控制。 與一般的通信中的加密的情況不同,數(shù)據(jù)庫的數(shù)據(jù)加密通常不是對(duì)數(shù)據(jù)文件加密,而是對(duì)記錄的字段加密。 當(dāng)然,在數(shù)據(jù)庫備份到離線的介質(zhì)上送到異地保存 時(shí),是有必要對(duì)整個(gè)數(shù)據(jù)文件加密的。數(shù)據(jù)庫的數(shù)據(jù)加密可以用對(duì)稱系統(tǒng)也可以用公鑰系統(tǒng),但是公鑰系統(tǒng)一般速度比較慢。好在需要特殊加密的數(shù)據(jù)量不可能很大,所以速度不是什么重要問題。只有持有解密密鑰的人才能夠解讀數(shù)據(jù)。如果有幾個(gè)人擁有相同的密鑰,那么他們只能對(duì)數(shù)據(jù)共同負(fù)責(zé)。如果有必要建立幾個(gè)人的互相

27、制約機(jī)制,那么可以用幾個(gè)人不同的密鑰對(duì)數(shù)據(jù)進(jìn)行多重加密;解讀時(shí)只有幾個(gè)人同時(shí)在場多重解密才有可能。2 數(shù)據(jù)庫的數(shù)據(jù)加密的范圍數(shù)據(jù)經(jīng)過加密之后,將掩蓋了數(shù)據(jù)與數(shù)據(jù)之間在內(nèi)容上的相互關(guān)系。比如說,你再不能比較它們的大小了, 因?yàn)榧用芎螅l也不知道它代表的數(shù)值有多大。因此,在當(dāng)前流行的關(guān)系型的數(shù)據(jù)庫中,對(duì)下列字段是不能加密的: 索引字段不能加密。 為了加快查詢的速度, 數(shù)據(jù)庫常常建立若干個(gè)索引。 但是索引必 須在明文下才能運(yùn)行,不能加密。 關(guān)系運(yùn)算的比較字段不能加密。加密將掩蓋它們之間的關(guān)系,所以必須保持明文。 表間的聯(lián)接字段不能加密。否則將失去聯(lián)接功能。上面所說的三個(gè)方面,乃是關(guān)系型數(shù)據(jù)庫的精髓所

28、在。它們都不能加密,能夠加密的都是無關(guān)緊要的地方,這無異于是一個(gè)諷刺。而且如果有人能夠非法越權(quán)訪問數(shù)據(jù)庫,那么從這些關(guān)鍵字段的明文, 是不難推斷被加密的字段的內(nèi)容的。一個(gè)企業(yè)或單位的領(lǐng)導(dǎo)者應(yīng)當(dāng)明白這個(gè)淺顯的道理,不要過分迷信數(shù)據(jù)庫數(shù)據(jù)字段的加密,而應(yīng)當(dāng)從整個(gè)系統(tǒng)周密考慮定下良策,否則你會(huì)在一種虛假的安全幻想中丟失你生命攸關(guān)的秘密。3數(shù)據(jù)庫的數(shù)據(jù)加密對(duì)數(shù)據(jù)庫功能的影響對(duì)數(shù)據(jù)庫里的數(shù)據(jù)字段的加密,會(huì)給數(shù)據(jù)庫的功能帶來許多不利的影響。目前DBMS的功能都比較完善,特別象Oracle, Sybase這些采用客戶端/服務(wù)器的結(jié)構(gòu)的數(shù)據(jù)庫管理系統(tǒng),擁有數(shù)據(jù)庫管理和開發(fā)的各種工具。然而,數(shù)據(jù)庫的數(shù)據(jù)加密以后

29、,DBMS的一些功能將無法使用。 無法實(shí)現(xiàn)對(duì)數(shù)據(jù)制約因素的定義。數(shù)據(jù)庫系統(tǒng)的規(guī)則定義了數(shù)據(jù)之間的制約因素。加密以后,將無法實(shí)現(xiàn)這種制約。值域的定義將失去意義。 而且,數(shù)據(jù)密文的類型和位數(shù)必須適應(yīng)原來明文字段的規(guī)定,否則無法接受。 密文數(shù)據(jù)無法進(jìn)行排序、分類、分組。 SQL語言中的內(nèi)部函數(shù)對(duì)加密數(shù)據(jù)失去作用。 DBMS的一些開發(fā)工具不能對(duì)加密數(shù)據(jù)使用。6.4數(shù)據(jù)庫的備份數(shù)據(jù)庫的備份是數(shù)據(jù)庫維護(hù)中最令人膩煩的工作了。年復(fù)一年、日復(fù)一日地寫了擦、擦了寫。往往一年365天,數(shù)據(jù)庫總是好好地,啥事也沒有。然而,也許就在第366天,在那個(gè)閏年不該閏到的日子,數(shù)據(jù)庫遭到了滅頂之災(zāi)。如果你在30公里以外的一個(gè)

30、石洞里,藏有一盤昨天備份的加密磁帶,你會(huì)為你往日的膩煩和偶然的偷懶捏一把汗,好在你昨天老老實(shí)實(shí)地備份了一盒磁帶!641數(shù)據(jù)庫的備份和系統(tǒng)的備份我們已經(jīng)強(qiáng)調(diào)了數(shù)據(jù)庫備份的重要性,但是數(shù)據(jù)庫的備份不是簡單地拷貝幾個(gè)數(shù)據(jù)文件的事情。對(duì)此不應(yīng)產(chǎn)生片面化的理解。把數(shù)據(jù)文件拷貝下來是很重要的,但是僅此要恢復(fù)系統(tǒng)還會(huì)有許多困難。在網(wǎng)絡(luò)環(huán)境中,如果系統(tǒng)和應(yīng)用程序遭到了破壞,那么再重新安裝并不容易:我們必須找出所有的安裝盤和原來的安裝記錄進(jìn)行安裝,然后重新設(shè)置各種參數(shù)、用戶信息、權(quán)限等等,這個(gè)過程可能要持續(xù)好幾天。因此,最有效的方法是對(duì)整個(gè)網(wǎng)絡(luò)系統(tǒng)進(jìn)行備份,不僅僅包含數(shù)據(jù),而且包含網(wǎng)絡(luò)中安裝的應(yīng)用程序、數(shù)據(jù)庫管

31、理系統(tǒng)、用戶設(shè)置、 系統(tǒng)參數(shù)、環(huán)境參數(shù)等。這樣,無論系統(tǒng)遇到多大的災(zāi)難,都能夠應(yīng)付自如。另外,備份不 等于單純的拷貝,因?yàn)橄到y(tǒng)的重要信息無法用拷貝的方法備份下來,而且管理也是備份的重要組成部分,沒有管理功能的備份,不能算是真正意義的備份。所以,備份往往要借助具有管理功能的專門的備份軟件進(jìn)行。642在線備份和離線備份數(shù)據(jù)庫的在線備份是把數(shù)據(jù)和環(huán)境信息傳送的計(jì)算機(jī)系統(tǒng)或網(wǎng)絡(luò)上的另一個(gè)非實(shí)時(shí)工 作的區(qū)域。這個(gè)區(qū)域平時(shí)不參與數(shù)據(jù)處理的工作,而一旦平時(shí)正常工作的設(shè)備發(fā)生故障,那么備份的系統(tǒng)馬上投入運(yùn)行,替代發(fā)生故障的設(shè)備,直到故障排除。在線備份適用于需要比 較快地恢復(fù)系統(tǒng)的場合。在線備份的一種具體做法是

32、在主機(jī)系統(tǒng)開辟一個(gè)非工作運(yùn)行空間, 專門存放備份的數(shù)據(jù), 稱做分區(qū)備份。在線備份的另一種做法是建立另一個(gè)子系統(tǒng),把主機(jī)系統(tǒng)的數(shù)據(jù)傳輸?shù)絺浞葑酉到y(tǒng)中。數(shù)據(jù)庫的離線備份是把數(shù)據(jù)和環(huán)境信息下載到安全的存儲(chǔ)媒介中,這種存儲(chǔ)媒介和當(dāng)前運(yùn)行的計(jì)算機(jī)系統(tǒng)和網(wǎng)絡(luò)沒有直接聯(lián)系。 在系統(tǒng)需要恢復(fù)時(shí)予以重新安裝。 存儲(chǔ)的數(shù)據(jù)還可 以留檔以備日后查詢。即使有了在線備份,離線備份也還是必須的。對(duì)于國家的和重要單位的一些關(guān)系國計(jì)民生的數(shù)據(jù),離線備份的介質(zhì)應(yīng)當(dāng)遠(yuǎn)距離妥善存放,避免由于地震、火災(zāi)、水患等而同時(shí)毀于一旦。一般的一個(gè)單位的備份介質(zhì),也不應(yīng)當(dāng) 存放在同一座樓里甚至就在主機(jī)的旁邊的柜子里。備份的數(shù)據(jù)在脫離安全控制的環(huán)

33、境進(jìn)行傳輸和存儲(chǔ)時(shí),一定要整體做妥善的加密, 然后還要妥善地保管密鑰。千萬不要因?yàn)閮H有的知道密鑰的人在一場災(zāi)難中一命嗚呼而導(dǎo)致數(shù)據(jù) 永遠(yuǎn)不可解讀。643數(shù)據(jù)庫備份和冗余技術(shù)數(shù)據(jù)庫備份的冗余技術(shù)與上面所說的在線備份是有所不同的。在線備份的設(shè)備不參與實(shí)時(shí)的數(shù)據(jù)處理工作,而冗余設(shè)備卻是實(shí)時(shí)地在線工作的。數(shù)據(jù)庫備份的冗余技術(shù)通常采用 RAID技術(shù),就是把多個(gè)磁盤驅(qū)動(dòng)器結(jié)合起來,通過數(shù)據(jù)冗余提高數(shù)據(jù)存儲(chǔ)的安全性。最常見的RAID技術(shù)是RAID1,也叫磁盤鏡像。磁盤鏡像把數(shù)據(jù)同時(shí)分別寫到分區(qū)結(jié)構(gòu)完全相同的兩個(gè)磁盤中,兩個(gè)磁盤的操作互相獨(dú)立,存儲(chǔ)空間有雙倍的冗余, 是一種比較可靠的備份方法。另外還有帶有校驗(yàn)

34、的條紋化的多磁盤存儲(chǔ)技術(shù)RAID5,也具有較好的性能。但是也要注意到磁盤鏡像的兩個(gè)磁盤,猶如弟兄二人同臺(tái)唱戲,若有一人遭難,另一人恐怕也蹦不遠(yuǎn)。所以有了刮刮叫的RAID技術(shù),也不宜把數(shù)據(jù)庫的離線備份擱置一旁。644完全備份和增量備份、差額備份數(shù)據(jù)庫的備份有三種不同的策略:1 完全備份完全備份就是把所有的數(shù)據(jù)都毫不遺漏地備份下來。這是比較簡單的比較徹底的方法, 恢復(fù)數(shù)據(jù)時(shí)也比較容易。但是完全備份的數(shù)據(jù)量較大,一般只在每星期的特定的一天進(jìn)行完 全備份,例如星期五的夜里。2 增量備份增量備份是在上一次做了數(shù)據(jù)備份以來,對(duì)有了變化的數(shù)據(jù)進(jìn)行備份。 在做數(shù)據(jù)恢復(fù)的時(shí)候,從上一次完全備份開始,考慮以后的各

35、次增量備份的修改, 一直計(jì)算到需要恢復(fù)的那 一天。增量備份的工作量比較小,可以每天做一次。3. 差額備份另一種工作量不太大的備份策略是差額備份,也可以每天做一次。差額備份是考慮上一次完全備份以來發(fā)生變化的數(shù)據(jù),把這種變化備份下來。恢復(fù)數(shù)據(jù)時(shí)需要一個(gè)完全備份和一個(gè)差額備份。計(jì)算量稍微小一些。數(shù)據(jù)庫備份的軟件這里用一個(gè)實(shí)例,介紹在線備份和災(zāi)難恢復(fù)軟件InFoOnBack。InFoOnBack軟件為Informix數(shù)據(jù)庫用戶提供了高效的在線備份和災(zāi)難恢復(fù)功能,在 TCP/IP網(wǎng)絡(luò)環(huán)境中,利用海量存儲(chǔ)設(shè)備如磁帶庫、光盤庫或硬盤,在不影響數(shù)據(jù)庫正常使 用情況下進(jìn)行數(shù)據(jù)的備份。一旦數(shù)據(jù)庫中的數(shù)據(jù)被破壞或丟

36、失,可以快速地進(jìn)行恢復(fù)。InFoOnBack軟件與Legato Networker軟件相結(jié)合,可以根據(jù)預(yù)先設(shè)定的規(guī)則,無需操 作人員值守,自動(dòng)地進(jìn)行數(shù)據(jù)庫備份,備份的細(xì)節(jié)和成功與否,均有日志加以記錄。對(duì)于備份介質(zhì),可以進(jìn)行電子標(biāo)簽標(biāo)記,制定失效日期,循環(huán)使用,復(fù)制等手段由軟件 進(jìn)行自動(dòng)化管理。系統(tǒng)管理員可以根據(jù)需要,在進(jìn)行數(shù)據(jù)庫備份的同時(shí),將informix數(shù)據(jù)庫etc目錄下的重要配置文件如 onconfig等,或其他重要文件進(jìn)行備份,萬一出現(xiàn)災(zāi)難時(shí),可以連同這些 重要文件恢復(fù)出來。InFoOnBack軟件可以進(jìn)行多種級(jí)別的備份,如全備份,1級(jí)增量備份,2級(jí)增量備份和 日志備份。系統(tǒng)管理員可以

37、根據(jù)數(shù)據(jù)庫中數(shù)據(jù)變化量、數(shù)據(jù)庫日志增長量等制定一個(gè)合理的備份規(guī)則,使得通過合理的備份次數(shù)最大限度地保護(hù)數(shù)據(jù)。比如一個(gè)月進(jìn)行一次全備份,兩個(gè)星期進(jìn)行一次1級(jí)備份,每星期進(jìn)行一次2級(jí)備份,每天進(jìn)行一次日志備份。InFoOn Back軟件的備份原理是,基于in formix備份工具on tape進(jìn)行數(shù)據(jù)庫的備份。備份時(shí)可以將一次大的備份劃分分為若干小的包,通過硬盤緩沖區(qū)后,依次備份到光盤庫或磁帶庫中,包的大小用戶可以自定義。這樣,一方面可以適應(yīng)硬盤空間的限制,另一方面劃分成小的包有利于在遠(yuǎn)程低速網(wǎng)上傳輸。備份數(shù)據(jù)可以經(jīng)過壓縮之后再傳送到備份服務(wù)器中,從而減少傳輸量和增加數(shù)據(jù)的保密性。In Fo On

38、 Back軟件通過對(duì)網(wǎng)絡(luò)偵測監(jiān)控,確定網(wǎng)絡(luò)的連通性;當(dāng)網(wǎng)絡(luò)出現(xiàn)故障時(shí),備份 向硬盤緩沖區(qū)繼續(xù)進(jìn)行,而通過網(wǎng)絡(luò)向存儲(chǔ)設(shè)備的數(shù)據(jù)傳輸則處于等待狀態(tài);當(dāng)網(wǎng)絡(luò)恢復(fù)正常后,數(shù)據(jù)傳輸從斷點(diǎn)處繼續(xù)進(jìn)行。磁盤監(jiān)控器監(jiān)控硬盤的利用率,當(dāng)磁盤剩余空間不足一個(gè)備份包的兩倍時(shí),備份處于等待狀態(tài),直至磁盤空間清理出來。完整的備份索引記錄和圖形界面使得恢復(fù)操作簡便易用。通常on tape向硬盤緩沖區(qū)備份的速度較壓縮和向存儲(chǔ)設(shè)備寫的速度要快。為避免數(shù)據(jù) 包積累在硬盤緩沖區(qū)中,InFoOnBack采用并行流技術(shù),可以同時(shí)多個(gè)數(shù)據(jù)包進(jìn)行壓縮和向 存儲(chǔ)設(shè)備寫數(shù)據(jù),并行流個(gè)數(shù)可由系統(tǒng)管理員定義。如果數(shù)據(jù)庫在設(shè)計(jì)時(shí)有若干DB spa

39、ce,則恢復(fù)時(shí)可以單獨(dú)恢復(fù)某個(gè)DB space。InFoOnBack軟件各模塊涵義如下:ONT-ONTape : Informix數(shù)據(jù)庫在線數(shù)據(jù)備份接口CMP-CoMPress :數(shù)據(jù)壓縮BIF-Backup Important File:重要文件備份Ind-Indexer :索引生成器BDC-Backup Data Collector:備份數(shù)據(jù)收集器NM-Network Monitor:網(wǎng)絡(luò)監(jiān)控器SM-Space Monitor :空間監(jiān)控器UCMP-UnCoMPress :解壓器RIF-Recover Important File:恢復(fù)重要文件646數(shù)據(jù)庫備份的實(shí)例這里給出一個(gè)自動(dòng)備份Or

40、acle數(shù)據(jù)庫的實(shí)例作為參考。不少的系統(tǒng)管理員每天都在做著同一樣的工作一一對(duì)數(shù)據(jù)進(jìn)行備份。一旦哪一天疏忽 了,而這一天系統(tǒng)又恰恰發(fā)生了故障,需要進(jìn)行數(shù)據(jù)恢復(fù),那么此時(shí)就無能為力了。假如每 天設(shè)定一個(gè)固定的時(shí)間,系統(tǒng)自動(dòng)進(jìn)行備份,那該多好啊!下面談一談UNIX環(huán)境下Oracle數(shù)據(jù)庫的自動(dòng)備份。假設(shè)我們計(jì)劃讓數(shù)據(jù)庫在晚上23點(diǎn)做export導(dǎo)出備份,在凌晨2點(diǎn)將備份文件拷貝到磁帶上,在凌晨4點(diǎn)將備份文件拷貝到另一臺(tái)UNIX機(jī)器上,為此我們可進(jìn)行如下操作:1 導(dǎo)出數(shù)據(jù)庫export命令將數(shù)據(jù)庫中的數(shù)據(jù)備份成一個(gè)二進(jìn)制文件,它通常有三種模式:用戶模式、表模式和整個(gè)數(shù)據(jù)庫模式。這里擬采用用戶模式。備份

41、之前,應(yīng)先建立一個(gè)備份目錄,以容納備份文件,比如可建一個(gè) /backup目錄。接著我們可在UNIX的Oracle目錄下(也可以是其他目錄)分別建立兩個(gè)文件ora backup, tar backup。需要說明的是,前一個(gè)文件需要對(duì)Oracle的參數(shù)進(jìn)行初始化,為了方便起見,我們不妨將初始化命令放到一個(gè)文件中(文 件名姑且定為oraenv),再由第一個(gè)文件調(diào)用它。(1)oraenv文件對(duì)Oracle的參數(shù)進(jìn)行初始化,其內(nèi)容如下:ORACLEIOME=$ ORACLEHOME;export ORACLE -HOMEORACLE-SID=ora73;export ORACLE-SIDORACLE_E

42、RM=sun;export ORACLETERMLD-LIBRARY -PATH= $ ORACLEHOME/lib;export LD-LIBRARY -PATHORANLS32= $ ORACLEHOME/ocommon/nls/admin/data;export ORANLSPATH=.:/usr/ccs/bin:/usr/ucb:$ ORACLEHOME/bin: $ PATH;export PATHDISPLAY=host1:0;export DISPLAYNLS _ANG=american -america.zhs16cgb231280;export NLSLANG(2) ora

43、backup文件對(duì)數(shù)據(jù)庫做 export導(dǎo)出導(dǎo)出的文件名可以任意定,本文定為字母“xx”加當(dāng)天日期,即假如當(dāng)天日期是12月10號(hào),則導(dǎo)出的文件名為“ xx1210.dmp ”以區(qū)別于其他日期的備份文件。orabackup文件內(nèi)容:./oracle/ora-env井初始化Oracle 數(shù)據(jù)庫rq= ' date +"% m% d'井把當(dāng)天日期賦予變量rq rm /backup/#清空/backup 目錄$ rq.dmp log=/backup/xx$ rq.logtest用戶的數(shù)據(jù)(其口令亦為test),導(dǎo)出文件及日志exp test/test file=/backup

44、/xx本命令用于在$提示符下,導(dǎo)出均放在/backup目錄下。2. 磁帶備份tar backup文件將用export命令導(dǎo)出的數(shù)據(jù)文件拷貝到磁帶上。tarbackup文件內(nèi)容:tar rvf /dev/rmt/On/backup/本命令可將/backup目錄下當(dāng)天產(chǎn)生的文件備份到磁帶上。本文件中,tar命令使用了三個(gè)參數(shù),其中r選項(xiàng)表示向磁帶上拷入文件而不破壞磁帶原來內(nèi)容,v選項(xiàng)表示在拷貝過程中顯示文件信息,f選項(xiàng)后面加上磁帶設(shè)備名,指定文件向何處拷貝,n選項(xiàng)表示磁帶機(jī)不倒帶。/dev/rmt/0表示UNIX主機(jī)第一個(gè)磁帶驅(qū)動(dòng)器,同理, /dev/rmt/1則表示UNIX主機(jī)第 二個(gè)磁帶驅(qū)動(dòng)器

45、,依此類推。oraenv、orabackup、tarbackup文件編寫完成后,分別使用下述命令:chmod 755 ora-envchmod 755 ora-backupchmod 755 tar-backup這樣,三個(gè)文件就都變成了可執(zhí)行文件。3. 異地備份我們知道,通常可用FTP命令在兩臺(tái)主機(jī)間傳輸數(shù)據(jù),但一般是通過交互方式實(shí)現(xiàn)的,即需要手工輸入目標(biāo)主機(jī)的IP地址、用戶名、口令等。顯然,這不符合自動(dòng)備份的要求。所幸的是,我們可以通過編寫一個(gè).netrc的文件來達(dá)到目標(biāo)。這一文件必須命名為.netrc,且必須存放在啟動(dòng)FTP命令的機(jī)器上的用戶注冊(cè)目錄中,該文件的權(quán)限應(yīng)禁止組內(nèi)或其他用戶進(jìn)行

46、讀訪問。這樣,當(dāng)用戶使用FTP命令的時(shí)候,系統(tǒng)將會(huì)在該用戶的注冊(cè)目錄中尋找.netrc文件,如果能夠?qū)ふ业剑瑢?huì)首先執(zhí)行該文件,否則,會(huì)交互式地提示用戶輸入用 戶名、口令等。在使用FTP命令之前,應(yīng)先在另一臺(tái)作備份用的UNIX機(jī)器上建一目錄,以容納備份文件,本文建的目錄是/pub。需要指出的是,為了加快備份速度,兩臺(tái)主機(jī)之間的傳輸速 率應(yīng)盡可能的高,最好位于同一局域網(wǎng)上。.n etrc文件內(nèi)容如下:machine host2# host2 為作備份用的主機(jī)名login oracle# oracle為備份主機(jī)上的一個(gè)用戶password oracle# oracle 用戶的口令為 oraclem

47、acdef init#定義一個(gè)名為init 的宏,它將在自動(dòng)注冊(cè)進(jìn)程的最后被執(zhí)行bin#文件的傳輸方式設(shè)為二進(jìn)制led /backup# 進(jìn)入本地工作目錄/backuped /pub#進(jìn)入備份主機(jī)目錄/pubmput#將/backup目錄下的所有文件傳輸至備份主機(jī)bye#退岀FTP會(huì)話進(jìn)程.netre文件編寫完成后,使用下述命令:chmod 600 .netre這樣,.n etrc文件就只能被該用戶所訪問。4. 啟動(dòng)備份進(jìn)程Cron 是- 個(gè)永久進(jìn)程,它由 /etc/rc.local 啟動(dòng)執(zhí)行。Cron 檢查 /var/spool/cron/crontabs/ 目錄中的文件,找到所要執(zhí)行的任務(wù)

48、和執(zhí)行任務(wù)的時(shí)間。Cron tab 文件的每一行由六個(gè)域(minu tes、hours、day of month、month、day of week、comma nd)組成,域之間用空格或Tab分開,其中:minutes:分鐘域,值的范圍是0到59hours:小時(shí)域,值的范圍是0到23day of mon th :日期,值的范圍是1至U 31mo nth :月份,值的范圍是 1到12day of week :星期,值的范圍是0到6,星期日值為0comma nd:所要運(yùn)行的命令如果一個(gè)城是,表明命令可以生該域所有叮能的取值范昌人執(zhí)行如果一個(gè)域是由連字符隔開的兩個(gè)數(shù)字,表明命令可以在兩個(gè)數(shù)字之間的范圍內(nèi)執(zhí)行 (包括兩個(gè)數(shù)字本身)。如果一個(gè)域是由逗號(hào)隔開的一系列值組成的,表明命令可以在這些值組成的范圍內(nèi)執(zhí) 行。如果日期域和星期域都有值,則這兩個(gè)域都有效。現(xiàn)在,我們編寫一個(gè)文件,用以啟動(dòng)自動(dòng)備份進(jìn)程。 值得注意的是,該文件只能在 Oracle 用戶名下用cron t

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論