news 2026/6/15 21:06:49

Oracle数据库物理备份与恢复实战指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Oracle数据库物理备份与恢复实战指南

1. RMAN基础概念

1.1 什么是RMAN

RMAN(Recovery Manager)是Oracle 8i以后DBA的重要工具,位于$ORACLE_HOME/bin目录下,主要用于备份、还原和恢复操作。

image

RMAN组成:

可执行文件:rman

库文件:recover.bsq

1.2 RMAN的主要作用

自动化备份和恢复

备份归档日志

增量备份支持

检测损坏数据块并跳过

并行备份恢复

在线备份不影响业务

1.3 RMAN体系架构

核心组件:

RMAN工具:客户端应用程序

服务进程:与数据库和I/O设备通信

通道:服务进程与I/O设备的读写途径

目标数据库:要备份的数据库

恢复目录:存储备份元数据(可选)

媒体管理层:第三方磁带管理工具

2. RMAN备份原理

2.1 RMAN组成

rman.exe:启动文件

recover.bsq:库文件,包含PL/SQL调用代码

2.2 控制文件管理

-- 查看控制文件保留时间

SHOW PARAMETER control_file_record_keep_time;

-- 修改保留时间

ALTER SYSTEM SET control_file_record_keep_time=14 SCOPE=BOTH;

2.3 快照控制文件

RMAN通过快照控制文件解决备份期间控制文件一致性问题。

3. 恢复目录配置

3.1 创建恢复目录

-- 创建表空间

CREATE TABLESPACE rmantbs DATAFILE '/backup/rmantbs01.dbf' SIZE 100M AUTOEXTEND OFF;

-- 创建RMAN用户

CREATE USER rman IDENTIFIED BY rman DEFAULT TABLESPACE rmantbs;

ALTER USER rman QUOTA UNLIMITED ON rmantbs;

GRANT connect,resource,recovery_catalog_owner TO rman;

-- 创建恢复目录

RMAN> CREATE CATALOG TABLESPACE rmantbs;

3.2 注册目标数据库

rman target / catalog rman/rman@rman

RMAN> REGISTER DATABASE;

4. RMAN常用命令

4.1 配置命令

-- 查看所有配置

RMAN> SHOW ALL;

-- 配置保留策略

RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY 2;

-- 配置控制文件自动备份

RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;

4.2 备份命令

-- 全库备份

RMAN> BACKUP DATABASE;

-- 备份指定表空间

RMAN> BACKUP TABLESPACE users;

-- 备份归档日志

RMAN> BACKUP ARCHIVELOG ALL;

-- 压缩备份

RMAN> BACKUP AS COMPRESSED BACKUPSET DATABASE;

4.3 恢复命令

-- 恢复数据库

RMAN> RESTORE DATABASE;

RMAN> RECOVER DATABASE;

-- 恢复数据文件

RMAN> RESTORE DATAFILE 5;

RMAN> RECOVER DATAFILE 5;

5. 实战案例

5.1 归档模式丢失所有文件恢复

场景:服务器意外断电导致所有数据库文件丢失

恢复步骤:

恢复SPFILE文件

恢复控制文件

恢复数据文件

应用归档日志恢复

-- 恢复SPFILE

RMAN> STARTUP NOMOUNT;

RMAN> RESTORE SPFILE FROM AUTOBACKUP;

-- 恢复控制文件

RMAN> RESTORE CONTROLFILE FROM AUTOBACKUP;

-- 恢复数据文件

RMAN> RESTORE DATABASE;

RMAN> RECOVER DATABASE;

-- 打开数据库

SQL> ALTER DATABASE OPEN RESETLOGS;

5.2 单个数据文件丢失恢复

-- 在线恢复

SQL> ALTER DATABASE DATAFILE '/path/file.dbf' OFFLINE;

RMAN> RESTORE DATAFILE 5;

RMAN> RECOVER DATAFILE 5;

SQL> ALTER DATABASE DATAFILE '/path/file.dbf' ONLINE;

5.3 表空间恢复

RMAN> RESTORE TABLESPACE users;

RMAN> RECOVER TABLESPACE users;

5.4 坏块修复

-- 检查坏块

SQL> SELECT * FROM v$database_block_corruption;

