本次演示的是rman备份 及相应的计划任务
总体策略为 可以恢复到10天内的数据, 周三和周六 为0级备份, 归档日志每天备份
[oracle@localhost dbrman_scripts]$ chmod u+x delobsolete
[oracle@localhost dbrman_scripts]$ vi delobsolete
run {
crosscheck backup;
delete noprompt obsolete;
delete noprompt expired backup;
}
[oracle@localhost dbrman_scripts]$ chmod u+x arch
[oracle@localhost dbrman_scripts]$ vi arch
sql 'alter system archive log current' ;
run {
allocate channel a1 type disk FORMAT '/datarman/rmanbak/arch/' ;
backup filesperset 10 format '/datarman/rmanbak/arch/arch_%T_%d_%t_%s_%p' archivelog all delete input;
release channel a1;
}
[oracle@localhost dbrman_scripts]$ chmod u+x level0
[oracle@localhost dbrman_scripts]$ vi level0
sql 'alter system archive log current' ;
run {
allocate channel a2 type disk ;
backup as compressed backupset incremental level 0 DATABASE filesperset 5 format '/datarman/rmanbak/dbfile/db_%T_%d_%t_%s_%p' ;
release channel a2;
}
[oracle@localhost dbrman_scripts]$ chmod u+x emoss2dbdel.sh
[oracle@localhost dbrman_scripts]$ vi emoss2dbdel.sh
export ORACLE_SID=orcl
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$PATH:$ORACLE_HOME/bin
export NAME=`date -d now +%F`
$ORACLE_HOME/bin/rman target / nocatalog log=/datarman/rmanbak/dbfile_log/emoss2dbrmandel_$NAME.log<
[oracle@localhost dbrman_scripts]$ chmod u+x emoss2dbarch.sh
[oracle@localhost dbrman_scripts]$ vi emoss2dbarch.sh
export ORACLE_SID=orcl
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$PATH:$ORACLE_HOME/bin
export NAME=`date -d now +%F`
$ORACLE_HOME/bin/rman target / nocatalog log=/datarman/rmanbak/dbfile_log/emoss2dbrmanarchback_$NAME.log<
[oracle@localhost dbrman_scripts]$ chmod u+x emoss2dblev0.sh
[oracle@localhost dbrman_scripts]$ vi emoss2dblev0.sh
export ORACLE_SID=orcl
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$PATH:$ORACLE_HOME/bin
export NAME=`date -d now +%F`
$ORACLE_HOME/bin/rman target / nocatalog log=/datarman/rmanbak/dbfile_log/emoss2dbrmanlevel0_$NAME.log<
[oracle@localhost dbrman_scripts]$ crontab -e
0 1 * * * /datarman/rmanbak/dbrman_scripts/emoss2dbdel.sh
0 2 * * * /datarman/rmanbak/dbrman_scripts/emoss2dbarch.sh
0 3 * * 3,6 /datarman/rmanbak/dbrman_scripts/emoss2dblev0.sh