WINDOWS下 部署 rman 全備指令碼

bitifi發表於2015-10-09
1、設定好環境變數

1)右鍵點我的電腦(計算機)à高階系統設定à環境變數à系統變數à變數pathà編輯-->新增路徑

2)儲存原環境變數

3)新新增2個路徑後的環境變數:

E:\app\product\11.2.0\dbhome_1\BIN;C:\Program Files (x86)\WinRAR



2、建立好備份儲存目錄

1) 在WINDOWS系統F磁碟機代號建立DB_BACKUP目錄。

 2)create  directory BACKUP_DIR as 'F:\DB_BACKUP'; 





3、設定好備份使用者的許可權及備份儲存目錄

1)grant dba to system;   

注意:這裡system原本就擁有備份許可權,可以不用執行,其他新建普通使用者需要執行

2)grant read,write on directory BACKUP_DIR to system;

注意:這裡在建立備份目錄的時候,系統自動新增了讀寫執行的許可權,可以不用執行

     正常情況新使用者都是需要授權。




4、備份指令碼
bat檔案:
E:
cd E:\app\product\11.2.0\dbhome_1\BIN
rman target / msglog=F:\rman\%date:~0,10%.log cmdfile=F:\rman\full_backup.txt
F:
cd F:\rman\
rar a scv_bak_%date:~0,10%.rar *.BKP
rar a scv_bak_%date:~0,10%.rar C*
rar a scv_bak_%date:~0,10%.rar %date:~0,10%.log
del *.BKP /q
del %date:~0,10%.log /q
del C* /q
Forfiles -p "F:\rman" -s -m *.rar -d -14 -c "Cmd /C del @FILE"


注意:這裡的時間格式不能是2015/06/08 這種格式,會被資料庫預設為路徑,需修改時間格式(右下角自己改)。

程式碼詳解:

第一行E:代表進入備份目錄所在磁碟機代號

第二行進入備份目錄

第三行ORACLE邏輯匯出命令expdp,system/*****是賬號密碼,directoryORACLE備份目錄名稱,%date:~0,10%表示取當前系統時間前10位,full=y表示全備

第四、五行WINRAR壓縮軟體壓縮打包命令

第六、七行刪除原備份檔案(因為前面2步已經壓縮打包了)

第八行刪除備份目錄中7天以前的以.rar格式結尾的檔案




sql檔案:
run
{
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 14 DAYS;
sql 'alter system archive log current';
backup as compressed backupset database format 'F:/rman/fullbak_%d_%I_%s_%p_%T.bkp' include current controlfile;
backup spfile format 'F:/rman/spfile_%d_%I_%s_%p_%T.bkp';
backup as compressed backupset archivelog all format 'F:/rman/archivelog_%d_%I_%s_%p_%T.bkp' delete input;
backup current controlfile format 'F:/rman/control_%d_%I_%s_%p_%T.bkp';
}
delete noprompt obsolete;
crosscheck backup;
report obsolete;
delete noprompt expired backup;
BACKUP VALIDATE DATABASE;
BACKUP VALIDATE DATABASE ARCHIVELOG ALL;


5、設定計劃任務
設定計劃任務時一定要注意在“操作”那個選項卡,要填寫“起始於”絕對路徑

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30496894/viewspace-1813568/,如需轉載,請註明出處,否則將追究法律責任。

相關文章