RMAN体系结构之一

如何使用恢复管理器(Recover Manager简写RMAN

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

RMAN实用程序

RMANSMR的具体实现,它是由Oracle提供的。负责建立到Oracle数据库的客户端连接,以访问数据库内部的备份和恢复数据包。RMAN的核心是命令解释程序,命令解释程序接受所输入的命令,并将命令转换为数据库上执行的远程过程调用(Remote Procedure Call 简写 RPC)。

备份和恢复数据库的具体工作实际是由目标数据库上的进程完成的。目标数据库(Target database)指的是要备份的数据库。

RMAN实用程序是Database Utilities的一部分。Database Utilities是一组命令行形式的实用程序,它包括ImportExportSQL*loaderDBverify。典型安装Oracle时会自动安装RMANRMAN分为企业版和标准版两种,标准版RMAN就只能分配一个通道。如果执行客户端安装,并且选择的是Administrator选项而不是Runtime client选项,就会安装RMAN

RMAN实用程序由两部分组成:可执行文件和Recover.bsq文件。Recover.bsq文件实质是库文件,可执行文件从Recover.bsq文件中析取代码来创建在目标数据库上执行的PL/SQL调用。Recover.bsq文件和可执行文件的版本必须相同,否则就不能正常工作。

RMAN实用程序完成了我们需要做的备份、还原、恢复和处理备份工作。由可执行解释程序负责解释这些程序命令,并且使这些命令与Recover.bsq文件中的PL/SQL块匹配。RMAN随后将这些RPC传递给数据库,并基于用户的请求收集信息。如果命令要求I/O操作(一条备份或是一条还原命令)RMAN会在返回信息时准备另一个过程序块,并将过个过程块传递回目标数据块,这些过程块负责执行OS的系统调用以进行指定的读或写操作。

RMAN数据库权限

RMAN需要访问目标数据库上SYS模式中存在的各种数据包,还需要启动和关闭目标数据库的权限。因此RMAN通常以Sysdba用户的身份连接到目标数据库。

如果DBA组成员外的用户需要使用RMAN,就必须创建和使用口令文件来连接目标数据库。

RMAN备份的网络拓扑结构

配置tnsnames.ora文件,设置server=dedicated / shared

RMAN不能使用共享服务器(多线程服务器MTS)来建立连接。如果使用的是共享服务器(安装的默认设置),就需要创建一个使用专用服务器进程的Oracle Net别名。

数据库控制文件

控制文件控制数据库查找物理文件的位置,并控制每个文件当前包含的头信息,其内容包括数据文件信息、重做日志信息和归档日志信息。控制文件还含有与数据库关联文件的每一个文件头的快照(snapshot)。RMAN使用控制文件来编译文件列表,得到检查点信息,并确定可恢复性。控制文件还能用作RMAN目录,RMAN完成数据库任何部分的备份后,会在控制文件中添加该备份的记录,以及说明备份开始和结束时间的检查点信息。这也是Oracle7Oracle8版本控制文件大小呈指数增长的一个主要原因,即控制文件中存在RMAN记录。这些记录通常称为元数据,与实际备份中数据有关,它也可以存在恢复目录中。

在控制文件中重用记录

控制文件将其内部数据记录分为两类:循环重用记录和非循环重用记录。循环重用记录包含可以从控制文件中删除的信息,如归档日志历史信息,并且不会影响产品数据库。非循环重用记录是些不能被删除的记录,如果控制文件因这类记录而空间不足,则会删除在这些记录以得到更多的空间。非循环重用记录包括数据文件列表和日志文件列表。

控制文件中RMAN备份记录属于循环重用记录类别,如果记录的控制文件区已满,这些记录就会被删除。致使控制文件中不存在任何备份记录,会给恢复带来灾难。稍后介绍重新向控制文件记录中添加备份。

我们可以设置更大的时间帧(time frame)来决定控制文件删除记录的时间。时间帧同init.ora文件的CONTROLFILE_RECORD_KEEP_TIME参数控制,默认为7(以天为单位),如果设置为0时,将不会发生重用记录(不建议),相应地控制文件将不断扩展直至无法管理。

重构控制文件在某些条件下需要重新构建控制文件,如重新设置Maxlogfiles参数或Maxloghistory参数。由于某些参数定义了保存非循环重用记录的内部控制文件表的大小,所以只有在重构控制文件时才能设置这些参数。如果使用RMAN而不是恢复目录,就必须重视控制文件的重新构建。执行 Alter database backup controlfile to trace; 生成的脚本不包含控制文件中标识备份的信息。10g有一些新的机制可用于生成控制文件中的有限备份元数据,但仍然需要手工操作,并且无法完全生成所有的元数据。建议避免重新构建控制文件。如果将控制文件备份为一个二进制文件而不是跟踪文件,所有备份信息都将保留。执行 Alter database backup controlfile to ‘/U01/backup/bkup_cfile.ctl’

快照控制文件

控制文件是一个非常繁忙的文件,它存储数据库的结构信息,包括用于恢复的检查点SCN信息。连续的SCN和文件管理对于数据库的生命周期来说至关重要,因此RDBMS必须能够持续地使用控制文件。

RMAN开始备份每个数据文件时需要得一个致的控制文件图,些时,RMAN只需要知道备份开始时的检查点信息和文件结构信息。RMAN使用快照控制文件(snapshot controlfile)来解决锁定控制文件的问题,它是控制文件的副本。RMAN只在备份和同步操作期间使用快照控制文件。快照控制文件在oracle_home/dbs目录中,它的默认名为SNCF.ora.使用configure snapshot controlfile命令可以在任何时候更改快照控制文件名:

Configure snapshot controlfile to ‘locationfile_name’;

RMAN服务器进程

RMAN生成一个到目标数据库的客户连接,并创建两个服务器进程。主要进程生成对SYS模式中的数据包调用,从而执行备份和恢复操作,该进程会在备份和还原期间协调通道进程的工作。

另外一个次要进程(影子进程)轮询RMAN中的所有长事务(long-running transaction)并在内部记录信息。在V$SESSION_LONGOPS视图中可以查看信息。

Select sid,serial#,context,sofar,totalwork,round(sofar/totalwork*100,2) “_complete”

From v$session_longops where opname like ‘RMAN%’ and opname not like ‘%aggregate’

And totalwork !=0 and sofar <> totalwork

还可在V$SESSION视图中查看进程

Select si,saddr,paddr,program,client_info

From v$session where sid=N

除了两个进程外,在备份和还原操作期间还会为分配的每个通道单独创建一个进程。RMAN将通道视为目标数据库的服务器进程,通道有两种进程:磁盘和磁带通道。不能为一个备份同时分配两种通道。

如果在目标数据库上配置了I/O从属,RMAN就可以使用I/O从属。使用DBWR_IO_SLAVES参数可以配置磁盘I/O从属。这个参数可以被设置为任意数值,它的主要作用是将脏缓冲区的内容写入磁盘时唤醒另外的DBWR从属来执行磁盘写操作。如果该参数被设置为非0RMAN会自动在每个通道中切换使用4I/O从属来帮助将数据块读入RMAN内存缓冲区。只有在OS平台不支持本地异步I/O或禁止Oracle RDBMS使用I/O时,DBWR_IO_SLAVES参数才会起到重要的作用。如果支持异步I/O,就不需要使用磁盘I/O从属。

磁带I/O从属可帮助服务器进程访问磁带设备。如果BACKUP_TYPE_IO_SLAVES参数被设置TRUERMAN会为每个磁带通道进程分配一个I/O从属帮助在磁带位置上执行写操作。因为磁带设备不存在本地异步I/O,建议将BACKUP_TYPE_IO_SLAVES参数设置为TRUE

[@more@]

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

转载于:http://blog.itpub.net/12867293/viewspace-1028460/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值