探索ORACLE之RMAN_01概念
作者:吴伟龙
1、什么是RMAN
Rman(Recovery Manager)是Oracle 8i以后DBA的一重要工具,一般位于$ORACLE_HOME/bin目录下,主要用来备份,还原和恢复。可以实现基于数据库级别,表空间级别,文件级别完全恢复和不完全恢复。
2、为什么要用RMAN
因为Rman可以有效的备份恢复数据库的数据文件和归档日志及控制文件,可以有效的保障数据的一致性,做到数据的最大可用性和及时有效的恢复性。同时它也具有以下优点:
2.1 可以实现自动备份和恢复
2.2 方便有效的备份归档日志
2.3 自动检测新的数据文件
2.4 支持增量备份
2.5 最大限度的减少备份和恢复的错误
2.6 减少恢复时间
2.7 在热备中不会产生redo日志
2.8 自动检测损坏的数据块,并跳过。
2.9 并行备份恢复
2.10 在线备份不影响业务的正常运转
3、RMAN的作用
Rman是Oracle用来备份恢复数据库的数据文件,归档日志,控制文件以及参数文件及整个数据库的备份恢复工具,同时也可以用来执行完全备份恢复和不完全备份恢复,通过计划任务实现自动的定时的最优化的备份恢复方案。
4、RMAN的体系架构
对于组成以上RMAN的结构,包括如下几个部分,并做简要说明:
1、RMAN工具
它是一服务器管理恢复工具(ServerManaged Recover 简写SMR)实际上它就是一独立应用程序,主要是建立oracle数据库的客户端连接,达到有效的访问并对数据库执行备份恢复操作;起源于Oracle版本8,一般位于$ORACLE_HOME/bin 目录下,可以通过运行rman这个命令来启动RMAN 工具,用于备份与恢复的接口。
2、服务进程
RMAN 的服务进程是一个后台进程,用于与RMAN工具与数据库之间的通信,也用于RMAN 工具与磁盘/磁带等I/O 设置之间的通信,服务进程负责备份与恢复的所有工作,在如下情况将产生一个服务进程
·当连接到目标数据库
·分配一个新的通道
3、通道
通道是服务进程与I/O 设备之前读写的途径,一个通道将对应一个服务进程,在分配通道时,需要考虑I/O设备的类型,I/O 并发处理的能力,I/O 设备能创建的文件的大小,数据库文件最大的读速率,最大的打开文件数目等因素
4、目标数据库
就是RMAN 进行备份与恢复的数据库,RMAN 可以备份除了联机日志,pfile,密码文件之外的数据文件,控制文件,归档日志,spfile
5、恢复目录
用来保存备份与恢复信息的一个数据库,不建议创建在目标数据库上,利用恢复目录可以同时管理多个目标数据库,存储更多的备份信息,可以存储备份脚本。如果不采用恢复目录,可以采用控制文件来代替恢复目录,oracle 9i因为控制文件自动备份的功能,利用控制文件很大程度上可以取代恢复目录。
6、媒体介质管理层
Media Management Layer (MML)是第三方工具,用于管理对磁带的读写与文件的跟踪管理。如果你想直接通过RMAN 备份到磁带上,就必须配置媒体管理层,媒体管理层的工具如备份软件可以调用RMAN来进行备份与恢复。
7、 备份,备份集与备份片
当发出backup命令的时候,RMAN 将创建一个完成的备份,包含一个到多个备份集,备份集是一个逻辑结构,包含一组的物理文件。这些物理文件就是对应的备份片。备份片是最基本的物理结构,可以产生在磁盘或者磁带上,可以包含目标数据库的数据文件,控制文件,归档日志与spfile文件。
备份集与备份片有如下规定:
(1) 一个数据文件不能跨越一个备份集,但是能跨多个越备份片
(2) 数据文件,控制文件能保存在同样的备份集上,但是不能与归档日志保存在同样的备份集上
8、rman资料库
RMAN资料库(RMAN Repository)存储了目标数据库的元数据(Metadata)和使用RMAN备份的备份集信息,例如备份集的位置,备份集内包括的备份片,备份集的状态等。RMAN进行备份和恢复操作都要访问RMAN资料库。