0级备份完整脚本
#!/bin/bash
begintime=`date`
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=caland
export BACKUP_DIR=/arch/backup/caland
export PATH=$PATH:$ORACLE_HOME/bin
rq=` date +"20%y"-"%m"-"%d"-"%H":"%M":"%S" `
/u01/app/oracle/product/10.2.0/db_1/bin/rman target sys/oracle@caland log=/backup_scripts/caland/log/backup_0_$rq.log<
run
{
CONFIGURE RETENTION POLICY TO REDUNDANCY 2;
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '$BACKUP_DIR/$ORACLE_SID-%F.ctl';
CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO COMPRESSED BACKUPSET;
CONFIGURE CHANNEL 2 DEVICE TYPE DISK FORMAT '$BACKUP_DIR/$ORACLE_SID-%U.bak';
backup incremental level=0 database format='$BACKUP_DIR/$ORACLE_SID-%U-$rq.bak' ;
sql 'alter system archive log current';
backup archivelog all not backed up 1 times format='$BACKUP_DIR/$ORACLE_SID-%U-$rq.arc';
delete noprompt obsolete;
delete archivelog all completed before 'sysdate-7';
}
LIST BACKUP;
EOF
endtime=`date`
echo "begin time:" $begintime
echo "end time:" $endtime
2级备份完整脚本
#!/bin/bash
begintime=`date`
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=caland
export BACKUP_DIR=/arch/backup/caland
export PATH=$PATH:$ORACLE_HOME/bin
rq=` date +"20%y"-"%m"-"%d"-"%H":"%M":"%S" `
/u01/app/oracle/product/10.2.0/db_1/bin/rman target sys/oracle@caland log=/backup_scripts/caland/log/backup_0_$rq.log<
run
{
CONFIGURE RETENTION POLICY TO REDUNDANCY 2;
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '$BACKUP_DIR/$ORACLE_SID-%F.ctl';
CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO COMPRESSED BACKUPSET;
CONFIGURE CHANNEL 2 DEVICE TYPE DISK FORMAT '$BACKUP_DIR/$ORACLE_SID-%U.bak';
backup incremental level=2 database format='$BACKUP_DIR/$ORACLE_SID-%U-$rq.bak' ;
sql 'alter system archive log current';
backup archivelog all not backed up 1 times format='$BACKUP_DIR/$ORACLE_SID-%U-$rq.arc';
delete noprompt obsolete;
delete archivelog all completed before 'sysdate-7';
}
LIST BACKUP;
EOF
endtime=`date`
echo "begin time:" $begintime
echo "end time:" $endtime
计划任务
每周六做0级备份,其余每天做2级备份
[oracle@rhel ~]$ crontab -e
0 4 * * 6 /backup_scripts/caland/backup_caland_level_0.sh >> /backup_scripts/caland/log/backup_caland_level_0.log 2>&1
0 4 * * 0,1,2,3,4,5 /backup_scripts/caland/backup_caland_level_2.sh>>/backup_scripts/caland/log/backup_caland_level_2.log 2>&1
域允许值范围
分钟 0-59
小时 0-23
日 1-31
月 1-12 (或者用jan/feb等名字)
星期几 0-7 (0或7是周日,也可以用mon,tue等表示)
其他
备份和归档写成一句
backup incremental level=2 database format='/arch/backup/caland/%U.bak' plus archivelog format='/arch/backup/caland/%U.arc' delete input;
[@more@]来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28254374/viewspace-1059580/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/28254374/viewspace-1059580/