ITPub博客

首页 > Linux操作系统 > Linux操作系统 > rman备份

rman备份

原创 Linux操作系统 作者:frog-qs 时间:2010-01-12 17:56:56 0 删除 编辑

RMAN备份

需要用RMAN进行备份数据库,现将过程写下来(经过测试,通过)

一.建立catalog

1.  建立catalog表空间

Create tablespace orman datafile ‘/opt/oracle/oradata/orcl/orman.dbf’ size 200m autoextend on next 1m maxsize 2048m extent managememt local;

2.  建立rman用户

Create user rman identified by rman temporary tablespace temp default tablespace orman quota unlimited on orman;

3.  给rman 用户授权

Grang connect,resource,recovery_catalog_owner to rman;

4.  连接rman完成catalog 建立

Rman catalog rman/rman@orcl

Rman>create catalog tablespace “ORMAN”;

5.  注册目标数据库

rman target sys/oracle@orcl catalog rman/rman@orcl

rman>register database;

二.配置rman

RMAN> show all;

RMAN configuration parameters are:

CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;

CONFIGURE BACKUP OPTIMIZATION ON;

CONFIGURE DEFAULT DEVICE TYPE TO DISK;

CONFIGURE CONTROLFILE AUTOBACKUP ON;

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

CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default

CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default

CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default

CONFIGURE MAXSETSIZE TO UNLIMITED; # default

CONFIGURE ENCRYPTION FOR DATABASE OFF; # default

CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default

CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default

CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/opt/oracle/10g/dbs/snapcf_orcl.f'; # default

 

三.建立备份目录

mkdir /frog/rmanback/fullback

mkdir /frog/rmanback /level0_back

mkdir /frog/rmanback /level1_back

mkdir /frog/rmanback /level2_back

chown -R oracle:oinstall /frog/rmanback/

 

 

 

 

四.建立备份脚本

      

a. 建立数据库全备份脚本

 

vi  fullback.sh

#!/bin/bash

#this is rman auto full backup script

#Copyright by frog

#date 2010-1-11

#

export ORACLE_BASE=/opt/oracle

export ORACLE_HOME=/opt/oracle/10g

export ORACLE_SID=orcl

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

export CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib

export NLS_LANG=american_america.ZHS16GBK

export PATH=/bin:/usr/bin:/usr/sbin:$ORACLE_HOME/bin:$PATH

export PATH=$PATH:/opt/local/bin

cd $ORACLE_HOME/bin

./rman target sys/oracle@orcl catalog rman/rman@orcl <

run{

allocate channel c1 type disk;

allocate channel c2 type disk;

allocate channel c3 type disk;

backup database filesperset 3 format '/frog/rmanback/fullback/ora_full_%d_%t%s%p%u';

sql 'alter system archive log current';

backup archivelog all format '/frog/rmanback/archback/arc_log_%d_%s_%p_%u' delete all input;

release channel c1;

release channel c2;

release channel c3;

}

crosscheck backup;

delete noprompt expired backup;

delete noprompt obsolete;

EOF

 

 

 

b.建立L0备份脚本

 

#!/bin/bash

#this is rman auto LEVEL 0 backup script

#Copyright by frog

#date 2010-1-11

#

export ORACLE_BASE=/opt/oracle

export ORACLE_HOME=/opt/oracle/10g

export ORACLE_SID=orcl

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

export CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib

export NLS_LANG=american_america.ZHS16GBK

export TNS_ADMIN=$ORACLE_HOME/network/admin

export PATH=/bin:/usr/bin:/usr/sbin:$ORACLE_HOME/bin:$PATH

cd $ORACLE_HOME/bin

./rman target sys/oracle@orcl catalog rman/rman@orcl <

run{

allocate channel c1 type disk;

allocate channel c2 type disk;

allocate channel c3 type disk;

backup incremental level 0 database  format '/frog/rmanback/L0_back/ora_full_%d_%t%s%p%u';

sql 'alter system archive log current';

backup archivelog all format '/frog/rmanback/archback/arc_log_%d_%s_%p_%u' delete all input;

release channel c1;

release channel c2;

release channel c3;

}

