RMAN(Recovery Manager)架构

本文详细介绍了Oracle RMAN环境的组成部分,包括RMAN客户端、目标数据库、恢复目录、物理备数据库和快速恢复区域。重点讲解了RMAN通道的配置、磁盘与磁带设备,以及在Oracle DataGuard环境中的应用。涵盖了RMAN仓库管理与介质管理软件的交互,适合数据库管理员和备份恢复专家阅读。
摘要由CSDN通过智能技术生成

1.RMAN环境

恢复管理器(RMAN,Recovery Manager)环境包含在备份和恢复策略中扮演各种角色的应用程序和数据库。

下表列出了典型的RMAN环境中的组件。

组件描述
RMAN客户端客户端应用程序为目标数据库管理备份和恢复操作。RMAN客户端使用Oracle Net连接目标数据库,所以它可以位于任何主机上,然后通过Oracle Net连接到目标主机。RMAN可执行程序自动与数据库一起安装,通常和其他数据库可执行文件一样位于相同的目录。例如,在Linux上RMAN客户端位于$ORACLE_HOME/bin。
目标数据库(target database)RMAN使用TARGET关键字连接的数据库。它是RMAN备份或还原的包含控制文件,数据文件和可选的归档redo日志文件的数据库。RMAN使用目标数据库的控制文件来收集关于目标数据库的元数据和存储关于RMAN操作的信息。备份和恢复的工作由运行在目标数据库上的服务器会话来执行。
恢复目录数据库(recovery catalog database)包含恢复目录的数据库,它包含RMAN用来执行备份和恢复的元数据。可以为多个目标数据库创建一个包含RMAN元数据的恢复目录。除非与物理备数据库一起使用RMAN,当使用RMAN时恢复目录是可选的,因为RMAN在每个目标数据库的控制文件中存储它的元数据。
恢复目录模式(recovery catalog schema)在恢复目录数据库中的用户拥有的由RMAN维护的元数据表。RMAN定期将目标数据库控制文件的元数据传播到恢复目录。
物理备数据库(physical standby database)主数据库的拷贝,它使用主数据库产生的redo进行更新。如果主数据库不可访问,可以fail over到备数据库。RMAN能够创建,备份或恢复备数据库。在物理备数据库上创建的备份可以在主数据库或在相同的生产数据库的其它的物理备数据库上使用。当使用RMAN来备份物理备数据库时恢复目录是必需的。注:逻辑备数据库被RMAN视为不同的数据库,因为它有一个与主数据库不同的DBID。
快速恢复区域(fast recovery area)可以用来存储恢复相关的文件例如控制文件,在线redo日志拷贝,归档redo日志,闪回日志和RMAN备份等的磁盘位置。Oracle数据库和RMAN在快速恢复区域中自动管理这些文件。
介质管理软件(media management software)供应商特定的应用程序,它让RMAN可以备份到一个存储系统比如磁带。RMAN需要应用程序来与顺序介质设备(sequential media device)比如磁带库交互。介质管理器在备份和恢复中控制这些设备,管理装载(load),标记(label),和卸载(unload)介质。介质管理设置有时被称为SBT(system backup to tape)设备。
介质管理目录(media management catalog)供应商特定的仓库,存储关于介质管理软件的元数据
Oracle Enterprise Manager基于浏览器的数据库接口,包含通过RMAN备份和恢复。

在RMAN环境中唯一必需的组件是目标数据库和RMAN客户端,但在大部分实际的配置会更复杂。例如,使用RMAN客户端连接到多个介质管理器和多个目标数据库,它们都通过OEM来访问。

下图阐述了可能的RMAN环境中的组件。图片显示了位于不同主机上的主数据库,备数据库,和恢复目录数据库。主和备数据库主机使用本地连接的磁带机。RMAN客户端和OEM控制台在一台不同的主机上运行。
在这里插入图片描述

2.RMAN通道

RMAN通道代表到设备的一个数据流,它对应一个数据库服务器会话。在备份或还原操作中,通道从输入设备读取数据,处理它,和将它写到输出设备。

RMAN客户端指引数据库服务器会话来执行所有备份和恢复任务。由什么构成一个会话取决于操作系统。例如,在Linux上,一个服务器会话对应一个服务器进程。而在Windows中,它对应数据库服务中的一个线程。RMAN客户端自己并不执行备份,还原或恢复操作。

大部分RMAN命令通过通道来执行,它必须配置成持久的,可以跨RMAN会话,或在每个RMAN会话中手动分配。如下图所示,通道通过在实例上启动一个服务器会话,建立从RMAN客户端到目标或辅助数据库实例的连接。

在这里插入图片描述

2.1.关于RMAN通道和设备

RMAN支持的设备类型是磁盘(DISK)和磁带(SBT,system backup to tape)。

一个SBT设备由第三方的介质管理软件控制。一般情况下,SBT设备是磁带库和磁带驱动器。

如果为备份使用磁盘通道,那么通道在磁盘上创建备份,它在目标数据库实例的文件名称空间中创建备份。可以在任何可以存储数据文件的设备上创建备份。当创建磁盘备份时,RMAN不调用介质管理器。

为了在非磁盘介质中创建备份,必须使用介质管理软件例如Oracle Secure Backup和分配软件支持的通道。每当分配的通道类型不是DISK时,RMAN就与介质管理器联系。SBT通道如何和何时让介质管理器来分配资源是由介质管理软件指定的。有些介质管理器当发出命令时分配资源;其它的不分配资源直到打开一个文件来读取或写入。


2.2.关于RMAN自动和手动通道

RMAN使用自动通道或手动通道来进行备份和恢复操作。

可以使用CONFIGURE CHANNEL命令来配置用来跨RMAN会话的磁盘或磁带通道,这个技术称为自动通道分配。RMAN预先配置一个磁盘通道,可以用来备份到磁盘。

