集中备份相关

备份策略

周日做 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

 

猜你喜欢

转载自www.cnblogs.com/iyoume2008/p/9072155.html