RMAN备份策略

前言

对Oracle数据库制定一个有效的备份策略,使用RMAN做增量备份,减少每次都全备所带来的时间、系统资源和存储空间的占用,同时也尽量地减少恢复数据库的时间。

一、备份规划

二、RMAN配置

RMAN> show all;

RMAN configuration parameters for database with db_unique_name ORCL are:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO ‘/home/backup/controlfile/%F‘;
CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO BACKUPSET;
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT   ‘/home/backup/backup_%U‘;
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM ‘AES128‘; # default
CONFIGURE COMPRESSION ALGORITHM ‘BASIC‘ AS OF RELEASE ‘DEFAULT‘ OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO ‘/u01/app/oracle/product/11.2.0/dbhome_1/dbs/snapcf_orcl.f‘; # default

三、备份脚本

3.1、0级备份脚本

#!/usr/bin/bash
export ORACLE_SID=orcl
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
DATE=`date +%y-%m-%d`
$ORACLE_HOME/bin/rman target / log=/home/scripts/rman/log/${DATE}_L0.log <<EOF
run
{
allocate channel c1 device type disk;
allocate channel c2 device type disk;
sql ‘alter system archive log current‘;
backup filesperset 2 incremental level 0 tag ‘level0‘ format ‘/home/backup/level0/lvl0_%d_%T_%U‘ database include current controlfile;
sql ‘alter system archive log current‘;
backup  filesperset 2 archivelog all tag ‘arch_level0‘ format ‘/home/backup/arch/arch_lvl0_%d_%T_%U‘ delete all input;
crosscheck backup;
crosscheck archivelog all;
delete noprompt expired backup;
delete noprompt expired archivelog all;
delete noprompt obsolete;
release channel c1;
release channel c2;
}
EOF

3.2、1级备份脚本

#!/usr/bin/bash
export ORACLE_SID=orcl
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
DATE=`date +%y-%m-%d`
$ORACLE_HOME/bin/rman target / log=/home/scripts/rman/log/${DATE}_L1.log <<EOF
run
{
allocate channel c1 device type disk;
allocate channel c2 device type disk;
sql ‘alter system archive log current‘;
backup filesperset 2 incremental level 1 tag ‘level1‘ format ‘/home/backup/level1/lvl1_%d_%T_%U‘ database include current controlfile;
sql ‘alter system archive log current‘;
backup filesperset 2 archivelog all tag ‘arch_level1‘ format ‘/home/backup/arch/arch_lvl1_%d_%T_%U‘ delete all input;
crosscheck backup;
crosscheck archivelog all;
delete noprompt expired backup;
delete noprompt expired archivelog all;
delete noprompt obsolete;
release channel c1;
release channel c2;
}
EOF

3.3、2级备份脚本

#!/usr/bin/bash
export ORACLE_SID=orcl
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
DATE=`date +%y-%m-%d`
$ORACLE_HOME/bin/rman target / log=/home/scripts/rman/log/${DATE}_L2.log <<EOF
run
{
allocate channel c1 device type disk;
allocate channel c2 device type disk;
sql ‘alter system archive log current‘;
backup filesperset 2 incremental level 2 tag ‘level2‘ format ‘/home/backup/level2/lvl2_%d_%T_%U‘ database include current controlfile;
sql ‘alter system archive log current‘;
backup filesperset 2 archivelog all tag ‘arch_level2‘ format ‘/home/backup/arch/arch_lvl2_%d_%T_%U‘ delete all input;
crosscheck backup;
crosscheck archivelog all;
delete noprompt expired backup;
delete noprompt expired archivelog all;
delete noprompt obsolete;
release channel c1;
release channel c2;
}
EOF

四、添加脚本到定时任务

0 2 * * 0 nohup sh /home/scripts/rman/bak/rman0.sh >/dev/null 2>&1 &
0 2 * * 1 nohup sh /home/scripts/rman/bak/rman2.sh >/dev/null 2>&1 &
0 2 * * 2 nohup sh /home/scripts/rman/bak/rman2.sh >/dev/null 2>&1 &
0 2 * * 3 nohup sh /home/scripts/rman/bak/rman1.sh >/dev/null 2>&1 &
0 2 * * 4 nohup sh /home/scripts/rman/bak/rman2.sh >/dev/null 2>&1 &
0 2 * * 5 nohup sh /home/scripts/rman/bak/rman2.sh >/dev/null 2>&1 &
0 2 * * 6 nohup sh /home/scripts/rman/bak/rman2.sh >/dev/null 2>&1 &

原文地址:https://www.cnblogs.com/shaozi/p/8392748.html

时间: 2024-08-29 18:51:44

RMAN备份策略的相关文章

RMAN备份策略与异机恢复一例

