首页 > 数据库 > Oracle > Oracle 集中备份脚本
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;
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28254374/viewspace-1059580/ ,如需转载,请注明出处,否则将追究法律责任。