ORCLE RMAN備份腳本

1、Linux下oracle備份腳本

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1

export PATH=$PATH:$ORACLE_HOME/bin:

export NLS_LANG=AMERICAN_AMERICA.zhs16gbk

export ORACLE_SID=orcl

rman target / nocatalog log=/tmp/rman_full.log append<<EOF

run{

allocate channel c1 type disk;

allocate channel c2 type disk;

backup filesperset 3 database format '/oracle/backup/full_%d_%T_%s_%p';

sql 'alter system archive log current';

sql 'alter system archive log current';

sql 'alter system archive log current';

backup archivelog all format '/oracle/backup/arch_%d_%T_%s_%p' delete input;

backup current controlfile format '/oracle/backup/ctl_%d_%T_%s_%p';

}

EOF


Linux下刪除過期備份的腳本

rman target / nocatalog log=/tmp/rman_delete.log append<<EOF

run{

allocate channel for maintenance type disk;

crosscheck backup;

crosscheck archivelog all;

delete noprompt archivelog until time 'sysdate-1';

delete noprompt obsolete;

}

EOF


注:將腳本添加到crontab中定時執行即可。


2、windows下ORACLE備份腳本

全庫備份腳本full_backup.txt

run{

allocate channel c1 type disk;

allocate channel c2 type disk;

backup filesperset 2 database format 'd:\u01\rman\full_%d_%T_%s_%p';

sql 'alter system archive log current';

sql 'alter system archive log current';

sql 'alter system archive log current';

backup archivelog all format 'd:\u01\rman\arch_%d_%T_%s_%p' delete input;

backup current controlfile format 'd:\u01\rman\ctl_%d_%T_%s_%p';

backup spfile format 'd:\u01\rman\spfile_%d_%T_%s_%p';

}

exit


全庫備份可執行腳本full_backup.bat

rman target / nocatalog log=d:\u01\rman.log append CMDFILE 'd:\u01\full_backup.txt';


歸檔日誌備份腳本log_backup.txt

run{

backup archivelog all format 'd:\u01\rman\arch_%d_%T_%s_%p' delete input;

}

exit


刪除過期備份腳本delete_obsolete.txt

run{

crosscheck backup;

crosscheck archivelog all;

delete noprompt archivelog until time 'sysdate-1';

delete noprompt obsolete; 

}

exit


注:windows下備份需要添加定時任務

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章