实验环境: A机器(生产用途):RHEL 6.5 + Oracle 11.2.0.4 + IP Address 192.168.1.11 B机器(备机用途):RHEL 6.5 + Oracle 11.2.0.4 + IP Address 192.168.1.61 需求: A机器RMAN备份完成后自动传输备份文件到B机器.防止A机器本身硬件Crash无法恢复造成核心数据库无法恢复的窘境.而且在B机器可以将数据异机恢复到任意时间点. 注意:因为要求备份完毕后直接脚本命令自动传输到异机备份目录,所以需

Oracle RMAN备份策略

建立增量备份:如果数据库运行于不归档模式下,只能在数据库干净关闭的情况下 ( 以 normal .immediate . transactional 方式关闭 ) 才能进行一致性的增量备份,如果数据库运行于归档模式下,那即可以在数据库关闭状态进行,也可以在数据库打开状态进行备份.再次说明了打开归档模式的优势,归档日志也就是多占些磁盘空间,可也相当于又给数据加了层保护.建立增量备份,实质就是一个参数 incremental level=n ,在执行 backup命令时加上即可,例如,建立一个增量级

Rman备份的保留策略(retention policy)

什么是备份的保留策略(retention policy) 保留策略就是指某份备份是否要保留以及保留多久.可以使用configure retention policy命令来创建一个一致的.自动的备份保留策略. 当一个备份策略生效后,rman就认为数据文件.控制文件的备份是obsolete的,也就是说根据用户配置,不再需要这些备份进行恢复.用户可以使用report obsolete命令找出obsolete的文件并使用delete obsolete将其删除. 随着备份次数的增加,老的备份文件会变得ob

创建RMAN备份 恢复目录数据库

这是前段时间给客户做的RMAN备份策略,今天有时间整理出来,希望对大家有些帮助,如有不对的地方欢迎大家给予指点,谢谢!   创建成恢复目录数据库 如果不是在本地配置RMAN 恢复目录, 在一台WINDOW2000电脑上安装ORACLE数据库,最好保证数据库版本与目标数据库的版本想同. 建立RMAN 数据库用户及表空间: RECOVER CATALOG 表空间(cattbs):1G系统表空间:       100MUNDO表空间:     100M临时表空间(TEMP):        100M 

Oracle RMAN备份恢复2-案例篇_超越OCP精通Oracle视频教程培训18

oracle视频教程目标 Oracle视频教程,风哥本套oracle教程培训学习oracle数据库如何设计一个TB级数据库的RMAN备份策略,RMAN备份与恢复案例-丢失所有文件,丢失单个数据文件,丢失整个数据和system表空间,丢失控制文件和参数文件,存储损坏数据丢失,丢失REDO重做日志文件,基于时间点,scn,cancel,备份控制文件的不完成恢复案例. 适用人群 IT相关从业人员.Oracle数据库技术人员.想加工资的.想升职的都可以. 视频在线学习地址: http://edu.51c

ORACLE RMAN备份--差异增量与累积增量的策略实例图

转自原文 ORACLE RMAN备份--差异增量与累积增量的策略实例图 BACKUP 命令在不显式指定的情况下,默认情况下会选择Differential方式,即差异增量备份.不过从恢复效率的角度考虑,Cumulative方式的增量备份表现更好一些,毕竟不需要读取那么多备份集了. 注意: 在10g之前的版本中,增量备份可以有 n 多个级别,从0级.1级.2级……这样顺序排列直到 n 级( n 为小于等于4的正整数). 在10g版本中,Oarcle的官方文档明确指出增量备份只有0和1两种级别(太多增

RMAN兼容性、控制文件自动备份、保存时间、备份策略、备份脚本(二)

RMAN 程序的兼容性 RMAN 环境由以下5部分组成:(1) RMAN executable(2) Recovery catalog database(3) Recovery catalog schema in the recovery catalog database(4) Target database(5) Auxiliary database (used forduplicate, duplicate for standby or tablespace point-in-time re

oracle 11.2.0.3 rac集群rman周备份策略

1 1.1备份策略 2 周日执行0级的增量备份 3 4 周一执行2级的增量备份 5 6 周二执行2级的增量备份 7 8 周三执行1级的增量备份 9 10 周四执行2级的增量备份 11 12 周五执行2级的增量备份 13 14 周六执行2级的增量备份 15 周日进行一次零级备份,周一.周二.进行二级备份:周三进行一级备份:周四.周五.周六进行二级备份.在执行备份的时候,我们考 虑将数据文件的全备和归档日志备份分开执行,避免造成一些不必要的麻烦.在进行全备的时候,由于RAC的两个节点是共享的所有数据

配置RMAN备份环境

关于配置RMAN备份环境你可以给每个目标数据库设置一些固定的配置,这些配置控制着RMAN多个方面的行为.例如,你可配置备份的保存策略.默认的备份目录.默认的备份设备类型等.你可以用show命令来查看配置及用configure来修改RMAN的配置. 1.查看和清除RMAN配置参数show命令可以查看RMAN当前的配置情况,以及这些参数当前是否设置了默认值.SHOW ALL; --查看说有的配置情况 你也可以通过SHOW命令加指定的配置参数的名字来查看它的值.例:SHOW RETENTION POL