RMAN理论知识

RMAN是现在最常用的备份恢复手段,为什么不用传统的备份恢复呢?
1.OS拷贝实现的备份显然无法在备份的同时分析数据文件内部的结构,
这将使得数据库打开的时候的备份要设置表空间热备份模式,为防止拷
贝的块成为OS的拆分块,这将需要更多的日志来保证数据的完整性。
2.另外操作系统备份不能分析数据块内部结构的增量变化,不能实现
增量和差量备份。对于海量数据库,显然每次都是全备份是不现实的。
3.操作系统备份不能分析块结构是否有坏块,因为它不能读取块结
构信息以确定块是否为一个ORACLE正常块。
4.不便于管理,备份的目的地需要DBA去记住。


RMAN的特征:
恢复管理器(Recovery Manager),简称RMAN,它是一个Oracle 实用程序,
用于管理Oracle 数据库上的备份、还原和恢复操作。RMAN 具有功能强大
且独立于操作系统的命令语言。RMAN 提供的几种功能是在使用操作
系统命令执行用户管理的备份时所不具备的。
1.备份数据库、表空间、数据文件、控制文件和归档日志
2.可以将频繁执行的操作作为脚本存储在数据库中。
3.执行增量块级别备份。
4.跳过未使用的块
5.指定备份限制


RMAN 为执行下列操作提供了一种灵活的方式:
1.检测备份过程中损坏的块,并将坏块记录到数据字典中
2.通过下列方式提高性能:
  2.1:自动并行化:可以设置多个通道,并设置并行度来实现多通道并行备份和恢复来提高实现的速度。
  2.2:生成较少的重做日志:因为不需要担心OS拷贝命令会产生拆分块
  2.3:限制备份的I/O 操作
  2.4:磁带流式处理:应用多路复用技术,在保持磁带机流式处理的同时,防止任何一个文件读写溢流
3.管理备份和恢复任务,可以制定备份恢复作业保存至脚本中,甚至存入到CATALOG中。
4.可以检测块的损坏情况。可以使用V$BACKUP_CORRUPTION 和V$COPY_CORRUPTION 
动态视图来获取有关在备份时检测到的块损坏的信息。
5.RMAN 包含一个介质管理API,可以与第三方介质管理工具一起无缝工作,使得这
些工具可以与存储设备实现交互,从而提高速度和可靠性。


RMAN的组件

要使用RMAN,必须要有RMAN执行文件,会有RMAN进程,
RMAN备份恢复需要连接到目标数据库,目标数据库的
数据要备份到介质上,所以在目标数据库和备份介质间需要建立通道
通道是RMAN重要的概念,一个目标库可以设置多个通道,
比如一个是连接到磁带的通道,一个是连接到存储磁盘的通道,
那我们备份恢复的信息,如备份的目录,文件名等信息是放在哪儿呢?
如果是用户模式的备份,那么备份目的地得DBA自己记住,
但是RMAN就方便多了 ,会专门有地方来存放这些信息的,
这些信息可以存储在两个地方,默认是存储在目标数据库的控制文件里,
我们很多数据字典都是从控制文件里读取的,比如V$DATAFILE,那么我们
的备份恢复元信息,也存储在控制文件,以数据字典的形式。这种方式是强制的。
另一种方法是专门建立一个数据库来存放这些元数据。这个数据库的名字叫CATALOG,
这样做的好处是,一个CATALOG可以保存多个目标数据库的备份恢复元信息,
如果是第一种方法,那么控制文件只记录自己数据库的元信息。
RMAN的每个组件的作用,
1.RMAN执行文件:RMAN命令可以在$ORACLE_HOME/bin下调用,它是ORACLE标准的一个组件。
RMAN 解释用户命令并相应地调用服务器会话,以执行所需的任务。
2.Oracle Enterprise Manager:提供RMAN功能的ORACLE企业管理器。采用的是图形用户界面。
企业管理器也可以来管理RMAN的操作,变成图形化操作。
3.服务器会话:由RMAN调用的服务器进程(UNIX) 或线程(Windows NT) 与目标数据库连接,
通过PL/SQL 接口执行备份、还原和恢复功能。
4.目标数据库:正在使用RMAN 对其进行备份和恢复操作的数据库称作目标数据库。
目标数据库的控制文件包含其物理结构的有关信息,例如,数据文件的大小和位置、
联机和归档重做日志文件以及控制文件。在备份和恢复操作过程中,由RMAN 调用的服务器会话将使用这些信息。
5.RMAN 资料库(CATALOG库):RMAN 在执行备份、还原和恢复操作时使用一些历史任务的信息,这些信息称为RMAN 元数据。
这些元数据存储在目标数据库的控制文件和可选的CATALOG数据库中。CATALOG数据库就是CATALOG库,它通常是一个库,
或者是一个表空间,或者是一个SCHEMA下的对象。尽管不是必须创建CATALOG才可以使用RMAN,但使用CATALOG却是有益的。
CATALOG应放在目标数据库之外的另一数据库中,这样可以避免备份的目标库和备份目标库的历史信息同时损坏,
使得数据目标库变的很难修复。
6. 通道:RMAN 需要链接至目标数据库。该链接称为通道。
可手动分配通道,也可以使用自动通道分配功能预先配置通道。
7.介质管理库:介质管理库(MML) 由RMAN 在写入磁带或从磁带读取时使用。


