冷備份發生在數據庫已經正常關閉的情況下 當正常關閉時會提供給我們一個完整的數據庫
冷備份是將關鍵性文件拷貝到另外位置的一種做法 對於備份Oracle信息而言 冷備份是最快和最安全的方法 值得注意的是冷備份必須是數據庫關閉的情況下完成 當數據庫開著的時候 執行數據庫文件係統備份無效
冷備份所需備份的文件包括以下幾種
所有數據文件
所有控製文件
所有聯機REDO LOG 文件
INIT<sid> ORA文件(可選)
冷備份的步驟
正常關閉要備份的實例(instance)
備份整個數據庫到一個目錄
啟動數據庫
用冷備份進行數據庫恢複
如果數據庫是運行在非歸檔日誌模式下 將備份文件拷貝回原來的目錄即可 非歸檔日誌模式下數據庫隻能恢複到備份時刻的狀態
如果數據庫是運行在歸檔日誌模式下 將數據文件拷回原來的目錄(不包括聯機redolog文件) 然後依次選擇相應的重做日誌文件進行恢複 即可恢複冷備份後的所有操作 即是說可以恢複到係統崩潰前的狀態
冷備份示例
示例一 windows環境下的冷備份與恢複
在本例中 數據庫實例名wh 所有數據文件 所有控製文件和所有聯機REDO LOG 文件都在文件夾D:\oracle\ora \wh中 備份恢複的操作如下
進入 sql*plus 以sysdba的身份登錄數據庫
SQL>sys/oracle@wh as sysdba
關閉數據庫SQL>shutdown immediate
拷貝D:\oracle\ora \wh到目標備份目錄E:\bacakupora\wh
數據庫冷備份完成 下麵對數據庫中的內容進行更改
啟動數據庫
SQL>startup
刪除數據
SQL>delete from wh test (刪除某個用戶的表)
此時進行數據庫恢複
SQL>shutdown immediate;
拷貝目標備份目錄E:\bacakupora\wh到D:\oracle\ora \wh
數據庫恢複完畢 通過查詢可以發現數據庫恢複到進行備份時刻的狀態 備份後所進行的所有操作無效
示例二 linux環境下的冷備份與恢複
在本例中 數據庫實例名urpdb 所有數據文件存放在\oradata\urpdb目錄下 所有控製文件和所有聯機REDO LOG 文件都在文件夾opt\ora \oradata\urpdb中 備份恢複的操作如下
sys/oracle@urpdb as sysdba 進入sql*plus;
SQL>shutdown immediate (保持所有數據文件在時間點上的一致性)
拷貝\oradata\urpdb和opt\ora \oradata\urpdb下的所有文件到新的備份目錄
假設進行如下操作
SQL>startup
SQL>create table test(c number( ) c varcharc( ));
SQL>insert into text values( a );
SQL>mit;
此後假設有一個數據文件壞了 然後將備份的所有文件包括聯機重做日誌文件拷貝回來
SQL>shutdown immediate;
拷貝文件包括聯機重做日誌文件
SQL>startup;
lishixinzhi/Article/program/Oracle/201311/16503