crosscheck backup;

delete noprompt expired backup;

delete noprompt obsolete;

EOF

 

C.建立L1,L2备份

      

#!/bin/bash

#this is rman auto LEVEL 0 backup script

#Copyright by frog

#date 2010-1-11

#

#set env

export ORACLE_BASE=/opt/oracle

export ORACLE_HOME=/opt/oracle/10g

export ORACLE_SID=orcl

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

export CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib

export NLS_LANG=american_america.ZHS16GBK

export TNS_ADMIN=$ORACLE_HOME/network/admin

export PATH=/bin:/usr/bin:/usr/sbin:$ORACLE_HOME/bin:$PATH

cd $ORACLE_HOME/bin

#login and begin backup

./rman target sys/oracle@orcl catalog rman/rman@orcl <

run{

allocate channel c1 type disk;

allocate channel c2 type disk;

backup incremental level 1  cumulative

skip offline

skip readonly

skip inaccessible

database  format '/frog/rmanback / L1_back/ora_full_%d_%t%s%p%u';

release channel c1;

release channel c2;

}

crosscheck backup;

delete noprompt expired backup;

delete noprompt obsolete;

EOF

 

 

#!/bin/bash

#this is rman auto LEVEL 0 backup script

#Copyright by frog

#date 2010-1-11

#

export ORACLE_BASE=/opt/oracle

export ORACLE_HOME=/opt/oracle/10g

export ORACLE_SID=orcl

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

export CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib

export NLS_LANG=american_america.ZHS16GBK

export TNS_ADMIN=$ORACLE_HOME/network/admin

export PATH=/bin:/usr/bin:/usr/sbin:$ORACLE_HOME/bin:$PATH

cd $ORACLE_HOME/bin

. /rman target sys/oracle@orcl catalog rman/rman@orcl <

run{

allocate channel c1 type disk;

backup incremental level 2 cumulative

skip offline

skip readonly

skip inaccessible

database  format '/frog/rmanback/L2_back/ora_full_%d_%t%s%p%u';

release channel c1;

}

crosscheck backup;

delete noprompt expired backup;

delete noprompt obsolete;

EOF

 

 

建立定时任务

[oracle@bbs rmanbackscript]$ crontab -e

 

*       1       28      *       *       /frog/rmanback/rmanbackscript/fullback.sh >> /frog/rmanback/rmanbacklog/fullback"`date`".log

55      23      *       *       0       /frog/rmanback/rmanbackscript/l0back.sh   >> /frog/rmanback/rmanbacklog/l0back"`date`".log

50      1       *       *       1       /frog/rmanback/rmanbackscript/l2back.sh   >> /frog/rmanback/rmanbacklog/l2back"`date`".log

45      3       *       *       2       /frog/rmanback/rmanbackscript/l2back.sh   >> /frog/rmanback/rmanbacklog/l2back"`date`".log

35      2       *       *       3       /frog/rmanback/rmanbackscript/l1back.sh   >> /frog/rmanback/rmanbacklog/l1back"`date`".log

25      3       *       *       4       /frog/rmanback/rmanbackscript/l2back.sh   >> /frog/rmanback/rmanbacklog/l2back"`date`".log

15      3       *       *       5       /frog/rmanback/rmanbackscript/l1back.sh   >> /frog/rmanback/rmanbacklog/l1back"`date`".log

5       2       *       *       6       /frog/rmanback/rmanbackscript/l2back.sh   >> /frog/rmanback/rmanbacklog/l2back"`date`".log

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22779291/viewspace-625244/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: RAC添加控制文件
下一篇: suse10sp2+rac
请登录后发表评论 登录
全部评论

注册时间:2009-10-27

  • 博文量
    132
  • 访问量
    273857