当运行一个可以使用自动通道的命令,RMAN与在CONFIGURE命令中指定的选项一起自动分配通道。对于BACKUP命令,RMAN只分配要求备份到的指定介质的通道类型。对于RESTORE命令和RMAN维护命令,RMAN为执行命令要求的设备类型分配所有必要的通道。RMAN决定自动通道的名称。

你也可以手动分配通道。每个手动分配的通道使用一个不同的到数据库的连接。当手动分配一个通道时,可以给它一个用户定义的名称例如dev1或ch2。

当运行一个命令时,与设备一起使用的可用的通道数量决定了RMAN在执行这个命令时是否并行读取或写入到这个设备。当工作并行完成时,文件的备份由多个通道完成。每个通道可能会备份多个文件,但除非执行一个多段(multisection)备份,没有文件会被多个通道来备份。


3.关于RMAN仓库

RMAN仓库是关于RMAN用来备份,恢复和维护的目标数据库的元数据的集合。

RMAN总是在控制文件中存储它的元数据。在控制文件中的元数据的版本是数据库的RMAN备份的权威性的记录。这是为什么保护控制文件是备份策略的一个重要部分的一个原因。RMAN可以只使用控制文件存储RMAN仓库信息来实施所有的备份和恢复操作,和维护所有必要的记录来满足配置的保留策略。

你也可以创建恢复目录(recovery catalog),它是一个存储在Oracle数据库模式(schema)中的RMAN元数据的仓库。控制文件只有有限的空间来记录备份活动,而恢复目录可以存储更长的历史。可以通过创建一个单一的包含所有数据库的RMAN元数据的恢复目录来简化备份和恢复管理。

恢复目录的属主可以授权或撤消其它数据库用户对恢复目录有限制的访问。每个限制用户对它自己的元数据有全面读写访问权限,这称为虚拟私有的目录(virtual private catalog)。当在数据库中存在虚拟私有的目录时,数据库只包含一组目录表。这些表由基础的恢复目录属主所有。基础恢复目录的属主控制每个虚拟私有目录用户可以访问哪个数据库。

有些RMAN特性只有在使用恢复目录时才生效。例如,可以在恢复目录中创建存储脚本(stored script),使用这个脚本来执行RMAN任务。如果RMAN没有连接到一个恢复目录,其它特定的与管理恢复目录相关的RMAN命令则不可用(和不需要)。

恢复目录只由RMAN维护。目标数据库实例从不会直接访问恢复目录。RMAN在任何更新仓库的操作之后和在某些操作之前,从目标数据库的控制文件传输关于数据库结构,归档redo日志,备份集,和数据文件拷贝的信息到恢复目录,


4.关于使用RMAN的介质管理

Oracle 介质管理层(Media Management Layer,MML)API让第三方供应商构建介质管理软件与RMAN一起工作来允许备份到顺序的介质设备比如磁带驱动器。

介质管理软件处理装载(load),标记(label),和卸载(unload)顺序的介质比如磁带。必须安装介质管理软件来让RMAN使用顺序的介质设备。

当备份或还原时,RMAN客户端连接到目标数据库实例,指引实例向介质管理器发送请求。在RMAN客户端和介质管理器之间没有直接的通讯发生。


4.1.关于RMAN与介质管理器交互

在执行备份或还原到介质管理器之前,必须分配一个或多个通道来处理与介质管理器的通讯。也可以为介质管理器配置缺省的通道。缺省的通道为所有使用介质管理器和没有明确分配通道的备份和恢复任务所用。

RMAN不发出特定的命令来装载(load),标记(label),和卸载(unload)磁带。当进行备份时,RMAN给介质管理器一个比特流和给流关联一个唯一的名称。当RMAN必须还原备份时,它向介质管理器请求检索该比特流。所有关于如何存储流和流存储在哪里的细节完全由介质管理器处理。例如,介质管理器标记和记录磁带和每个磁带上的文件名称,自动装载和卸载磁带,或示意操作员这么做。

有些介质管理器支持代理拷贝功能,在数据文件和备份设备之间处理所有的数据移动。这些产品可能使用技术例如在存储和介质子系统之间的高速连接来减少主数据库服务器的负载。RMAN提供要求备份或还原到介质管理器的文件列表,介质管理器依次做所有关于如何和何时移动数据的决定。


5.关于快速恢复区域

快速恢复区域(fast recovery area)是一个可以用来存储恢复相关的文件的可选的磁盘位置。

创建不同备份和恢复相关文件的组件互相之间和对于存储它们数据的文件系统的大小一无所知。对于自动的基于磁盘的备份和恢复,可以创建快速恢复区域,它会自动管理备份相关的文件。

快速恢复区域最小化需要来为备份相关的文件手动管理磁盘空间和在不同文件类型之间平衡空间的使用。在这种方式中,快速恢复区域简化数据库持续的管理。Oracle建议启用快速恢复区域来简化备份管理。

当创建快速恢复区域时,选择一个磁盘上的位置和设置存储空间的最大值。可以设置备份保留策略来控制备份文件多长时间内需要用来恢复。数据库管理备份,归档redo日志,和在这个空间中的数据库的其它的恢复相关的文件使用的存储。当RMAN必须为新文件回收空间时,不再需要的文件会被选择来删除。


6.关于在Oracle Data Guard环境中的RMAN

Oracle Data Guard维护备数据库作为生产数据库的事务一致性拷贝。备数据库可以是物理备数据库或逻辑备数据库。

关于Oracle Data Guard环境中的RMAN使用详情,请参考章节《在Oracle Data Guard环境中的RMAN备份和还原》



来源:《Oracle Database Backup and Recovery User’s Guide,19c》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值