RMAN使用控制文件中的资源库
NOCATALOG时元数据只在控制文件中的,那么CATALOG的时候,控制文件就没元数据了?
元数据先是写在控制文件的,控制文件肯定有元数据,但是他有缺陷:
1.RMAN 资料库包含的是有关目标数据库和备份及恢复操作的元历史操作数据。
2.RMAN 资料库始终存储在目标数据库的控制文件中。
控制文件大小是有限的,所以我们要限制控制文件因为填充元数据而变的太大,
通过什么来限制呢?
  CONTROL_FILE_RECORD_KEEP_TIME参数用于确定一个记录至少要在控制文件中保留多少天才可被覆盖。
3.控制文件可能增大,RMAN 在RMAN 资料库中存储有关目标数据库及其备份和恢复历史操作的信息。
控制文件存储的信息量会根据备份频率、生成的归档重做日志文件的数量以及RMAN 记录的保留时间而增长。
在系统中凡是有物理结构性变化及某些后台进程的触发都会读写控制文件(如增量检查点)。
所以控制太大不利用性能,我们需要控制控制文件的大小。
如果使用CATALOG,则CONTROL_FILE_RECORD_KEEP_TIME应选择较小的数值。控制文件尽量的小,
缺省值为7 天,如果没有使用CATALOG来存放资料库,那么意味着设置该参数太小,可能很难恢复较早时期的数据库备份。


通道分配:


上图我们看到两个通道,一个是disk设备的通道,一个是tape设备的通道。
注意,在ORACLE,磁带设备用SBT表示
每个通道代表通向某一类型设备的一个数据流。
在执行备份和恢复命令前,必须先分配通道。
每个已分配的通道是从RMAN执行文件到目标数据库或辅助数据库实例间建立的连接。
这辅助数据库是通过复制命令建立的备用数据库或TSPITR 中使用的临时数据库。
建立通道的方法是在实例上启动服务器会话。
是该服务器会话来执行备份和恢复操作。
只有一个RMAN 会话可与已分配的服务器会话通信。
一头是RMAN,另一头是服务器会话。
每个通道通常对应一个输出设备。我们可以手动分配通道,也可以使用自动通道(默认通道)
分配功能预先配置要在所有RMAN 会话中使用的通道。
1.手动分配通道
手动分配通道时,可在RMAN 提示符下,将ALLOCATE CHANNEL 作为RUN命令的子命令发出,
也可使用ALLOCATE CHANNEL FOR MAINTENANCE 命令。
注意:手动通道分配将覆盖自动通道分配。
2.自动分配通道
在Oracle中,我们可使用自动通道分配功能预先配置要在所有RMAN 会话中使用的通道。
RMAN 提供一个预先配置的DISK 通道,可将该通道用于备份数据和将数据复制到磁盘,
并设置该磁盘通道所要写的目标目录和备份片文件格式。也可以预先分配一个磁带设备,此外,
还可以配置一组永久的自动通道。可通过CONFIGURE CHANNEL 命令设置自动通道并指定给磁盘或磁带。


自动分配通道具体配置过程

