在網上看了幾個冷備份的腳本,運作起來多少有些問題。本人在自己的機器(WINDOWS2000+ORA92)上面經過修改測試以後,代碼如下。希望對大家有所幫助。
共有兩個檔案back_cold.bat和back_cold.sql,通過定時任務來調用back_cold.bat
back_cold.bat這個批處理檔案的位置你可以随便放。
back_cold.sql這個腳本的位置我是放在F:\ORACLE目錄下面的。
備份成功以後檔案放在一個日期檔案夾下面,每天一個。時間長了以後可能會很占用磁盤空間。你也可以經過簡單的修改以後隻保留昨天的資料。由于DOS下面擷取昨天的時間比較困難,代碼也比較長,需要的話請注明,我可以傳上來。
1、back_cold.bat
set day=%date:~4,20%
cd F:\oracle
md %day%&
sqlplus /nolog @f:\oracle\back_cold.sql %day%
需要說明一下的是我在網上看到的腳本的第一行代碼是這樣的:set day=%date:~0,10%,這樣的話可能會出現漢字目錄。是以我改成上面的代碼了。
2、back_cold.sql
Rem db cold backup;
conn sys/change_on_install@ora92 as sysdba;
shutdown immediate;
host xcopy /i D:\oracle\oradata\oil\oilscore*.ora f:\oracle\&1;
host xcopy /i D:\oracle\oradata\oil\redo*.log f:\oracle\&1;
host xcopy /i D:\oracle\oradata\oil\control*.ctl f:\oracle\&1;