oracle rman备份及删除脚本、
1.环境说明:
os--linux
oracle--11.2.03
一台服务器上两个库orcl prod
RAC双节点环境,采用节点1执行定制备份及删除脚本
2.备份策略说明:
1)周1 周4 周6 执行全库备份,加上备份产生的归档,周2 周3 周日执行归档日志备份
备注:因为数据库为10g以下的小库,采用全库备份;如果是大库而且变化较小的库,采用增量备份;
2)备份保存15天,15天以前的备份删除
3)oracle数据库的归档保存30天
举例以一台服务器上多个库(orcl 和prod两个库的情况下的脚本,如果一个库可以适当的去掉循环)
3.数据库配置
3.1更改控制文件记录的备份时长
alter system set control_file_record_keep_time=31;
备份及删除脚本上有配置configure retention policy to recovery window of 15 days;
备注:
CONTROL_FILE_RECORD_KEEP_TIME参数默认保留7天。
建议CONTROL_FILE_RECORD_KEEP_TIME参数值设置不小于选中数据库的备份保存周期的值。
理论上CONTROL_FILE_RECORD_KEEP_TIME的天数必须大于等于CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF xx DAYS
4.备份及删除脚本如下:
4.1全库备份脚本:
使用oracle用户创建如下脚本
vi /home/oracle/full_bak.sh
#! /bin/bash
export NLS_LANG='AMERICAN_AMERICA.AL32UTF8'
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
current_day=`date +%Y%m%d`
basdir=/home/oracle/rmanbackup
for i in {orcl,prod}
do
export ORACLE_SID=${i}"1"
Rdir=$basdir/$i
if [ ! -d $Rdir/$current_day ]
then
mkdir -p $Rdir/$current_day
rman target / <
run{