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