使用 RMAN 逐步备份 Oracle 数据库
2026-05-18
Oracle 数据库是由甲骨文公司开发并提供支持的一款可扩展、多模型的关系型数据库管理系统(RDBMS)。根据 Statista 的数据,Oracle 数据库是全球最流行的数据库,在全球各类组织中被广泛采用。当然,鉴于数据库备份对企业的重要性,其备份方案也备受关注。
Oracle 备份解决方案
在 Oracle 中,通常有两种数据库备份方式,即:
1. Oracle 恢复管理器(RMAN):内置于 Oracle 数据库中、用于执行数据库备份与恢复操作的程序。
2. 用户自主管理:用户通过运行 SQL*Plus 命令及适用于其操作系统的主机操作系统命令,手动执行数据库备份。
RMAN 在两种方案中脱颖而出,因为该方法提供了一个统一的通用接口,可跨不同操作系统自动备份 Oracle 数据库,使备份过程更加直观易用。因此,本文将重点分步介绍如何使用 RMAN 备份 Oracle 数据库。
RMAN 备份类型
数据库备份策略中包含多种 Oracle 备份类型。为更有效地使用这些备份类型,在深入探讨数据库备份步骤之前,我们先来了解其分类。
完整备份:一种将文件的所有数据块存储到镜像副本中,或将已使用数据块存储到备份集中的备份方式;这两种备份均不能作为后续增量备份的父备份或其组成部分。
增量备份(0级/1级备份):增量备份分为两类:一类是0级备份,包含文件中已使用的数据块;另一类是1级备份,仅存储自其父备份创建以来发生更改的数据块。0级备份作为1级备份的父备份。
多级增量备份:
差异备份(0级/1级增量备份):默认的增量备份类型,用于备份自上一次0级或1级增量备份以来所有已修改的数据块。
累积备份(0级增量备份): 备份自上次0级备份以来所有被修改的数据块。
如何使用 RMAN 备份 Oracle 数据库?
1. 启动 RMAN 并连接到 Oracle 数据库。
使用“connect target”命令连接到 Oracle 数据库。
% rmanRMAN> CONNECT TARGET Exampletarget database Password: passwordconnected to target database: Example (DBID=00000000)
2. 显示当前 RMAN 配置并修改部分参数。
运行“显示全部”命令以查看配置。
RMAN> SHOW ALL
按需更改参数。
更改备份位置:
RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/changed backup/location _%t_%s_%p ';
指定保留时间:
RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF XX DAYS;
压缩备份集:
CONFIGURE DEVICE TYPE DISK/sbt BACKUP TYPE TO COMPRESSED BACKUPSET;
您可以通过执行“show all”命令来验证这些更改;如果需要,可在配置命令行末尾添加“CLEAR”以恢复默认设置。
3. 备份 Oracle 数据库。
1) 您可以将 Oracle 数据库备份为备份集或映像副本格式,建议使用前者,因为只有 RMAN 能够访问该格式。
2) 在输入 RMAN 命令之前,请确保 Oracle 数据库正在运行。
不包含归档日志的完整备份:
RMAN> BACKUP AS BACKUPSET DATABASE
在 Oracle 数据库处于打开状态时备份归档重做日志:
RMAN> BACKUP AS BACKUPSET DATABASE PLUS ARCHIVELOG;
仅备份表空间:
RMAN> BACKUP AS BACKUPSET TABLESPACE;
数据库的增量备份:
创建一个级别 0 的增量备份作为基础:
BACKUP INCREMENTAL LEVEL 0 DATABASE;
创建一级累积增量备份:
BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DATABASE;
创建一级差异增量备份:
BACKUP INCREMENTAL LEVEL 1 DATABASE;
实施增量更新备份:
这是一种基于 0 级数据文件副本的增量备份策略。
RECOVER COPY OF DATABASE WITH TAG 'incr_update';BACKUP INCREMENTAL LEVEL 1 FOR RECOVER OF COPY WITH TAG 'incr_update' DATABASE;
要查看 RMAN 备份文件,请在已创建的目录前加上“Is”;要查看所有文件,请在 RMAN 提示符下使用“LIST”命令。
4. 分配备用标签以进行管理。
RMAN> BACKUP AS BACKUPSET TAG 'TAGNAME' TABLESPACE DBNAME;
5. 压缩 RMAN 备份。
RMAN> BACKUP AS COMPRESSED BACKUPSET TAG 'TAGNAME' TABLESPACE DBNAME;
尽管使用 Oracle RMAN 进行备份十分便捷,但该工具也带来诸多问题。例如,维护和管理多个数据库可能颇具挑战性;独立的恢复目录实例主机所产生的开销,以及高频次、高资源消耗的常规备份,均会导致数据库性能下降。
Vinchin 自动化 Oracle 数据库备份
Vinchin 备份与恢复是一款全面且兼容性强的虚拟机及数据库保护解决方案,支持对 Oracle、MySQL、SQL Server、MariaDB、Postgres Pro 和 PostgreSQL 进行备份与恢复。
自动 Oracle 数据库备份: Vinchin 备份与恢复软件可自动执行 Oracle 数据库备份,支持设置详细的备份计划,在指定时间点自动运行;当发生预设事件(例如存储空间不足)时,系统将通过电子邮件向订阅者发送告警通知。
智能灵活的备份策略:只需勾选相应选项,即可轻松选择完整备份、增量备份、差异备份及归档日志备份,无需使用复杂的命令行;并可根据还原点数量或天数来保留数据。您还可启用加密传输功能,对备份数据进行加密,确保数据传输安全。
节省备份存储空间:通过启用数据接收技术和 Oracle 数据库压缩功能,数据库备份体积可减少近 70%,且不会占用生产环境的 CPU 资源,从而大幅提升备份效率和存储利用率。
反勒索软件备份保护:该解决方案的 I/O 检测器仅允许 Vinchin 应用程序修改数据,任何其他可疑访问都将被拒绝,以保护 Vinchin 服务器中的备份。
高级 Oracle 支持: Vinchin 备份与恢复支持更快的多线程传输,并为 Oracle 用户简化 RAC 备份节点授权流程,所有数据库任务均可通过统一管理控制台进行集中管理。
Vinchin 备份与恢复在完成数据库备份准备后,仅需 4 个步骤即可简化 Oracle 备份。
1. 选择 Oracle 数据库

2. 选择备份存储位置

3. 选择备份策略

4. 提交任务

您现在即可下载该解决方案的60天免费试用版,在您的环境中进行体验。
下载免费试用版
适用于多种数据备份
* 15天全功能免费安全下载
Oracle RMAN 备份常见问题解答
1. 能否使用 RMAN 命令自动备份 Oracle 数据库?
是的,但您需要为此编写一个脚本。
2. 您可以使用 RMAN 命令将 Oracle 数据库备份到磁带吗?
是的,使用 RMAN 时支持磁带设备作为备份存储。
3. 您可以使用 RMAN 执行 Oracle 数据库的时间点恢复吗?
是的,RMAN 支持时间点恢复。
结论
Oracle 数据库备份有三种方式:内置的 RMAN 工具、手动命令行操作,或采用智能数据库备份解决方案 Vinchin Backup & Recovery。该方案支持 12 种虚拟化平台、物理服务器 和 NAS 的备份与恢复。前两种方式依赖复杂的命令行操作,且缺乏自动化能力。您可选用 Vinchin 解决方案实现无人值守的 Oracle 数据库备份,并通过其防勒索软件 IO 监控功能保障所有备份数据的安全。