Oracle 数据库 RMAN 架构与核心概念

1、什么是 RMAN

RMAN(Recovery Manager)是 Oracle 官方提供的备份与恢复工具,内置于 Oracle 数据库软件中,无需额外安装。RMAN 通过与数据库实例交互,以 Oracle 数据块为最小单位进行备份,支持全量备份、增量备份、压缩备份、加密备份等多种方式,是 Oracle 数据库运维中最核心的工具之一。

2、RMAN 核心组件

RMAN 客户端: 可执行程序 rman,用于发起备份、恢复、维护命令。

目标数据库(Target Database): 需要备份或恢复的 Oracle 数据库。

RMAN 客户端: 可执行程序 rman,用于发起备份、恢复、维护命令。

目标数据库(Target Database): 需要备份或恢复的 Oracle 数据库。

恢复目录(Recovery Catalog): 可选的独立数据库 schema,用于存储备份元数据,比控制文件更持久、更安全。

控制文件(Control File): 默认的备份元数据存储位置,记录备份集、数据文件、归档日志等信息。

通道(Channel): RMAN 与目标数据库之间的连接通道,决定备份/恢复的并行度和设备类型(DISK / SBT)。

备份集(Backup Set): RMAN 专有格式,由一个或多个备份片(Backup Piece)组成,支持压缩和加密。

镜像副本(Image Copy): 数据文件的逐块复制,与原文件大小相同,可直接用于恢复。

辅助实例(Auxiliary Instance): 用于复制数据库、表空间时间点恢复等操作的临时实例。

3、RMAN 备份元数据存储

RMAN 备份操作的元数据(哪些文件被备份、备份位置、SCN 信息等)默认存储在目标数据库的控制文件中。对于大规模生产环境,强烈建议配置 Recovery Catalog,将元数据集中管理,避免控制文件丢失导致备份记录丢失。

实例:控制文件丢失导致备份记录全部丢失

**S --- Situation(场景):**某制造业企业生产库仅使用控制文件存储备份元数据。一次磁盘阵列故障导致控制文件和数据文件同时损坏,运维团队虽然有完整的备份集文件,但无法通过 RMAN 恢复------因为控制文件丢失后,RMAN 不知道备份集对应哪些文件、什么 SCN。

**T --- Task(任务):**在最短时间内恢复数据库可用性,同时建立防止再次发生此问题的机制。

A --- Action(行动):

1、通过备份集头部信息手动编目(CATALOG)备份集;

2、恢复控制文件后执行 RESTORE/RECOVER;

3、立即部署 Recovery Catalog 数据库,将所有目标库的备份元数据集中存储;

4、制定控制文件多路复用策略(至少 3 份,分布在不同磁盘组)。

**R --- Result(结果):**数据库在 4 小时内恢复。后续通过 Recovery Catalog 实现了备份元数据的集中管理和跨库查询,控制文件多路复用策略确保单点故障不再影响备份可恢复性。

相关推荐
TLA技术11 小时前
LogMiner vs 裸日志解析(三):Oracle日志解析中的“前镜像”和“后镜像”,到底怎么用?
数据库·oracle·flink·dba·迁移学习
IT邦德11 小时前
BIC-QA如何重新定义数据库知识服务
运维·数据库
逐米时代11 小时前
BOM智能构建:全链路一致性自动校验
大数据·数据库·人工智能
SelectDB技术团队11 小时前
StarRocks 迁移至 Apache Doris 完整指南:三步完成结构、数据与业务平滑切换
数据库·人工智能·sql·clickhouse·apache doris·selectdb·湖仓架构升级
Gauss松鼠会11 小时前
GaussDB 系统表与系统视图详解(内网运维版)
运维·服务器·网络·数据库·gaussdb·经验总结
倔强的石头_11 小时前
OceanBaseVS金仓:同一条复杂 SQL,为什么架构选择会改变延迟曲线
数据库
+VX:Fegn089512 小时前
计算机毕业设计|基于springboot + vue图书借阅管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
李金虎_12 小时前
大模型搜索时代的 GEO 工程实践:从零搭建仿真环境到可控变量的完整复盘
数据库·机器学习
YangYang9YangYan12 小时前
商业分析师校招拆解|2026 秋招 Python 要求、工具栈与面试考点
数据库·人工智能·数据分析
imDwAaY12 小时前
MySQL MVCC 详解:原理、版本链、Read View 与可见性判断
数据库·sql·mysql