Oracle是關系型數據庫管理系統它功能強大性能卓越在當今大型數據庫管理系統中占有重要地位在正常情況下Oracle數據庫會保證數據的安全穩定為用戶提供正確的數據但由於計算機系統的故障(硬件故障軟件故障網絡故障和系統故障)影響數據庫系統的操作影響數據庫中數據的正確性甚至破壞數據庫使數據庫中全部或部分數據丟失整個系統都將處於癱瘓狀態因此如何保證Oracle數據庫的安全就成為整個系統安全的重要組成部分
Oracle數據庫的安全策略包括數據庫的備份和恢復用戶角色管理
一數據庫備份所使用的結構
Oracle數據庫使用幾種結構來保護數據數據庫後備日志回滾段和控制文件
數據庫後備是由構成Oracle數據庫的物理文件的操作系統後備所組成當介質故障時進行數據庫恢復利用後備文件恢復毀壞的數據文件或控制文件
每一個Oracle數據庫實例都提供日志記錄數據庫中所作的全部修改每一個運行的Oracle數據庫實例相應地有一個在線日志它與Oracle後台進程LGWR一起工作立即記錄該實例所作的全部修改歸檔(離線)日志是可選擇的一個Oracle數據庫實例一旦在線日志填滿後可形成在線日志歸檔文件歸檔的在線日志文件被唯一標識並合並成歸檔日志
回滾段用於存儲正在進行的事務(為未提交的事務)所修改值的老值該信息在數據庫恢復過程中用於撤消任何非提交的修改
控制文件一般用於存儲數據庫的物理結構的狀態控制文件中某些狀態信息在實例恢復和介質恢復期間用於引導Oracle
二在線日志
一個Oracle數據庫的每一實例有一個相關聯的在線日志一個在線日志由多個在線日志文件組成在線日志文件(online redo log file)填入日志項(redo entry)日志項記錄的數據用於重構對數據庫所作的全部修改
三歸檔日志
Oracle要將填滿的在線日志文件組歸檔時則要建立歸檔日志(archived redo log)其對數據庫備份和恢復有下列用處
數據庫後備以及在線和歸檔日志文件在操作系統和磁盤故障中可保證全部提交的事物可被恢復
在數據庫打開和正常系統使用下如果歸檔日志是永久保存在線後備可以進行和使用
數據庫可運行在兩種不同方式下NOARCHIVELOG方式或ARCHIVELOG 方式數據庫在NOARCHIVELOG方式下使用時不能進行在線日志的歸檔如果數據庫在ARCHIVELOG方式下運行可實施在線日志的歸檔
四Oracle的備份特性
Oracle備份包括邏輯備份和物理備份
邏輯備份
數據庫的邏輯備份包含讀一個數據庫記錄集和將記錄集寫入文件
()輸出(Export)輸出可以是整個數據庫指定用戶或指定表
()輸入(Import)輸入將輸出建立的二進制轉儲文件讀入並執行其命令
物理備份
物理備份包含拷貝構成數據庫的文件而不管其邏輯內容
Oracle支持兩種不同類型的物理文件備份脫機備份(offline backup)和聯機備份(online backup)
() 脫機備份
脫機備份用在當數據庫已正常關閉數據庫處於offline時要備份下列文件
所有數據文件
所有控制文件
所有聯機日志
initora(可選的)
() 聯機備份
聯機備份可用來備份任何運作在ARCHIVELOG方式下的數據庫在這種方式下聯機日志被歸檔在數據庫內部建立一個所有作業的完整記錄
聯機備份過程具備強有力的功能第一提供了完全的時間點(pointintime)恢復第二在文件系統備份時允許數據庫保持打開狀態
備份方式特性比較
五Oracle數據庫的角色管理
Oracle數據庫系統在利用角色管理數據庫安全性方面采取的基本措施有
通過驗證用戶名稱和口令防止非Oracle用戶注冊到Oracle數據庫對數據庫進行非法存取操作
授予用戶一定的權限限制用戶操縱數據庫的權力
授予用戶對數據庫實體的存取執行權限阻止用戶訪問非授權數據
提供數據庫實體存取審計機制使數據庫管理員可以監視數據庫中數據的存取情況和系統資源的使用情況
采用視圖機制限制存取基表的行和列集合
六Oracle數據庫的安全策略
由於Oracle數據庫備份有三種方式每種方式具有不同的恢復特性因此應集成數據庫與文件系統備份集成邏輯備份和物理備份
(一)備份策略
在操作系統級別使用大容量磁盤陣列通過磁盤映像技術使每一個數據庫文件自動分布於每個物理磁盤這樣當某個磁盤出現物理損壞時操作系統會自動引發映像磁盤來取代失效的磁盤保證數據庫的正常運行
在多個不同的物理磁盤上保持多個控制文件的備份控制文件在數據庫恢復期間用於引導Oracle因此保持多個控制文件的備份可以確保在出現磁盤故障後能有可用的控制文件用於數據庫恢復
使數據庫運行在ARCHIVELOG(歸檔)方式下歸檔日志存放於另一映像的邏輯磁盤上每晚進行一次聯機備份操作備份所有數據文件所有歸檔日志文件一個控制文件每周進行一次輸出(Export)操作
(二)恢復策略
實例失敗
從實例失敗中恢復是自動進行的實例失敗一般是由服務器失敗引起的當數據庫實例失敗後重新啟動服務器啟動數據庫Oracle檢查數據文件和聯機日志文件並把所有文件同步到同一個時間點上
磁盤失敗
如果丟失的是控制文件只要關閉數據庫從保留有控制文件的地方拷貝一份即可
如果丟失的是數據文件可用前一天晚上的聯機備份進行恢復步驟如下
)從備份中把丟失的文件存在原來位置
)加載數據庫
)恢復數據庫
)打開數據庫
錯誤刪除或修改對象
在這種情況下一般希望能追溯返回到錯誤發生前的那個時間點上這叫做時間點恢復完成恢復的步驟如下
)從當前數據庫輸出(Export)輸入(Import)到備用數據庫使備用數據庫與當前數據庫保持一致
)向前滾動備用數據庫到錯誤發生前的那個時間點
)從備用數據庫輸出受錯誤影響的邏輯對象
)使用上一步產生的輸出文件輸入那些受影響的對象到當前數據庫
(三)用戶角色管理
對所有客戶端按工作性質分類分別授予不同的用戶角色
對不同的用戶角色根據其使用的數據源分別授予不同的數據庫對象存取權限
基於以上的安全策略可以防止非法用戶訪問數據庫限制合法用戶操縱數據庫的權限;可以使數據庫在故障發生後不會丟失任何數據並能使數據庫迅速恢復到故障發生前的那一時間點上最大限度的保證數據的安全和整個系統的連續運行
From:http://tw.wingwit.com/Article/program/Oracle/201311/16847.html