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