冷備份發生在數據庫已經正常關閉的情況下當正常關閉時會提供給我們一個完整的數據庫
冷備份是將關鍵性文件拷貝到另外位置的一種做法對於備份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 whtest (刪除某個用戶的表)
此時進行數據庫恢復
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>commit;
此後假設有一個數據文件壞了然後將備份的所有文件包括聯機重做日志文件拷貝回來
SQL>shutdown immediate;
拷貝文件包括聯機重做日志文件
SQL>startup;
數據恢復完畢!但備份後所執行的操作沒有恢復
From:http://tw.wingwit.com/Article/program/Oracle/201311/16503.html