《網絡安全技術》第六章_第1頁
《網絡安全技術》第六章_第2頁
《網絡安全技術》第六章_第3頁
已閱讀5頁,還剩13頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

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

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

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

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

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

6、安全的核心。因此,對于一定的應用來說,要求網絡設計具有一定的安全等級,那么數據庫也必須有相應的安全等級。4. 穩定性數據庫的運行必須平穩。尤其對于網絡中集中突發性的大訪問量,不能出現死鎖、崩潰等現象。5容錯性對于用戶操作和應用程序所帶來的種種意料不到的錯誤,數據庫必具有容錯的功能。當出錯時,能夠給用戶返回適當的說明信息,不能因此而死鎖或崩潰。6. 擴展性數據庫應當具有良好的擴展性,以適應用戶對數據庫的容量的增長、功能的加強、數據的綜合利用等方面的要求。7備份數據庫應當能夠可靠地、方便地備份,以保證系統的連續可靠地運行。而一旦出現災難 性的數據故障時,能夠有希望從災難中恢復。網絡數據庫的主要產品

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

8、SQL Server II是一種關系型數據庫管理系統RDBMS,能支持很大的內存,可處理很大的數據量,支持并行備份機制,備份簡單方便,支持多線程、多CPU,工作性能穩3. Oracle Universal ServerOracle Universal Server是大型數據庫中的王牌。它有以下優點:支持多媒體。OracleUniversal Server支持多種數據類型,如文本、圖形、圖象、聲音、動畫、視頻等;支持多 種平臺。幾乎所有常見的平臺,都能夠得到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是一種對象關系數據管理系統ORDBMS,其主要特點是:支持多媒體;支持動態擴展結構DSA,在硬件容量允許的條件下,能夠無限擴展數據庫;具有良好的安全性和穩定性;支持幾乎所有流行的網絡協議;提供與Web服務器的完整集成。5. IBM DB2 Com mon ServerIBM DB2 Comm

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

25、對于一般的應用來說,上述的數據庫所提供的安全性能是能夠滿足要求的。但是對于一些重要部門或敏感領域的應用, 僅靠上述的措施似乎還難以保證數據的安全。 某些用戶尤其 是一些內部用戶可能越權訪問數據庫, 甚至竊取或篡改某些信息, 因此,也有人希望對數據 庫中存儲的某些重要數據進行加密處理,以保證數據的安全。數據加密,是將明文數據經過一定的變換,變成密文數據。數據的解密則是加密的逆過程,重新把密文數據變成明文數據。加密和解密的變換方法叫做加密算法和解密算法,一般加密和解密采用同樣的算法??刂谱儞Q運算的參數叫做密鑰?,F代的加密解密的算法,一般都是公開的,而密鑰則有完全保密的所謂對稱系統,還有把加密密鑰公

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

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

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

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

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

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

32、在主機系統開辟一個非工作運行空間, 專門存放備份的數據, 稱做分區備份。在線備份的另一種做法是建立另一個子系統,把主機系統的數據傳輸到備份子系統中。數據庫的離線備份是把數據和環境信息下載到安全的存儲媒介中,這種存儲媒介和當前運行的計算機系統和網絡沒有直接聯系。 在系統需要恢復時予以重新安裝。 存儲的數據還可 以留檔以備日后查詢。即使有了在線備份,離線備份也還是必須的。對于國家的和重要單位的一些關系國計民生的數據,離線備份的介質應當遠距離妥善存放,避免由于地震、火災、水患等而同時毀于一旦。一般的一個單位的備份介質,也不應當 存放在同一座樓里甚至就在主機的旁邊的柜子里。備份的數據在脫離安全控制的環

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

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

35、次增量備份的修改, 一直計算到需要恢復的那 一天。增量備份的工作量比較小,可以每天做一次。3. 差額備份另一種工作量不太大的備份策略是差額備份,也可以每天做一次。差額備份是考慮上一次完全備份以來發生變化的數據,把這種變化備份下來?;謴蛿祿r需要一個完全備份和一個差額備份。計算量稍微小一些。數據庫備份的軟件這里用一個實例,介紹在線備份和災難恢復軟件InFoOnBack。InFoOnBack軟件為Informix數據庫用戶提供了高效的在線備份和災難恢復功能,在 TCP/IP網絡環境中,利用海量存儲設備如磁帶庫、光盤庫或硬盤,在不影響數據庫正常使 用情況下進行數據的備份。一旦數據庫中的數據被破壞或丟

36、失,可以快速地進行恢復。InFoOnBack軟件與Legato Networker軟件相結合,可以根據預先設定的規則,無需操 作人員值守,自動地進行數據庫備份,備份的細節和成功與否,均有日志加以記錄。對于備份介質,可以進行電子標簽標記,制定失效日期,循環使用,復制等手段由軟件 進行自動化管理。系統管理員可以根據需要,在進行數據庫備份的同時,將informix數據庫etc目錄下的重要配置文件如 onconfig等,或其他重要文件進行備份,萬一出現災難時,可以連同這些 重要文件恢復出來。InFoOnBack軟件可以進行多種級別的備份,如全備份,1級增量備份,2級增量備份和 日志備份。系統管理員可以

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

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

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

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

41、之前,應先建立一個備份目錄,以容納備份文件,比如可建一個 /backup目錄。接著我們可在UNIX的Oracle目錄下(也可以是其他目錄)分別建立兩個文件ora backup, tar backup。需要說明的是,前一個文件需要對Oracle的參數進行初始化,為了方便起見,我們不妨將初始化命令放到一個文件中(文 件名姑且定為oraenv),再由第一個文件調用它。(1)oraenv文件對Oracle的參數進行初始化,其內容如下: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文件對數據庫做 export導出導出的文件名可以任意定,本文定為字母“xx”加當天日期,即假如當天日期是12月10號,則導出的文件名為“ xx1210.dmp ”以區別于其他日期的備份文件。orabackup文件內容:./oracle/ora-env井初始化Oracle 數據庫rq= ' date +"% m% d'井把當天日期賦予變量rq rm /backup/#清空/backup 目錄$ rq.dmp log=/backup/xx$ rq.logtest用戶的數據(其口令亦為test),導出文件及日志exp test/test file=/backup

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

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

46、讀訪問。這樣,當用戶使用FTP命令的時候,系統將會在該用戶的注冊目錄中尋找.netrc文件,如果能夠尋找到,將會首先執行該文件,否則,會交互式地提示用戶輸入用 戶名、口令等。在使用FTP命令之前,應先在另一臺作備份用的UNIX機器上建一目錄,以容納備份文件,本文建的目錄是/pub。需要指出的是,為了加快備份速度,兩臺主機之間的傳輸速 率應盡可能的高,最好位于同一局域網上。.n etrc文件內容如下:machine host2# host2 為作備份用的主機名login oracle# oracle為備份主機上的一個用戶password oracle# oracle 用戶的口令為 oraclem

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

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

溫馨提示

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

評論

0/150

提交評論