文档章节

RMAN学习过程之十,综述笔记

JAVA枪手
 JAVA枪手
发布于 2017/09/06 13:18
字数 2366
阅读 14
收藏 0

很多rman的文章或书籍的开头,总是会先写为什么要用rman,rman的优势等等。俺偏偏不如此,反倒把它放到最后面。俺认为但凡关注rman,不管了不了解、知不知道为什么要用,都不会影响到其选择rman的决定。至于其优势,相信通过前面篇章的论述,大家对其特点已经很了解,我再总结性的摘抄一些rman 的优点 ,大家对号选择看看它们有没有自夸吧。

各种故障背景下的恢复方法

丢失或损坏的文件

归档模式

数据库状态

恢复方法

一个或多个数据文件

不归档模式

关闭状态

利用一致的完全数据库备份修复整个数据库,自从备份之后发生的所有修改都将丢失;修复数据库后不需要进行恢复,利用RESETLOGS选项直接打开数据库;

注意:在这种情况下进行恢复时,惟一一种可以不利用RESETLOGS选项打开数据库的情况就是在执行最近一次备份之后,联机重做日志中的内容没有被覆盖掉。

一个或多个数据文件,以及联机重做日志文件

不归档模式

关闭状态

利用一致的完全数据库备份修复整个数据库,自从备份之后发生的所有修改都将丢失;修复数据库后不需要进行恢复,利用RESETLOGS选项直接打开数据库。

一个或多个数据文件以及所有的控制文件

不归档模式

关闭状态

利用一致的完全数据库备份修复整个数据库,自从备份之后发生的所有修改都将丢失;修复数据库后不需要进行恢复,利用RESETLOGS选项直接打开数据库。

注:以上三种不归档模式下的数据库恢复都需要在数据库关闭状态下进行,并且需要拥有正确的控制文件备份。

一个或多个数据文件

归档模式

加载状态

在数据库打开状态下执行表空间或数据文件恢复操作,首先将表空间或数据文件置为脱机状态,然后利用备份修复它们,对它们进行恢复,最后再将它们重新置为联机状态;任何数据修改都不会丢失,并且在恢复过程中数据库的其他部分仍然是可以访问的。

全部的数据文件

归档模式

关闭状态

利用备份修复数据文件,然后使用控制文件加载数据库,并且执行完全恢复;如果所有的联机重做日志文件都没有丢失或损害,最后可以用正常方式打开数据库(不需要使用RESETLOGS选项)

一个或多个数据文件以及恢复所需的归档重做日志文件。

归档模式

加载状态

对包含丢失的数据文件的表空间进行基于时间的表空间恢复,将这个表空间恢复到最近的可用归档重做日志所对应的时刻下的状态。

所有的控制文件,还可能包括一个或多个数据文件

归档模式

未加载状态

利用备份修复丢失的控制文件与数据文件,然后对数据文件进行恢复;任何数据修改都不会丢失,但是在恢复过程中数据库将处于不可用状态。

所有的控制文件,还可能包含一个或多个数据文件,以及恢复所需的归档惩一儆百日志文件与联机重做日志文件

归档模式

未加载状态

利用备份修复丢失的控制文件与数据文件,然后进行不完全恢复,将数据库恢复到最近的可用归档重做日志所对应的时刻下的状态;包含在丢失的日志文件中以及它随后的其它日志文件中的数据修改都将会丢失;最后需要使用RESETLOGS选项来打开数据库。

注:归档模式下的数据库恢复并不一定要求关闭数据库,其中某些情况要求在加载模式下进行恢复,并且也需要拥有正确的控制文件备份。

 

不同备份恢复方式的特点

RMAN 方式

自定义方式

在对联机数据文件进行备份时,RMAN将对当前处于不一致状态的数据块进行反复读取,直到读取到一个一致状态的数据块为止;你不将包含数据文件的表空间设置为进入备份模式

必须将包含要进行备份的数据文件的表空间设置为进入备份状态,然后在备份完成后再将表空间设置为退出备份模式;在表空间处于备份模式期间,数据库的性能将会由于频繁的I/O操作而受到严重影响(oracle会将用户修改的数据块先写入联机重做日志文件中)

可以进行增量备份,即仅对那些上一次自动备份以来发生变化的数据块进行备份;可以使用增量备份对数据库进行恢复,这就意味着你可以对运行在不归档模式下的数据库进行恢复;不过当数据库运行在不归档模式时,所做的增量备份也必须是一致的(即完全关闭状态下建立的备份)

在备份时只能对所有的数据块进行备份(复制文件),而不能仅对变化的数据块进行备份;如果数据库运行在不归档模式下,就只能进行数据库修复而不能进行任何恢复操作。

在备份过程中会对复制的每一个数据块进行校验,在利用备份进行修复时也会对数据库的正确性进行检查

在备份和修复过程中都不会对数据块进行任何校验与检查;如果修复所使用的备份中包含损坏的数据块,那么恢复后的数据库中将包含错误的数据

在备份过程中仅会复制那些包含数据的数据块,而并不会复制那些完全空白的数据块,这样得到的备份文件的大小就会大大缩小。

