Oracle Recovery Manager (RMAN) 是Oracle数据库自带的一款强大而全面的备份与恢复工具。
RMAN的核心功能与特性
-
备份类型:
- 完全备份:备份整个数据库的所有数据文件、控制文件和归档日志。
- 增量备份:分为累积增量备份(Cumulative Incremental Backup)和差异增量备份(Differential Incremental Backup)。前者基于上次完整或增量备份;后者基于上次备份,无论是否是增量备份。
-
块级备份:
- RMAN使用块更改跟踪功能仅备份自上次备份以来发生更改的数据块,从而节省存储空间和备份时间。
-
多段备份:
- 支持并行备份多个数据文件,提高备份效率。
-
压缩与加密备份:
- 可以对备份集进行压缩以减少存储空间需求,同时支持加密功能以增强数据安全性。
-
恢复策略:
- 可配置保留策略,如基于冗余度或恢复窗口。
CONFIGURE RETENTION POLICY TO REDUNDANCY n
:保留至少n个冗余备份版本。CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF m DAYS
:只保留过去m天内可恢复数据库所需的备份。
-
联机/热备份:
- 在归档模式下,RMAN允许进行联机热备份,即使在数据库运行时也可备份数据文件。
-
恢复操作:
- 全局数据库名变更恢复、表空间恢复、数据文件恢复、时间点恢复、直至时间点的恢复等。
-
catalog数据库:
- RMAN可以将备份元数据存储在控制文件中,也可以存储在一个专门的catalog数据库中,便于集中管理和跨多个数据库的备份管理。
-
多数据库管理:
- RMAN可以连接并管理多个数据库实例,支持批量作业和自动化。
RMAN的基本操作
-
连接数据库:
rman target / # 连接到本地数据库 rman target sys/password@db_service_name # 远程连接数据库
-
执行备份命令:
RUN { BACKUP DATABASE; # 完全备份数据库 BACKUP INCREMENTAL LEVEL 1; # 增量备份 BACKUP ARCHIVELOG ALL; # 备份所有归档日志 }
-
列出与删除备份集:
LIST BACKUP; DELETE OBSOLETE; # 删除不再符合保留策略的备份
-
恢复操作示例:
RESTORE DATABASE; # 恢复数据库 RECOVER DATABASE; # 应用重做日志完成恢复 RESTORE CONTROLFILE FROM AUTOBACKUP; # 从自动备份恢复控制文件
高级功能
-
镜像复制与克隆:
- RMAN可用于创建物理或逻辑数据库克隆,包括Active Database Duplication和Snapshot Copy。
-
媒体恢复:
- 当备份介质出现故障时,RMAN可以执行复杂的媒体恢复流程,包括修复损坏的数据块、重新构建数据文件等。
-
综合测试:
- RMAN可以执行
VALIDATE
命令来验证备份集的有效性和完整性。
- RMAN可以执行