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

相关推荐
IvorySQL5 小时前
PostgreSQL 日报 | JOIN 与外键优化(8 月 9 日)
数据库·postgresql
ltl5 小时前
自治数据库十年回顾:Peloton、NoisePage、OtterTune 到云原生 auto-tuning
数据库
灯澜忆梦7 小时前
【MySQL10】进阶篇 | 索引_#2性能优化
数据库·sql·mysql·性能优化
C++ 老炮儿的技术栈8 小时前
从 Qt Designer 属性编辑器的层级可以看到继承链
c语言·数据库·c++·qt·sqlite·visual studio
MC皮蛋侠客8 小时前
Redis 系列(一):全景与最小闭环——从 `SET` 命令到内存数据结构
数据结构·数据库·redis
zt1985q10 小时前
本地部署开源网络书签与内容管理工具 Karakeep 并实现外部访问
运维·服务器·网络·数据库·网络协议·开源
IvorySQL11 小时前
PostgreSQL 日报| PostgreSQL 19 默认 WAL 压缩算法(8 月 8 日)
数据库·postgresql·区块链
油丶酸萝卜别吃11 小时前
MySQL B+ 树查询全过程详解
数据库·mysql
leisoo809711 小时前
股票数据本地化存储实战:JSON、数据库与列式存储的方案对比
jvm·数据库·json
Exclusive_Cat11 小时前
MySQL回表机制解析与优化策略
数据库·sql