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)機備份操作,,備份所有數(shù)據(jù)文件,、所有歸檔日志文件、一個控制文件,。
每周進(jìn)行一次輸出(Export)操作,。
二、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)機日志文件,并把所有文件同步到同一個時間點上,。
2.磁盤失敗
如果丟失的是控制文件,,只要關(guān)閉數(shù)據(jù)庫,從保留有控制文件的地方拷貝一份即可,。
如果丟失的是數(shù)據(jù)文件,,可用前一天晚上的聯(lián)機備份進(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ù)庫輸出受錯誤影響的邏輯對象,。
(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ù)運行,。