如何修复 vCenter 6.x / 7.x / 8.x 上的日志磁盘耗尽问题
2026-07-20
2026-07-20
2026-07-17
2026-07-16
Oracle Recovery Manager (RMAN) 是 Oracle 针对 Oracle Database 提供的原生内置备份与恢复工具。它是保护数据文件、控制文件、SPFILE 和归档重做日志的行业标准,适用于所有 Oracle 版本——尤其是目前企业级部署最广泛的 Oracle 19c。
RMAN 直接与 Oracle 内核交互,支持块级备份、增量跟踪、损坏检测和自动化恢复。
与传统的基于文件的备份(操作系统拷贝、冷备份)相比,RMAN 提供:

在 Oracle RMAN 环境中,包括常用的 Oracle 19c 系统,备份策略通常根据工作负载和恢复目标来设计。
在 Oracle RMAN 中,备份策略分为三种核心类型,均在 Oracle 19c 中得到全面支持:
在执行 Oracle RMAN 备份操作之前,应完成若干数据库和环境检查,以确保备份任务成功运行且恢复操作保持可靠。
首先,验证 Oracle 数据库是否已打开且可访问。RMAN 要求目标数据库实例正常运行后才能开始备份操作。
在 SQL*Plus 中运行以下查询:
SELECT NAME, OPEN_MODE FROM V$DATABASE;
OPEN_MODE 的值通常应显示为 READ WRITE,表示数据库完全正常运行。
Oracle RMAN 依赖归档重做日志来进行时间点恢复和增量备份操作。在配置备份之前,请确认数据库以 ARCHIVELOG 模式运行。
使用以下命令:
ARCHIVE LOG LIST;
如果 ARCHIVELOG 模式已禁用,请使用以下命令启用:
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
启用 ARCHIVELOG 模式允许 Oracle 持续归档事务变更,这对于企业备份、灾难恢复和数据库恢复场景至关重要。
确认数据库配置后,连接到 RMAN 工具。
本地数据库连接:
rman target /
远程数据库连接:
rman target sys/password@ORCL
成功的 RMAN 连接允许管理员从命令行配置备份策略、执行备份作业和执行恢复操作。
完成前提条件检查后,下一步是配置 RMAN 备份设置。正确的 RMAN 配置可提高备份效率、存储管理和恢复可靠性。
保留策略决定 RMAN 在将备份文件标记为过期之前保留多长时间。
将备份保留七天:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
或者,保留两份备份副本:
CONFIGURE RETENTION POLICY TO REDUNDANCY 2;
保留策略帮助组织在存储使用与恢复需求之间取得平衡,对于长期备份管理至关重要。
备份优化可防止 RMAN 重复备份已存储在磁盘上的相同归档日志和备份集。
使用以下命令启用备份优化:
CONFIGURE BACKUP OPTIMIZATION ON;
这可以减少不必要的存储消耗并缩短备份窗口,尤其是在具有频繁计划备份的环境中。
RMAN 支持压缩备份集以减少存储空间需求。
使用以下命令启用压缩备份:
CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET;
压缩备份对于大型 Oracle 数据库尤其有用,因为存储效率和网络带宽优化是需要考虑的重要因素。
Oracle 控制文件包含关键的数据库结构和恢复元数据。启用自动控制文件备份可确保此信息始终受到保护。
使用以下命令配置控制文件自动备份:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
启用此设置后,RMAN 会在备份操作和数据库结构更改后自动备份控制文件,从而提高灾难场景中的恢复可靠性。
Oracle RMAN 提供多种备份和恢复方法,用于保护 Oracle 数据库免受数据丢失、损坏和意外系统故障的影响。常见的 RMAN 操作(包括在 Oracle 19c 上的操作)包括全量备份、增量备份、归档日志备份和数据库恢复流程。

