ITPub博客

首页 > 数据库 > Oracle > Oracle备份之RMAN工具(二)

Oracle备份之RMAN工具(二)

原创 Oracle 作者:fengpinDBA 时间:2013-11-23 23:07:30 0 删除 编辑

二、RMAN工作原理

1.        RMAN原理概述

RMAN工具只是一个客户端工具,属于用户进程,当RMAN连接到目标数据库的时候会相应的生成一个服务器进程与它对应,RMAN工具会解析用户发送的命令,将解析后的命令发送到服务器进程,由服务器进程调用相应的包执行相应的工作。(即RMAN工具仅仅是一个命令语法解析器,接受客户端发送的命令,将这些命令转化为远程的过程调用,这些过程调用执行目标数据库上的PL/SQL包)

2.        RMAN与控制文件

在默认情况下,RMAN通过控制文件指导备份和恢复,将相关的元数据信息写入控制文件,从这点可以看出,控制文件是相当的重要的。

a.        控制文件的备份方式

.  确保控制文件有多个镜像文件

.  启动RMAN控制文件的自动备份

.  在RMAN调度备份脚本中加入alter database backup current control;

.  在RMAN调度备份脚本中加入backup current controlfile;

b.        control_file_record_keep_time参数

基于nocatalog的备份管理方式,是将RMAN的备份信息放在控制文件中,由于控制文件的大小不能无限增大,所以在控制文件中只能保留一段时间的备份与恢复信息,而这个时间的控制,由一个参数为参考依据,这个参数就是control_file_record_keep_time。

SQL> show parameter control_file_record_keep_time

NAME                                 TYPE              VALUE

--------------                       ---------------    ----------------

control_file_record_keep_time        integer             7

SQL>

control_file_record_keep_time参数表示控制文件里可重复使用的记录所能保留的最小天数。如果新增加一条记录到控制文件可以重复使用的部分,这是最旧的记录尚没有超出最小保留天数,那么记录对控制文件的这一部分进行扩展。如果将参数设置为0,那么控制文件可以重复使用的部分将永远不会扩展。(这个参数只应用于控制文件中可循环利用的部分,如归档日志文件、各种备份记录等,该参数不会应用于数据文件、表空间,这些内容只有在当其删除之后才能重用)。

可重用的部分包括如下几种类型(可以通过查询视图$controfile_record_section得到):

SQL> select type from v$controlfile_record_section;

TYPE

--------------------------

DATABASE

CKPT PROGRESS

REDO THREAD

REDO LOG

DATAFILE

FILENAME

TABLESPACE

TEMPORARY FILENAME

RMAN CONFIGURATION

LOG HISTORY

OFFLINE RANGE

ARCHIVED LOG

BACKUP SET

BACKUP PIECE

BACKUP DATAFILE

BACKUP REDOLOG

DATAFILE COPY

BACKUP CORRUPTION

COPY CORRUPTION

DELETED OBJECT

PROXY COPY

BACKUP SPFILE

DATABASE INCARNATION

FLASHBACK LOG

RECOVERY DESTINATION

INSTANCE SPACE RESERVATION

REMOVABLE RECOVERY FILES

RMAN STATUS

THREAD INSTANCE NAME MAPPING

MTTR

DATAFILE HISTORY

STANDBY DATABASE MATRIX

GUARANTEED RESTORE POINT

RESTORE POINT

DATABASE BLOCK CORRUPTION

ACM OPERATION

FOREIGN ARCHIVED LOG

37 rows selected.

SQL>

3.        RMAN与数据块

RMAN是基于块级别的备份,RMAN在备份的时候,数据块会经过Oracle内存再流向备份的存储位置,根据这一过程RMAN存在一下特性:

.  检查坏块

.  丢弃未初始化的块

.  增量备份

RMAN的块级别备份不依赖于文件系统块或者ASM AU的大小,这样就避免了使用操作系统工具所带来的split block现象的发生。RMAN就像一个过滤器,可以过滤掉坏块、空块、未初始化的块,是否是增量备份等。(如果有损坏的块,默认情况下RMAN会立即终止备份操作)

4.        RMAN备份需要的文件

a.        RMAN非一致性备份恢复需要的文件

如果数据库在OPEN的情况下使用RMAN执行的备份,产生的备份是非一致性的备份,在恢复的时候RMAN需要如下文件:

.  RMAN备份的参数文件、控制文件

.  RMAN备份的数据文件

.  RMAN备份的归档日志文件

.  还未备份的归档日志文件

.  联机日志文件

b.        RMAN一致性备份恢复需要的文件

.   RMAN备份的参数文件、控制文件

.   RMAN备份的数据文件

5.        RMAN通道

RMAN客户端自己不能执行备份、还原或者恢复操作。当RMAN客户端连接到目标数据库,Oracle在目标实例分配服务器进程,有服务器进程来引导操作的进行。

一个RMAN通道(channel)表示服务器进程链接到设备的数据流,对应一个服务器进程会话。服务器进程读取数据块到缓存中进行处理,然后再通过通道将数据块写到输出设备。

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

请登录后发表评论 登录
全部评论

注册时间:2013-11-22

  • 博文量
    22
  • 访问量
    923057