天天看點

資料庫自動冷備份腳本(精)

在網上看了幾個冷備份的腳本,運作起來多少有些問題。本人在自己的機器(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;