在备份过程中只能完全复制数据文件,无论数据文件中包含了多少实际数据,备份的大小与数据库的大小是相同的。

利用恢复目录来存放与备份和恢复相关的重要信息,包括:

l  数据库中包含的模式

l  哪些文件需要进行备份

l  哪些文件在经过了指定的天数后还没有进行新的备份

l  哪些文件由于已经有了更新的备份或者已经无法用户恢复过程而需要删除

l  当前RMAN的参数配置等

不会对用户的备份与恢复操作进行任何记录,除非你自己以手工方式进行记录

可以将一系统相关的RMAN命令作为脚本保存在档案库中,在需要时招行这些脚本就可以完成特定的备份或恢复操作

只能将备份或恢复命令保存成操作系统批处理文件,维护起来比较困难。

可以利用RMAN备份轻松地复制出一个与当前数据库一模一样的数据库,你可以利用复制出来的数据库作为测试用数据库或者备用数据库使用

如果要建立测试用数据库或备份数据库,必须按照创建普通数据库的过程来进行复杂的操作。

在进行备份或修复操作时可以自动进行并行操作

必须根据要进行备份或恢复的文件以手工方式并行招行操作系统命令

提供归档日志自动容错功能:如果RMAN发现某个备份中丢失了或损坏一个归档重做日志文件,它会自动利用其它备份中的相同的归档重做文件来进行替换

无法自动提供归档日志的容错替换功能

通过使用介质管理API,RMAN可以与其它第三方的介质管理软件紧密地结合在一起进行工作。

无法与任何第三方介质管理软件直接结合在一起进行工作。

  在前面我已经不止一次的提到过,RMAN非常简单,同时也非常灵活,经过这近一个月的学习和实践,我们介绍了很多基础性的操作,当然RMAN的功能绝不止于此,一些更高级的功能,比如数据块恢复,通过Duplicate创建standby等等。路漫漫其修远矣,吾将上下而求索~~~~~

本文转载自:http://www.5ienet.com/note/html/rman/rman-backup-intro.shtml

共有 人打赏支持
JAVA枪手
粉丝 7
博文 95
码字总数 15221
作品 0
东城
高级程序员
私信 提问
catalog恢复目录介绍和配置

2.1、nocatalog介绍 nocatalog方式 就是用control file作为catalog,每一次备份都要往控制文件里面写好多备份信息,控制文件里面会有越来越多的备份信息。因此,当使用rman nocatalog方式备份...

PengChonggui
06/28
0
0
oracle-rman-list命令收集

参考Oracle Database Backup and Recovery Reference文档。 列出备份信息 列出详细备份信息:备份集(Backup Sets),镜像备份(image copies),proxy copies的信息。 lists backup sets, image...

sijinge
2017/11/07
0
0
RMAN简明教程之五——RMAN还原和恢复

一、常规还原与恢复 RMAN 的整个恢复过程可以分为还原(restore)与恢复(recover) ,他们在含义上是有很大差别的,一个是指物理意义的文件的还原与拷贝,一个是指数据库一致性的恢复,所以...

晨曦之光
2012/03/09
0
0
NBU网络备份大全之oracle系统热备份

学习和掌握如何使用NBU备份文件系统,对于一个数据管理员来说,仅仅是一个开始。因为对于大部分企业来说,买来NBU主要是为了备份企业数据库的数据,保护数据库的数据安全,进而保证企业应用的...

晨曦之光
2012/03/09
0
0
oracle 12c pdb 恢复

备份数据库 [oracle@12cr2 ~]$ rman target / RMAN> backup database; RMAN> list backup summary; 数据库open状态,系统表空间损坏 -----故障模拟 [oracle@12cr2 ~]$ sqlplus / as sysdba ......

lych528
08/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

延迟队列实现精准的订单超时取消--自我记录备份

订单的超时取消很多系统采用定时任务,实际上达不到要求。我用的是延迟队列,但缺点是只实现了基于jvm的,分布式采用的是修改之前去查询订单状态,以及分布式锁获取的方式来控制,这样获得锁...

checkboxMan
35分钟前
1
0
storm 环境搭建

1.下载解压 下载地址:http://storm.apache.org/downloads.html #下载wget https://www-us.apache.org/dist/storm/apache-storm-1.2.2/apache-storm-1.2.2.tar.gz#解压tar -zxf apache......

MrPei
49分钟前
1
0
Python Base - 读写文件,字符串拼接,单引号

字符转义 读写文件cvs 字符串拼接,替换 import csvcsv_file_name = 'cardbin.csv'# insert into `card_bin_code` (name_of, code_of, card_no_prefix, bank_code) values ('中国银行......

园领T
50分钟前
1
0
基于JQUERY BOOTSTRAP 最简单的loading遮罩层

<%--loading遮罩层--%><div class="modal fade" id="loadingModal" backdrop="static" keyboard="false">   <div style="width: 200px;height:20px; z-index: 20000; position: abs......

颖辉小居
51分钟前
1
0
springboot+kafka

1,首先springboot对kafka的支持也很好,同样是在配置文件中配置好参数,然后就可以直接使用。先说一下,很简单,,,不要怕 2,我用的依赖是 <dependency> <groupId>org.springframewor...

我真是小菜鸡
55分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部