這里會討論令Oracle停機時間最小化的步驟。各種形式的停機--計劃的或者是非計劃的--總是不斷地發(fā)生,一個DBA應該有正確的備份策略,這樣在數(shù)據(jù)庫出現(xiàn)問題時就可以更快地恢復。
以下是假定的備份策略和數(shù)據(jù)庫的運作條件
控制文件是鏡像的
數(shù)據(jù)庫運行在archivelog模式
每個星期都進行冷備份
每日都進行熱備份
每日都進行一次全數(shù)據(jù)庫導出
事件1:完整的數(shù)據(jù)庫重構
在這種情形下,你可以使用全數(shù)據(jù)庫導出或者冷熱備份結合的方式來重構數(shù)據(jù)庫。要注意的是無論你選擇哪種方式,在線redo log中的事務都會丟失。
事件2:恢復部分的表空間
可以使用以下的步驟來恢復:
1、以restrict模式啟動數(shù)據(jù)庫
2、重新創(chuàng)建表空間
3、使用最新的全數(shù)據(jù)庫導出來導入,并且使用ignore=y的選項;
4.關閉并且重新以normal的模式啟動數(shù)據(jù)庫實例
事件3:丟失一般的數(shù)據(jù)文件
丟失一般數(shù)據(jù)文件的恢復步驟根據(jù)所丟失的數(shù)據(jù)文件包含的表空間類型而定;例如:回滾段,用戶表空間,索引表空間或者是只讀的表空間、你可能會遇到以下的錯誤:
. 嘗試啟動數(shù)據(jù)庫并且碰到錯誤的信息ORA-1157, ORA-1110,可能還有一個操作系統(tǒng)的錯誤
. 嘗試以normal或者immediate的模式關閉數(shù)據(jù)庫,可能會碰到ORA-1116, ORA-1110的錯誤信息,還有一個系統(tǒng)錯誤
以下的步驟可以用作恢復:
1、關閉數(shù)據(jù)庫
2、由熱備份中恢復丟失的數(shù)據(jù)文件
3、Startup mount數(shù)據(jù)庫
4、執(zhí)行以下的查詢來得到所有你的在線redo log文件和它們相應的次序和首次修改號:
5、如果得到的CHANGE#比在線redo log最小的FIRST_CHANGE# 還小,那么該文件不能被完全恢復,你可以有兩個選擇:
. 如果可以接受丟失最近一次冷備份以來的數(shù)據(jù)庫修改,裝入備份并且繼續(xù)恢復
. 如果不能接受丟失數(shù)據(jù)庫的修改,那么必須重新創(chuàng)建表空間
6、通過使用存檔和在線的redo log來恢復數(shù)據(jù)文件
7、打開數(shù)據(jù)庫
[NextPage]
事件4:恢復一個特別的表
[NextPage]
事件12:丟失全部的回滾段
[1] [2] 下一頁
正在看的ORACLE教程是:優(yōu)化Oracle停機時間及數(shù)據(jù)庫恢復。上一頁
上一頁 [1] [2]