开始备份操作之前,请从 Oracle 服务器连接到 RMAN 工具。
全量 RMAN 备份创建 Oracle 数据库的完整副本,包括数据文件和归档重做日志。
运行以下命令:
BACKUP DATABASE PLUS ARCHIVELOG;
包含归档日志可确保数据库能够完全恢复到最新已提交的事务状态。
对于存储容量有限的环境,RMAN 支持压缩备份集。
BACKUP AS COMPRESSED BACKUPSET DATABASE;
压缩备份可减少存储消耗和网络传输大小,适用于大型生产数据库。
RMAN 备份任务可通过 RUN 块和计划脚本实现自动化。
RUN {
BACKUP DATABASE PLUS ARCHIVELOG;
DELETE OBSOLETE;
}
此示例执行数据库备份并根据配置的保留策略自动删除过期的备份文件。
增量备份仅捕获已变更的数据块,有助于减少备份时间和存储使用量。
0 级备份作为未来增量备份的基线。
BACKUP INCREMENTAL LEVEL 0 DATABASE;
1 级差异备份存储自最近一次 1 级或 0 级备份以来的变更。
BACKUP INCREMENTAL LEVEL 1 DATABASE;
累积备份存储自上次 0 级备份以来的所有变更。
BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DATABASE;
累积备份可简化恢复操作,因为恢复期间所需的备份集数量更少。
归档日志备份对于时间点恢复和灾难恢复策略至关重要。
BACKUP ARCHIVELOG ALL;
BACKUP DATABASE PLUS ARCHIVELOG;
BACKUP ARCHIVELOG ALL DELETE INPUT;
备份后删除归档日志有助于在维持恢复能力的同时管理存储空间。
RMAN 恢复操作允许管理员在硬件故障、数据损坏、意外删除或勒索软件事件后恢复数据库。在 Oracle 19c 环境中,RMAN 还支持 PDB 恢复、块恢复和高级时间点恢复场景。
完整恢复将数据库恢复到最近的一致状态。
RESTORE DATABASE;
RECOVER DATABASE;
ALTER DATABASE OPEN;
此恢复方法通常用于存储故障或完整数据库丢失场景之后。
时间点恢复将数据库恢复到故障或意外变更发生之前的特定时间戳。
# 示例:ESXi / Linux 命令(请替换为你的实际指令)
RUN {
SET UNTIL TIME "TO_DATE('2026-05-14 10:00:00','YYYY-MM-DD HH24:MI:SS')";
RESTORE DATABASE;
RECOVER DATABASE;
}
PITR 对于从意外数据删除、逻辑损坏或应用程序错误中恢复非常有用。
RMAN 还支持恢复单个数据文件或表空间,而无需恢复整个数据库。
RESTORE DATAFILE 1;
RECOVER DATAFILE 1;
此方法通过将恢复操作仅限于受影响的数据库组件,从而最大限度减少停机时间。
RMAN 块恢复可在不恢复整个数据文件的情况下修复损坏的数据块。
BLOCKRECOVER DATAFILE 5 BLOCK 100;
块介质恢复有助于缩短恢复时间并最小化局部块损坏的影响。
虽然 Oracle RMAN 是一款强大的原生工具,但在企业级环境中存在一定的局限性:
Oracle RMAN 为数据库备份和恢复提供了强大的原生能力,涵盖全量备份、增量备份和时间点恢复等关键操作。然而,在企业环境中,备份需求通常超出基本执行范围,需要包括集中控制、自动化和跨多系统的一致性保护。
企业级备份解决方案(如 i2Backup)通过以下能力扩展了基于 RMAN 的保护:
这通过提升大规模部署中的可管理性、安全性和整体韧性,增强了 RMAN 备份策略。
完成备份操作后,监控备份状态并验证备份完整性非常重要,以确保在需要时能够恢复。
为确保可靠且高效的备份操作,建议遵循以下最佳实践:
Oracle RMAN 备份是 Oracle 用于数据库备份和恢复的内置工具。
RMAN 提供块级备份和自动化,而传统方法依赖于手动的文件级备份。
您需要在运行备份作业之前配置保留策略、备份优化和控制文件自动备份。
使用 Shell 脚本结合 cron 调度来实现 RMAN 备份执行的自动化。
是的,RMAN 支持完全恢复、增量恢复和时间点恢复。
Oracle RMAN 是 Oracle 数据库的标准备份和恢复解决方案,尤其在 Oracle 19c 环境中。它支持全量备份、增量备份和归档日志备份,以及强大的恢复能力。
通过结合正确的配置、验证和自动化,组织可以显著提高数据库韧性并降低停机风险。
公告
邮件
销售