集中备份相关

备份策略

 

周日做 0级备份

1 2 2级备份

31级备份

4 5 6 2级备份

周日再做 0级备份

 

 

二、rman 的设置

 

 

 

根据备份要求 2 个冗余,设置如下:

 

RMAN> show all;

 

using target database control file instead of recovery catalog

 

RMAN configuration parameters are:

 

CONFIGURE RETENTION POLICY TO REDUNDANCY 2;

 

CONFIGURE BACKUP OPTIMIZATION ON;

 

CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default

 

CONFIGURE CONTROLFILE AUTOBACKUP ON;

 

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default

 

CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO BACKUPSET;

三、编写备份脚本

 

零级备份脚本

 

 

 

#!/usr/bin/bash

 

#set env

 

export ORACLE_BASE=/u01/app/oracle

 

export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1

 

export PATH=$PATH:$ORACLE_HOME/bin

 

export ORACLE_SID=prod

 

export ARC_PATH= /backup/rman_backup/arch

 

export RMAN_BAK_PATH=/backup/rman_backup

 

DATE=`date +%Y%m%d-%H:%M:%S`

 

 

 

rman target / log /home/oracleuser/scripts/log/L0_bk_$DATE.log << EOF   保存rman 备份产生的日志

 

run {

 

allocate channel c1 type disk ;

 

allocate channel c2 type disk ;

 

allocate channel c3 type disk ;

 

backup incremental level 0  tag 'dbL0' format '$RMAN_BAK_PATH/L0_%U_%t.bak' database ;

 

sql 'alter system archive log current';

 

backup filesperset 3  format '$ARC_PATH/arch%t.arc' archivelog all delete input ;

 

delete noprompt obsolete ;

 

release channel c1;

 

release channel c2;

 

release channel c3;

 

 }

 

 exit;

 

1级备份脚本

 

#!/usr/bin/bash

#set env

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1

export PATH=$PATH:$ORACLE_HOME/bin

export ORACLE_SID=prod

export ARC_PATH= /backup/rman_backup/arch

export RMAN_BAK_PATH=/backup/rman_backup

DATE=`date +%Y%m%d-%H:%M:%S`

 

rman target / log /home/oracleuser/scripts/log/L1_bk_$DATE.log << EOF

run {

allocate channel c1 type disk ;

allocate channel c2 type disk ;

allocate channel c3 type disk ;

backup incremental level 0  tag 'dbL1' format '$RMAN_BAK_PATH/L0_%U_%t.bak' database ;

sql 'alter system archive log current';

backup filesperset 3  format '$ARC_PATH/arch%t.arc' archivelog all delete input ;

delete noprompt obsolete ;

release channel c1;

release channel c2;

release channel c3;

 }

 exit;

2级备份脚本

 

#!/usr/bin/bash

#set env

 

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1

export PATH=$PATH:$ORACLE_HOME/bin

export ORACLE_SID=prod

export ARC_PATH= /backup/rman_backup/arch

export RMAN_BAK_PATH=/backup/rman_backup

DATE=`date +%Y%m%d-%H:%M:%S`

 

rman target / log /home/oracleuser/scripts/log/L2_bk_$DATE.log << EOF

 

run {

allocate channel c1 type disk ;

allocate channel c2 type disk ;

allocate channel c3 type disk ;

backup incremental level 0  tag 'dbL2' format '$RMAN_BAK_PATH/L0_%U_%t.bak' database ;

sql 'alter system archive log current';

backup filesperset 3  format '$ARC_PATH/arch%t.arc' archivelog all delete input ;

delete noprompt obsolete ;

release channel c1;

release channel c2;

release channel c3;

 }

 exit;

创建计划任务:

bash-2.04$ crontab -e

 

*    *    *    *   0        /home/oracle/scripts/bin/l0_bk.sh  

*    *    *    *    1 2      /home/oracle/scripts/bin/l2_bk.sh

*    *    *    *    3       /home/oracle/scripts/bin/l1_bk.sh

*    *    *    *    4 5 6    /home/oracle/scripts/bin/l2_bk.sh

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2018-05-22 15:03  Oracle-fans  阅读(212)  评论(0编辑  收藏  举报