现在的位置: 首页 > 综合 > 正文

RMAN 系列(一)—- RMAN 体系结构概述

2013年10月11日 ⁄ 综合 ⁄ 共 1668字 ⁄ 字号 评论关闭

一. 服务器管理恢复

恢复管理器, Recovery Manager, 简陈 RMAN。 RMAN 实现一直服务器管理恢复(Server Managed Recovery: SMR)。 SMR 是一种数据库执行所需要的操作以确保自身备份成功的能力,依赖于Oracle RDBMS 内核中的内置代码可以完成这一功能。 SMR 的功能主要体现在能够减少用户的操作。

二. RMAN 使用程序

RMAN SMR的具体实现,它是Oracle 提供的,RMAN 是一个独立的应用程序,它负责建立到Oracle 数据库的客户端连接,以访问数据库内部的备份和恢复数据包。RMAN 的核心命令是解释程序,命令解释程序接受所输入的命令,并将这些命令转换为在数据库上执行的远程调用(Remote Procedure call: RPC.

要强调的事,RMAN 只是做少量的工作。虽然时间的协调非常重要,但是备份和恢复一个数据库的具体工作实际上是由目标数据库上的进程完成的,目标数据库(target database)指的是要备份的数据库。Oracle 数据库的内部数据包可以将RMAN 中的PL/SQL 块变成系统调用,这些调用即可以写入数据库服务器的磁盘系统,也可以读取数据库服务器的磁盘子系统。

RMAN 实用程序是Database Utilities的一部分Database Utilities是一组命令行形式的使用程序,包括Importexportsql*loader和 dbverify。 典型的安装Oracle 时会自动安装RMANRMAN 分企业版和标准版2种,如果只能使用标准版的RMAN,那么RMAN 就只能分配一个通道。

RMAN 实用由两部分组成,可执行文件和recover.bsq 文件。 Recover.bsq 文件实质上是库文件可执行文件从recover.bsq 文件中析取代码来创建在目标数据库上执行的PL/SQL 调用Recover.bsq 文件是整个操作的中枢。这个文件始终保持链接,并在逻辑上构成RMAN 客户端使用程序。要注意的是: recover.bsq 文件和 可执行文件的版本必须是相同,否则不能正常工作。

RMAN 实用程序有一种独特的,有序的,可预测的用法:解释在目标数据库上远程执行的PL/SQL 调用中的命令。 RMAN 实用程序完成了我们需要做的所有备份,还原,恢复和处理备份工作。由可执行解释程序负责解释这些程序命令,并基于用户的请求收集信息。 如果要求I/O 操作(即一条备份命令或一条还原命令),RMAN 会在返回信息时准备另一个过程块,并将这个过程块传递回目标数据库。这些过程负责执行OS的系统调用以进行指定的读或写操作。

RMAN 与数据库权限

RMAN 需要访问目标数据库上sys模式中存在的各种数据包,还需要具有启动和关闭目标数据库的权限。 因此RMAN 通常以sysdba 用户身份连接到目标数据库。 如果以不具有sysdba 权限的用户连接到目标数据库,RMAN 会报ORA-01031: insufficient privileges 错误。 

在一般情况下,大多数Unix 系统中都有一个Oracle 用户,它是dba组的一个成员。 这是最初安装Oracle 软件的用户,如果以Oracle 用户登录,在RMAN 中以什么身份连接就变的不重要,它将总是作为sysdba 互用来连接目标数据库,并且能够访问sys 模式,同时也具有启动和关闭数据库的能力。 在windows 平台上,Oracle 会创建一个ORA_DBA本地组,并将安装Oracle 软件的用户添加到这个本地组中。

如果作为dba组成员之外的用户登录并需要使用RMAN,就必须创建和使用一个口令文件来连接来连接到目标数据库。如果要使用一个客户系统通过网络来连接RMAN,也需要创建和使用一个口令文件。

三. RMAN 备份的网络拓扑结构

RMAN 是一个客户端应用程序,它通过Oracle net 连接来与目标数据库连接。 如

抱歉!评论已关闭.