Oracle RMAN
* refer to https://www.cnblogs.com/xibuhaohao/p/9956716.html Oracle数据库备份策略:全备与增量备份
* https://www.jianshu.com/p/27d5a591fc5f Oracle 11g R2 Rman备份与恢复
* http://blog.itpub.net/29438041/viewspace-2134052/ OR https://blog.csdn.net/zq9017197/article/details/6873490?locationNum=5&fps=1 通过RMAN备份恢复数据库到其他服务器 恢复整个数据库比如到其它
* https://www.jianshu.com/p/c9580fd97295?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation 命令详细解释
* Reference:
crontab -l
# archive backup
#01 4,12,20 * * * /oracle/scripts/rman_archive_backup.sh >/dev/null 2>&1
# full backup
#01 2 * * * //oracle/scripts/rman_full_backup.sh >/dev/null 2>&1
===========================================================
full_backup.rma
===========================================================
run
{
allocate channel c2 type disk;
BACKUP
format '/Backup/oracle/rman/full_%d_%t_%s_%p'
(DATABASE INCLUDE CURRENT CONTROLFILE);
release channel c2;
}
run
{
allocate channel c2 type disk;
backup current controlfile format '/Backup/oracle/rman/ctl_%d_%t_%s_%p';
release channel c2;
}
run
{
allocate channel c2 type disk;
crosscheck backup;
crosscheck copy;
crosscheck archivelog all;
delete noprompt obsolete;
delete noprompt expired backup;
delete noprompt expired archivelog all;
release channel c2;
}
===========================================================
archive_backup.rma
===========================================================
{
allocate channel t2 type disk;
sql 'alter system archive log current';
sql 'alter system archive log current';
backup format '/Backup/oracle/rman/%d_arch_%t_%s_%p' archivelog all delete input;
release channel t2;
}
run
{
allocate channel c2 type disk;
backup current controlfile format '/Backup/oracle/rman/ctl_%d_%t_%s_%p';
release channel c2;
}
===========================================================
rman_full_backup.sh
===========================================================
#!/bin/sh
#/home/oracle/scripts/rman_full_backup.sh
#backup full database shell script
#run by oracle user
log_dir=/Backup/oracle/log
full_log=$log_dir/full_latest.log
rman_log=$log_dir/full_rman.log
all_log=$log_dir/full_all.log
. /home/oracle/.bash_profile
cd /home/oracle/scripts
echo "***************************************************************" > $full_log
echo " Oracle Database Full Backup Begin...... " >> $full_log
date +" %Y-%m-%d %H:%M:%S" >> $full_log
rman target / nocatalog @full_backup.rma log=$rman_log
cat $rman_log >> $full_log
echo " Oracle Database Full Backup End " >> $full_log
date +" %Y-%m-%d %H:%M:%S" >> $full_log
echo "****************************************************************" >> $full_log
echo "****************************************************************" >> $full_log
cat $full_log >> $all_log
===========================================================
rman_archive_backup.sh
===========================================================
#backup archivelog shell script
#run by oracle user
log_dir=/Backup/oracle/log
archive_log=$log_dir/archive_latest.log
rman_log=$log_dir/archive_rman.log
all_log=$log_dir/archive_all.log
. /home/oracle/.bash_profile
cd /home/oracle/scripts
echo "***************************************************************" > $archive_log
echo " Oracle Database Archivelog Backup Begin...... " >> $archive_log
date +" %Y-%m-%d %H:%M:%S " >> $archive_log
rman target / nocatalog @archive_backup.rma log=$rman_log
cat $rman_log >> $archive_log
echo " Oracle Database Archivelog Backup End " >> $archive_log
date +" %Y-%m-%d %H:%M:%S" >> $archive_log
echo "**************************************************************" >> $archive_log
echo "****************************************************************" >> $archive_log
cat $archive_log >> $all_log

浙公网安备 33010602011771号