我对Oracle RMAN备份的理解

整体原则:先备份应该备份的内容,然后在此基础上进行备份的优化。为了干好这些必须掌握一些RMAN备份的基本技巧和查询等语句。

首先备份应该备份的内容:

Rman>backup database; //备份了所有的数据文件、控制文件和初始化参数文件

Rman>backup current controlfile;

Rman>backkup archivelog all;

此时已备份了所有需要的内容,接下来就是对该备份进行优化。

优化:

首先可以为以上每条命令所生成的文件定义格式:

Rman>backup database format ‘d:backupdb_%F’;

Rman>backup current controlfile format ‘d:backupctl_%F’;

Rman>backup archivelog all format ‘d:backupctl_%F’;

接下来可以把以上三条命令放入run中进行批处理执行:

Run{

#backup

database

backup

database format ‘d:backupdb_%F’;

#bacup

ctlfile

backup

current controlfile format ‘d:backupctl_%F’;

#backup

arclog

backup

archivelog all format ‘d:backupctl_%F’;

}

为每条命令增加通道和指定备份介质:

run{

#backup

database

allocate

channel ch_db device type disk format ‘d:backupdb_%F’;

backup

database;

release

channel ch_db;

#bacup

ctlfile

allocate

channel ch_ctl device type disk format ‘d:backupctl_%F’;

backup

current controlfile;

release

channel ch_ctl;

#backup

arclog

allocate

channel ch_arc device type disk format ‘d:backuparc_%F’;

backup

archivelog all delete input;

release

channel ch_arc;

}

紧接着可以对每个备份集进行一些细微的优化,如在备份归档日志文件时自动删除已备份的归档日志、每个备份集最多允许的文件个数、每个备份集的大小、每个备份片的大小,其中备份片的大小可能与备份介质的容量有关,比如备份到磁带机则应考虑该参数:

run{

#backup

database

allocate

channel ch_db device type disk maxpiecesize=100m format ‘d:backupdb_%F’;

backup

filesperset 5 database;

release

channel ch_db;

#bacup

ctlfile

allocate

channel ch_ctl device type disk maxpiecesize=100m format ‘d:backupctl_%F’;

backup

current controlfile;

release

channel ch_ctl;

#backup

arclog

allocate

channel ch_arc device type disk maxpiecesize=100m format ‘d:backuparc_%F’;

backup

filesperset 20 archivelog al;

release

channel ch_arc;

}

进一步的优化可以是对RMAN备份参数的一些设定,如开启控制文件的自动备份,配置备份保留策略并检查:

Rman>configure controlfile autobackup

on;

Rman>configure controlfile autobackup format for

device type disk to ‘d:backupautobk_ctl_%F’;

Rman>configure retention policy to

recovery window of 30 days;

增加一些对过期文件生成的检查和删除命令,并将以下内容保存至db_fullbk.rman文件:

run{

#backup

database

allocate

channel ch_db device type disk maxpiecesize=100m format ‘d:backupdb_%F’;

backup

filesperset 5 database;

release channel

ch_db;

#bacup

ctlfile

allocate

channel ch_ctl device type disk maxpiecesize=100m format ‘d:backupctl_%F’;

backup

current controlfile;

release

channel ch_ctl;

#backup

arclog

allocate

channel ch_arc device type disk maxpiecesize=100m format ‘d:backuparc_%F’;

backup

filesperset 20 archivelog al;

release

channel ch_arc;

}

allocate channel for maintenance device

type disk;

crosscheck backupset;

delete obsolete;

至此,用RMAN对数据库进行全备份的命令就已经准备完成。接下来将准备增量备份的命令,其实就是在全部命令的基础上增加了incremental level=1的设置,并将以下内容保存成db_incbk.rman文件:

run{

#backup

database

allocate

channel ch_db device type disk maxpiecesize=100m format ‘d:backupdb_%F’;

backup

incremental level=1 filesperset 5 database;

release

channel ch_db;

#bacup

ctlfile

allocate

channel ch_ctl device type disk maxpiecesize=100m format ‘d:backupctl_%F’;

backup

current controlfile;

release

channel ch_ctl;

#backup

arclog

allocate

channel ch_arc device type disk maxpiecesize=100m format ‘d:backuparc_%F’;

backup

filesperset 20 archivelog al;

release

channel ch_arc;

}

allocate channel for maintenance device

type disk;

crosscheck backupset;

delete obsolete;

到目前为止,全备和增量备份的执行脚本都已准备完成,接下来就是利用操作系统来定时调用两个脚本:

(似乎)也可以在Oracle EM中进行备份调度的设置:

如果还要进行更好的优化,可以建立恢复目录,将RMAN的备份信息记录到恢复目录中去:

最后就是需要掌握一些维护RMAN的命令和相关的动态性能视图:[@more@]

