- newoa服务器: IBM X3650 M4服务器上的oracle备份 –
– 由于oa数据库很小, 0级增量备份, 即全备
#
# 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
– 由于oa数据库很小, 0级增量备份, 即全备
[oracle@newoa ~]# vim /oracle/backup/bin/hot_database_backup
#
# 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