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 小时前
MySQL架构揭秘:慢查询日志详解
数据库·mysql·架构
pulinzt2 小时前
Tableau的基础使用
数据库·numpy
糖果店的幽灵2 小时前
【langgraph 从入门到精通graphApi 篇】LangGraphAPI 方式调用 - 初识与核心概念
数据库·人工智能·langgraph
TlSfoward3 小时前
TLSFOWARD TLS指纹
开发语言·数据库·爬虫·搜索引擎·https·php
️学习的小王3 小时前
MySQL 实战:从建表到索引管理的完整指南
数据库·mysql·oracle
宠友信息4 小时前
MySQL复合索引与Druid优化仿小红书源码个人主页查询链路
数据库·spring boot·websocket·mysql·uni-app
minji...5 小时前
MySQL数据库 (十九) MySQL图像化界面,MySQL连接池
数据库·mysql·navicat·mysql workbench·mysql连接池·数据库图形化界面
想躺平的小羊5 小时前
MySQL中LAST_DAY函数用法
数据库·mysql
光影6276 小时前
MySQL基础入门
数据库·笔记·sql·学习·mysql·学习方法
qetfw6 小时前
CentOS 7 搭建 MariaDB 数据库服务
linux·数据库·centos·mariadb