oracle rman是干嘛的,我对Oracle RMAN备份的理解相关推荐

  1. Oracle的奇葩设置之非归档模式与RMAN备份

    数据库归档模式与RMAN备份策略是保障数据库数据安全的基本手段,对于ORACLE数据库DBA来说,很清楚ORACLE的RMAN备份是基于数据库的归档模式,但对于主机维护人员及开发人员,他们可能很不清楚 ...

  2. oracle归档日志 delete obsolete 保留一次全备,Rman Crosscheck删除失效归档

    当手工删除了归档日志以后,Rman备份会检测到日志缺失,从而无法进一步继续执行. 所以此时需要手工执行crosscheck过程,之后Rman备份可以恢复正常. 1.Crosscheck日志 $ rma ...

  3. 爱数oracle备份软件,oracle 11g更新补丁后,第三方软件爱数RMAN备份报错ALLOCATE CHANNEL...

    1.故障现像: oracle 11.2.0.4数据库安装补丁包p28204707_112040_Linux-x86-64之后,使用爱数备份一体机备份ORACLE最后会报错失败,失败报错如下 2.问题分 ...

  4. oracle增量备份level0,ORACLE RMAN增量备份经典理解

    中,增量时分等级的,级别从0开始,一级一级递增,不过实际上用的最多的也就是0级和1级了,0级增量是后面级别的增量备份的 基础,0级备份实际上就是一个完全备份,与普通的完全备份唯一的不同点是0级备份可以 ...

  5. linux ora 01157,案例:Oracle报错ORA-01157 ORA-01110 数据启动报错RMAN恢复数据库思路

    天萃荷净 rman从多份备份中还原操作,运维DBA工程师反映数据库在进行恢复时报错ORA-01157 ORA-01110,分析原因为11号数据文件需要recover 1.数据恢复ORA错误 RMAN& ...

  6. oracle 记录镜像文件,记录oracle 10g RMAN的一些新特征-介绍了镜像与备份集的区别...

    1.单条命令"backup as copy"进行全数据库镜像拷贝备份: RMAN> run { 2> backup as copy tag "sjh09032 ...

  7. oracle 增量备份 需要归档日志,ORACLE RMAN增量备份经典理解

    中,增量时分等级的,级别从0开始,一级一级递增,不过实际上用的最多的也就是0级和1级了,0级增量是后面级别的增量备份的 基础,0级备份实际上就是一个完全备份,与普通的完全备份唯一的不同点是0级备份可以 ...

  8. oracle根据生产库建立测试库,如何使用RMAN创建测试库(duplicate)

    截图是个体力活,把图片弄到文章里又是一通折腾,俺是坚定地纯文字版! 场景: 2台虚拟机,一台有数据库ORCL,另一台只装了数据库软件 要求: 将ORCL 迁移到另一台上,不允许宕机 约定:采用最简单的 ...

  9. 一 如何检查oracle的归档日志及空间占用率,清除归档日志、Oracle归档日志使用情况查询、查看oracle数据库一周产生的归档日志

    一 如何解决"归档日志已满问题" 问题描述:所用数据库为 Oracle 10g ,模式为归档模式,oracle 系统默认的归档空间为2G,由于日志过多,空间写满,数据库的redo文 ...

  10. oracle数据库领域,菜鸟成长课程之《Oracle数据库职业直通车》,引领大家真正进入Oracle数据库领域...

    课程简介: 近年来,Oracle数据库无疑是全球数据库领域中的领航者, Oracle DBA的待遇节节攀升, 导致了许多人希望转入这个行业.而Oracle数据库又因它的庞大和复杂另很多人望而却步,找不 ...

最新文章

  1. nfs client高性能参数设置
  2. ping的实现和代码分析
  3. 区别和认识四个判等函数
  4. 删除前导0后缀0的几种方法
  5. awesome docsify learning notes
  6. 通过syslog接收远程日志
  7. webstorm汉化流程
  8. win7 专业版 破解教程
  9. ThinkPHP6校园疫情防控管理系统
  10. linux文件最大访问数,测试Linux最大打开文件数参数
  11. 盘点常见元器件级性识别方法
  12. 服务器系统https打不开网页,记录一次解决网站突然无法打开处理HTTP被封的问题...
  13. 这所985【交通大学】成立电子与信息学部!计算机等专业包含在内!
  14. 程序员如何才能写出一篇好的技术文章
  15. 推荐系统之协同过滤概述
  16. Windows文件搜索软件Everything
  17. Ditto 复制粘贴
  18. 【高等数学】函数与极限
  19. 【Globalmapper中文入门到精通系列实验图文教程】(附配套实验数据+中文汉化版安装包23+24,持续同步更新)
  20. 【每日早报】2019/08/01

热门文章

  1. WiFi Interface 的 name 如何获取到
  2. 全国加油站分布数据/停车场分布/公园分布/景区分布/保护区分布/2020年poi感兴趣点
  3. php结构的项目,ThinkPHP修改项目结构
  4. 服务器虚拟化mv,MVMC简化虚拟机迁移过程
  5. java 视频压缩_Java视频压缩有人会吗?
  6. python 释放内存_python深入之python内存管理机制(重点)
  7. python传大文件如何检查遗漏,如何使用Python获取大文件的实时复制进度?
  8. 一款严肃而又活泼的少儿学数学软件截图
  9. 图:用PPT为湖北黄石某电视台及其有线电视定制的知识竞赛题库
  10. 关于域名的那些“彩蛋”