ITPub博客

首页 > 数据库 > Oracle > Oracle 集中备份脚本

Oracle 集中备份脚本

原创 Oracle 作者:crazyboytan 时间:2012-10-12 14:23:40 0 删除 编辑

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博客 ” ,链接:https://blog.itpub.net/28254374/viewspace-1059580/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-10-16

  • 博文量
    6
  • 访问量
    41206