-- 修复坏块

RMAN> BLOCKRECOVER DATAFILE 17 BLOCK 130;

6. 高级功能

6.1 增量备份

-- 0级备份

RMAN> BACKUP INCREMENTAL LEVEL 0 DATABASE;

-- 1级增量备份

RMAN> BACKUP INCREMENTAL LEVEL 1 DATABASE;

6.2 基于时间点恢复

RUN {

SET UNTIL TIME "TO_DATE('2023-01-01 12:00:00','YYYY-MM-DD HH24:MI:SS')";

RESTORE DATABASE;

RECOVER DATABASE;

}

6.3 跨平台迁移

通过RMAN实现单机到RAC集群的迁移:

备份源数据库

准备目标环境

恢复控制文件和数据文件

调整集群参数

验证数据完整性

7. 监控与维护

7.1 备份状态检查

-- 检查7天内备份情况

SELECT /*+ RULE */ r.session_recid,

TO_CHAR(r.start_time, 'yyyy-mm-dd HH24:MI:SS') start_time,

r.status,

r.input_type,

r.input_bytes_display input_size

FROM v$rman_backup_job_details r

WHERE start_time > SYSDATE - 7

ORDER BY start_time;

7.2 维护操作

-- 交叉验证备份

RMAN> CROSSCHECK BACKUP;

-- 删除过期备份

RMAN> DELETE EXPIRED BACKUP;

-- 删除废弃备份

RMAN> DELETE OBSOLETE;

8. 最佳实践建议

定期验证备份:使用VALIDATE命令检查备份完整性

监控备份作业:建立备份监控机制

测试恢复流程:定期进行恢复演练

合理配置保留策略:根据业务需求设置

启用控制文件自动备份:确保元数据安全

使用压缩功能:在性能和空间之间权衡

总结

Oracle RMAN提供了强大而灵活的备份恢复解决方案。通过合理配置和规范操作,可以确保数据库在各种故障场景下的快速恢复。关键是要建立完善的备份策略,并定期验证备份的有效性,确保在真正需要时能够成功恢复数据。

合集: Oracle

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 20:19:46

WebSocket 实时聊天功能

在上一讲中,Spring Boot 后端实现 WebSocket 已创建过后端项目,现在开始补充前端 在项目下新增一个模块frontend【与后端src目录平级】 在前端目录下执行npm install 不看上一讲也可以,直接创建一个前后端项目即可,下面会给出完整…

作者头像 李华
网站建设 2026/6/15 14:19:13

蓝桥杯103 日期问题

题目链接:https://www.lanqiao.cn/problems/103/learning/ 前置知识 输入解析 要会什么? 会用这一句把 AA/BB/CC 读进来: int a,b,c; scanf("%d/%d/%d", &a, &b, &c); 要记住什么? "%d/%d/%d"…

作者头像 李华
网站建设 2026/6/15 5:03:01

leetcode解题方法

双指针法&#xff1a;适用于有序数组去重、两数之和等问题。通过左右指针减少时间复杂度至O(n)。示例代码&#xff1a;c复制插入int removeDuplicates(int* nums, int numsSize) {if (numsSize 0) return 0;int slow 0;for (int fast 1; fast < numsSize; fast) {if (num…

作者头像 李华
网站建设 2026/6/15 13:19:16

八)--工具和MCP调用

1. 工程结构概览Spring AI 提供了完整的工具调用&#xff08;Tool Calling&#xff09;能力&#xff0c;让 AI 模型可以调用外部服务。同时&#xff0c;Spring AI 还支持 MCP&#xff08;Model Context Protocol&#xff09;&#xff0c;这是一个标准化的工具协议。spring-ai-m…

作者头像 李华
网站建设 2026/6/15 6:16:11

国产GPU适配实战——五款二线主流AI加速卡深度评测

文章目录前言一、海光 DCU K100_AI —— 适配体验最佳硬件规格生态资源租用渠道适配体验ONNX适配综合评价二、寒武纪 MLU370-M8 —— 需要技术支持硬件规格生态资源获取方式适配方式遇到的问题ONNX支持重要提醒三、沐曦 C500 —— 资源丰富的后起之秀硬件规格生态资源租用渠道适…

作者头像 李华