本节讨论以下问题:
- About the RMAN Environment 关于RMAN环境
- RMAN Command-Line Client RMAN命令行
- RMAN Channels RMAN通道
- RMAN Repository RMAN资源库
- Media Management 介质管理
- Fast Recovery Area 快速恢复区
- RMAN in a Data Guard Environment DATA GUARD 环境中的RMAN
1.About the RMAN Environment 关于RMAN环境
Component | Description |
---|---|
RMAN client |
The client application that manages backup and recovery operations for a target database. The RMAN client can use Oracle Net to connect to a target database, so it can be located on any host that is connected to the target host through Oracle Net. RMAN工具 |
target database |
A database containing the control files, datafiles, and optional archived redo logs that RMAN backs up or restores. RMAN uses the target database control file to gather metadata about the target database and to store information about its own operations. The work of backup and recovery is performed by server sessions running on the target database. RMAN用来还原和恢复的数据库.RMAN用目标数据库的控制文件存储RMAN元数据. 备份和恢复的工具由目标数据库的server sessions来做 |
recovery catalog database |
A database containing a recovery catalog, which contains metadata that RMAN uses to perform backup and recovery. You can create one recovery catalog that contains the RMAN metadata for multiple target databases. Unless you are using RMAN with a physical standby database, a recovery catalog is optional when using RMAN because RMAN stores its metadata in the control file of each target database. 包含有恢复目录的数据库称为recovery catalog database.一个catalog可以包含多个数据库的RMAN元数据.在不使用物理备库的情况下,catalog是可选的. |
recovery catalog schema |
The user within the recovery catalog database that owns the metadata tables maintained by RMAN. RMAN periodically propagates metadata from the target database control file into the recovery catalog. 恢复目录的所有者.RMAN定期的将元数据从目标数据库写到catalog. |
physical standby database |
A copy of the primary database that is updated with archived redo logs generated by the primary database. A physical standby database has the same DBID and DB_NAME values as the primary database, but a differentDB_UNIQUE_NAME . You can fail over to the standby database if the primary database becomes inaccessible.
RMAN can create, back up, or recover a standby database. Backups that you make at a standby database are usable at primary database or another standby database for same production database. The recovery catalog is required when you use RMAN in the Data Guard environment. Note: A logical standby database is treated as a separate database by RMAN because it has a different DBID from its primary database. 物理备库:主库的复制,拥有完全相同的结构\DBID\DB_NAME,但是DB_UNIQUE_NMAE不同,使用日志来同步.RMAN可创建、备份、恢复物理备库。主库或其它备库可以使用物理备库的备份。在DG环境下,必须使用catalog来管理RMAN元数据。逻辑对RMAN来说是不同的备库,因为它拥有不同的DBID。 See Also: Oracle Data Guard Concepts and Administration to learn how to use RMAN in a Data Guard environment |
duplicate database |
A copy of the primary database that you can use for testing purposes. The DBID is different from the database from which it was created. 多重数据库,主库的复制,DBID与主库不同。 |
fast recovery area |
A disk location that you can use to store recovery-related files such as control file and online redo log copies, archived redo logs, flashback logs, and RMAN backups. Oracle Database and RMAN manage the files in the fast recovery area automatically. 磁盘空间用来存储备份相关的文件,如控制文件、联机日志、归档日志、闪回日志、RMAN备份。数据库和RMAN自动管理FRA |
media manager |
A vendor-specific application that enables RMAN to back up to a storage system such as tape 介质管理器,比如磁带驱动器 |
media management catalog |
A vendor-specific repository of metadata about a media management application 介质管理器的元数据恢复目录 |
Oracle Enterprise Manager |
A browser-based interface to the database, including backup and recovery through RMAN ORACLE企业管理器 |
RMAN所需要的最基本环境是RMAN客户端和目标数据库。但实际情况往往比这个复杂,如RMAN连接到多个 介质管理器、目标数据库、辅助实例。
下图展示了一个复杂的RMAN环境,主库和备库使用本地磁带库,RMAN和EM分别在不同的机器上:
2.RMAN工具
RMAN是个命令行工具,可以交互式或非交互运行。用EM执行恢复备份的话也是调用RMAN工具。
3.RMAN通道
RMAN并不执行备份和恢复指导server sessions(服务会话)来执行备份与恢复.服务会话的构成由平台决定,在linux上,对应server process 在window上对应一系列线程.通道定义到设备的数据流,并且对应一个服务会话.通道把数据读到PGA处理,然后写到备份设备上.大部分的命令都是由通道完成的.通道是RMAN与实例之间的桥梁:
通道和设备
通道通常分为两种磁盘和SBT(磁带)。备份到磁盘时不需要介质管理器,不在磁盘时需要,不在磁盘时需要第三方的介质管理器.如Oracle Secure Backup,并且要分配通道来支持这个设备.
4.Automatic and Manual Channels 自动通道和手工通道
用configure channel 命令配置默认通道,RMAN预配置了一个到磁盘的通道.当你不手动分配通道时,RMAN使用默认的通道.对于backup命令,RMAN中分配备份到某种介质所需要的通道,对restore和RMAN maintenance 命令,RMAN会分配所有需要用到的通道.RMAN自动设置默认通道的名称.
可以手工分配通道,每个手工分配的通道都会单独的连接到数据库.
通道的数目决定了读写设备的并行度,配置多个通道时并行的备份数据库,每个通道可能会备份多个文件.注意:如果不使用文件分片备份multisection backup,一个文件只能被一个通道备份.
5.RMAN Repository RMAN资源库
RMAN资源库是目标数据库上用于备份、恢复、维护等的元数据的集体。RMAN总会将元数据保存在控制文件中,因此必须同时备份控制文件.
此外,可以用恢复目录来保存元数据,恢复目录存在于另一台数据库上.控制文件的空间有限的,只能保存有限的备份信息,而恢复目录可以更多更久的保存备份信息.
恢复目录的所有者可以授权或回收其它用户对于恢复目录的访问.将恢复目录中特定数据库的备份信息分给其它用户来管理,这些用户只能访问自己管理的数据库备份信息,这些包含特定数据库备份信息的目录称为虚拟目录.一个数据库中可以有多个虚拟恢复目录.恢复目录的所有者可以决定哪些虚拟目录管理哪些数据库.
某些操作只能在有恢复目录的情况下使用:如让备份脚本保存在恢复目录中.
恢复目录只能被RMAN来管理,目标数据根本不能访问恢复目录.
每次备份信息更新之后,RMAN都会让数据库结构、归档日志、备份集、数据文件信息从目标数据库的控制文件同步到恢复目录.
6.Media Management 介质管理
Oracle Media Management Layer (MML) API 介质管理层接口可以让第三方的设备建立一个介质管理器,介质管理器可以实现顺序读写(没有随机读写的?).在备份时,RMAN连接目标数据库,并指示目标数据库连接介质管理器来发送请求.RMAN并不直接连接介质管理器(用目标数据库来连接介质管理器).在执行备份或恢复之前,必须分配通道来连接介质管理器(可以使用默认通道).
有些介质管理器支持代理复制proxy copy(在备份或还原时介质管理器来控制磁盘和介质存储(如磁带)之间的数据传输).
7.Oracle Secure Backup ORCLE安全备份
Oracle Secure Backup是一种介质管理器,在将数据从文件写到磁带时提供安全可靠的保护措施,支持主流的磁带驱动器和磁带.
8.Fast Recovery Area 快速恢复区
一块磁盘空间,用来存储备份相关的文件,如控制文件、联机日志、归档日志、闪回日志、RMAN备份,很方便的管理备份信息.可以设置FRA的大小.
9.RMAN in a Data Guard Environment DATA GUARD下的RMAN
在DG环境下,备份必须使用恢复目录.恢复目录可以保存所有的主库和备库的备份信息.
1)DG下RMAN配置
在DG环境下,用CONFIGER XX FOR DB_UNIQUE_NAME语句不用连接一个主库或备库做为目标数据库就可以设置这个数据库的配置信息.如,连接到恢复目录,然后执行SET DBID,再执行CONFIGURE命令配置一个尚未创建的数据库,在数据库被创建后,就可以使用这个配置.如果使用FOR DB_UNIQUE_NAME连接CATALOG而不连接目标数据库,则配置信息只能保存在CATALOG中.在连接到目标数据库后,可以同步CATALOG和控制文件.
2)RMAN File Management in a Data Guard Environment
在DG中,RMAN使用CATALOG来跟踪数据库文件的变化.RAMN也会记录以下文件:online redo log files, standby redo log files, temp files, archived redo log files, backup sets, and image copies are created
3)Interchangeability of Backups in a Data Guard Environment 可交换的备份
在DG环境中,主库和物理备库对RMAN来说透明的.比如:在主库上备份一个表空间,可以用来还原备库,同时也可以用备库上表空间的备份来还原主库.同样适用于控制文件,主库的控制文件可以还原备库的控制文件.
4)Association of Backups in a Data Guard Environment
DG中,RMAN用DB_UNIQUE_NAME将备份和数据库绑定在一起.比如备份DB_UNIQUE_NAME stb1数据库,stb1就会和这个备份绑定在一起,可以用CHANGE ...RESET DB_UNIQUE_NAME命令把备份绑定到另一个数据库上
5)Accessibility of Backups in a Data Guard Environment
访问备份与绑定备份不同.在DG下,磁盘上的备份只能被它绑定的数据库使用(accessible) ,但是磁带上的备份却可以被所有数据库访问.如果备份没有绑定一个数据库,在CATALOG中SITE_KEY 列将来显示为NULL.默认情况下,RMAN将SITE_KEY 为NULL 的文件绑定到RMAN连接到的目标数据库上.
RMANR 的BACKUP RESTORE CROSSCHECK等命令只能使用该数据库可以使用(accessible)的备份(即与之绑定的备份).比如PROD1和备库STB1,连接到PROD1上时,只能使用绑定以PROD1的备份,而不能使用STB1上的备份.然而,如果STB1有的备份是磁盘上,PROD1却可以用这个备份来还原和恢复. (黄色部分是根据文档的例子自己写的,可能不准确,请自行判断)
官方文档 恢复备份指南三 Recovery Manager Architecture,布布扣,bubuko.com