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 实现了备份元数据的集中管理和跨库查询,控制文件多路复用策略确保单点故障不再影响备份可恢复性。

相关推荐
吃糖的小孩1 天前
给 QQ AI 机器人设计“可控记忆”:会话摘要、手动长期记忆与角色卡边界
数据库
笃行3502 天前
金仓数据库数据安全双防线:静态存储加密与传输加密实战
数据库
笃行3502 天前
金仓数据库物理备份实战:sys_rman 全流程演练与误覆盖抢救
数据库
笃行3502 天前
金仓数据库逻辑备份实战:从全库导出到 Schema 替换的完整闭环
数据库
SelectDB3 天前
阶跃星辰基于 SelectDB 构建 PB 级 Agent 可观测平台
大数据·数据库·aigc
这个DBA有点耶3 天前
GROUP BY优化全解:如何写出既不丢数据又飞快的分组查询
数据库·mysql·架构
掉头发的王富贵3 天前
【StarRocks】极限十分钟入门StarRocks
数据库·sql·mysql
Nturmoils3 天前
WHERE 条件别凭习惯写,常用查询先跑一遍
数据库
Databend4 天前
在 AWS 中国峰会逛了一天,我在 Databend 展台看到了 Agent 数据基础设施的新思路
数据库·人工智能·agent