自动通道是通过configure channel来配置,应该通道要指定设备类型,
我们可以先前配置设备类型的属性,比如我们要配置3个并行通道的设备,我们可以指定并行度3
configure device type disk parallelism 3;
然后指定通道的属性,比如通道的文件格式
configure channel device type disk
format='/backup/rman/%U';
该通道关联的是DISK设备,并格式化在/backup/rman/%U。
如果通道是由RMAN 自动分配的,其名称格式为ora_devicetype_n。如(ora_sbt_tape_n 或ora_disk_n)。
如果未指定备份结果集文件名称格式,在缺省情况下,RMAN 将使用%U 格式,该格式可保证标识符唯一性。
/backup/rman/%U,用了格式%U
我们还可以用别的格式
1.%U 指定%u_%p_%c 的简写方式,可保证生成的备份文件名的唯一性
1.1:%u 指定一个8 个字符长的名称,该名称由备份集号和备份集创建时间的缩写形式构成。
1.2:%p 指定备份集中的备份片号。
1.3:%c 指定一组双重备份片中备份片的副本数。
可以通过ALLOCATE CHANNEL 命令手动分配通道来覆盖自动通道。自动分配通道功能与手动分配通道功能是互斥的,
即:对于每个作业任务,RMAN 要么使用自动分配,要么使用手动分配。
缺省情况下,RMAN 已预先配置了一个磁盘通道,这样可以备份到磁盘的默认备份路径,而无需进行任何手动配置。


手动分配通道具体配置过程
自动通道可以用在所有备份恢复环境,
是个通用的通道,也可以指定单独的手动通道,来覆盖自动通道。

手动通道要用在RUN {}命令里,
使用ALLOCATE CHANNEL 命令
1.BACKUP、COPY、RESTORE 和RECOVER 命令至少需要一个通道。因为这几个命令都跟介质打交道。
2.分配一个通道会在目标数据库上启动一个服务器进程。
RMAN使用通道进程在Oracle 服务器与操作系统之间进行通信。
系统将为每个分配的通道创建目标数据库的一个Oracle 服务器进程。
3.通道会影响并行性程度。
分配的通道的个数就是备份、还原或恢复期间使用的最大并行度。
比如在作业任务的一个RUN{ }里手工分配了4个通道,那么意味着在执行备份恢复时可以最大
同时使用4个物理通道,也可以使用3个、2个或者1个。
4.通道可写入不同的介质类型。所需的介质类型确定了分配的通道类型。查询V$BACKUP_DEVICE 视图可以确定支持。
5.通道可用于施加限制
可以为通道设置一些限制,比如I/O效率
可以通过在ALLOCATE CHANNEL 命令中指定参数来对COPY 和BACKUP 命令施加各种限制:
5.1:Read rate:限制每个文件每秒读取的缓冲区数,防止过多的磁盘I/O 降低数据库性能。
如allocate channel … rate = integer Kbytes:
5.2:maxpiecesize:限制通道创建的备份片文件大小。
这在操作系统或设备类型有最大的文件大小限制时非常有用,如32位操作系统不支持4G以上的数据文件。
allocate channel … maxpiecesize = integer
6.MAXOPENFILE:限制大型备份时同时打开的文件数(缺省值为16)。
该参数可以防止打开的文件过多。
ALLOCATE CHANNEL … MAXOPENFILE = integer
7.ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE disk;
此命令为DELETE 命令分配通道,因为将从磁盘删除一个文件。看此通道是维护通道。
不是用在备份恢复用的,维护通道不能用于任何其它I/O 操作。

介质管理

要使用磁带存储数据库备份,RMAN 需要使用介质管理器。
介质管理器是加载、标记和卸载顺序读写介质的实用程序,如用于备份、还原和恢复数据的磁带机就是顺序读写的。
Oracle 服务器调用MML 软件将数据文件备份到由介质管理器控制的介质,或从介质中还原数据文件。
注:如果是备份到磁盘,Oracle 服务器无需连接到介质管理库(MML) 软件。
Oracle 备份解决方案( BSP) 提供一系列符合Oracle 的MML 规范的介质管理产品。
比如备份软件NETBACKUP、LEGATO。使用与MML 界面相兼容的软件,Oracle会话可备份到介质管理器,
并请求介质管理器还原备份。

RMAN的连接类型

使用恢复管理器,可连接到下列类型的数据库:
1.目标数据库:使用SYSDBA 权限连接到目标数据库。
2.CATALOG数据库(CATALOG):这是非常重要的一个库,
它是一种为RMAN 资料库配置的可选数据库来代替控制文件记录备份恢复历史操作的元数据。
辅助数据库:辅助数据库是使用RMAN DUPLICATE 命令创建的数据库。
它也可能是在表空间时间点恢复(TSPITR) 过程中使用的临时数据库。
3.备用数据库:备用数据库是生产数据库的副本,可用于灾难恢复。
4.TSPITR
用于误删除某表空间一个或多个表或数据时候,可以采用建立备用数据库或者克隆数据库的方式,
将备用数据库恢复到误操作前的状态,然后通过传输表空间的方式将备用库的表空间附加到生产库中。



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

转载于:http://blog.itpub.net/29173997/viewspace-1170485/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值