Oracle數(shù)據(jù)庫備份與恢復(fù)是每個Oracle數(shù)據(jù)庫管理人員都不許掌握的知識。Oracle數(shù)據(jù)庫備份有三種方式,每種方式具有不同的恢復(fù)特性,因此應(yīng)集成數(shù)據(jù)庫與文件系統(tǒng)備份,集成邏輯備份和物理備份。
一、Oracle數(shù)據(jù)庫備份策略
1.在操作系統(tǒng)級,使用大容量磁盤陣列,通過磁盤映像技術(shù)使每一個數(shù)據(jù)庫文件自動分布于每個物理磁盤。這樣,當(dāng)某個磁盤出現(xiàn)物理損壞時,操作系統(tǒng)會自動引發(fā)映像磁盤來取代失效的磁盤,保證數(shù)據(jù)庫的正常運行。
由于我們使用的是雙服務(wù)器,因此在另一服務(wù)器上保留一個備份數(shù)據(jù)庫。備份數(shù)據(jù)庫與正在使用的數(shù)據(jù)庫具有相同的參數(shù)狀態(tài),這樣在數(shù)據(jù)庫故障中,只需作必須的最少恢復(fù),最大限度地縮短了恢復(fù)時間。在多個不同的物理磁盤上保持多個控制文件的備份?刂莆募跀(shù)據(jù)庫恢復(fù)期間用于引導(dǎo)Oracle,因此保持多個控制文件的備份,可以確保在出現(xiàn)磁盤故障后,能有可用的控制文件用于數(shù)據(jù)庫恢復(fù)。使數(shù)據(jù)庫運行在ARCHIVELOG(歸檔)方式下,歸檔日志存放于另一映像的邏輯磁盤上。每晚進(jìn)行一次聯(lián)機(jī)備份操作,備份所有數(shù)據(jù)文件、所有歸檔日志文件、一個控制文件。每周進(jìn)行一次輸出(Export)操作。 (服務(wù)器托管)
二、Oracle數(shù)據(jù)庫恢復(fù)策略
1.實例失敗
從實例失敗中進(jìn)行Oracle數(shù)據(jù)庫恢復(fù)是自動進(jìn)行的。實例失敗一般是由服務(wù)器失敗引起的,當(dāng)數(shù)據(jù)庫實例失敗后,重新啟動服務(wù)器,啟動數(shù)據(jù)庫,Oracle檢查數(shù)據(jù)文件和聯(lián)機(jī)日志文件,并把所有文件同步到同一個時間點上。
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.錯誤刪除或修改對象
在這種情況下,一般希望能追溯返回到錯誤發(fā)生前的那個時間點上。這叫做時間點恢復(fù)。完成恢復(fù)的步驟如下:
(1)從當(dāng)前數(shù)據(jù)庫輸出(Export),輸入(Import)到備用數(shù)據(jù)庫,使備用數(shù)據(jù)庫與當(dāng)前數(shù)據(jù)庫保持一致。
(2)向前滾動備用數(shù)據(jù)庫到錯誤發(fā)生前的那個時間點。
(3)從備用數(shù)據(jù)庫輸出受錯誤影響的邏輯對象。 (電信服務(wù)器租用)
(4)使用上一步產(chǎn)生的輸出文件輸入那些受影響的對象到當(dāng)前數(shù)據(jù)庫。
三、Oracle用戶角色管理
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ù)據(jù)的安全和整個系統(tǒng)的連續(xù)運行。