oa数据库rman备份

来源:互联网 发布:微店和淘宝哪个安全 编辑:程序博客网 时间:2024/05/01 06:28
- newoa服务器: IBM X3650 M4服务器上的oracle备份 –
– 由于oa数据库很小, 0级增量备份, 即全备

[oracle@newoa ~]# vim /oracle/backup/bin/hot_database_backup

#!/bin/env sh
#
# Make Full database backup (incremental level 0)

DATE=`date +%F`
LOG=/oracle/backup/data/rmanbak_$DATE.log

ORACLE_SID=oa
ORACLE_BASE=/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
PATH=$ORACLE_HOME/bin:$PATH
export PATH ORACLE_BASE ORACLE_HOME ORACLE_SID

echo "========== Starting rman backup ==========" >> $LOG

rman target \'/ as sysdba\' nocatalog log=$LOG append  <<EOF
run {
allocate channel c1 type disk;
allocate channel c2 type disk;

backup incremental level 0 skip inaccessible filesperset 10 database format='/oracle/backup/data/orcl_lev0_%U_%T' tag='orcl_lev0';

sql 'alter system archive log current';

backup archivelog all tag='arc_bak' format='/oracle/backup/data/arch_%U_%T' skip inaccessible filesperset 10 not backed up 1 times delete input;

backup current controlfile tag='bak_ctlfile' format='/oracle/backup/data/ctl_file_%U_%T';

backup spfile tag='spfile' format='/oracle/backup/data/orcl_spfile_%U_%T';

release channel c2;
release channel c1;
}

report obsolete recovery window of 7 days;
delete noprompt obsolete;
crosscheck backup;
delete noprompt expired backup;
report schema;
list backup summary;
EOF

# delete the old log file
find /oracle/backup/data -name "*.log" -atime +0 -exec rm -rf {} \;

if [ $? -eq 0 ]
then
   echo >> $LOG
   echo "========== End rman backup ==========" >> $LOG
else
   echo "========== Bad backup ==========" >> $LOG
fi

[oracle@newoa ~]# chmod +x  /oracle/backup/bin/hot_database_backup

[oracle@newoa ~]# crontab -e
1 1 * * * /oracle/backup/bin/hot_database_backup >/dev/null 2>&1

0 0