在 Oracle 19c 中,备份数据库通常使用 RMAN(Recovery Manager) 工具,它是 Oracle 提供的官方备份和恢复工具。以下是通过 RMAN 备份 Oracle 19c 数据库的详细步骤和命令。
一、RMAN 基本概念
- RMAN 是 Oracle 的备份和恢复工具,支持完全备份、增量备份、归档日志备份等多种方式。
- RMAN 可以直接连接到目标数据库(Target Database),并执行备份任务。
二、备份方法
1. 使用 RMAN 进行完整备份
以下是完整的备份流程:
(1) 启动 RMAN 并连接到目标数据库
rman target /
- target / 表示以操作系统认证的方式连接到本地数据库。
- 如果是远程数据库,可以使用以下格式:
rman target sys/密码@数据库服务名
(2) 执行完整备份
执行以下命令进行完整备份:
BACKUP DATABASE PLUS ARCHIVELOG;
- BACKUP DATABASE:备份整个数据库。
- PLUS ARCHIVELOG:同时备份归档日志文件。
(3) 查看备份位置
默认情况下,备份文件会存储在 $ORACLE_BASE/flash_recovery_area 目录中,或者可以通过以下命令查看:
SHOW ALL;
2. 使用 RMAN 进行增量备份
增量备份分为两种类型:
- Level 0:类似于完整备份,但标记为 Level 0。
- Level 1:基于最近的 Level 0 或 Level 1 备份进行差异备份。
(1) 执行 Level 0 增量备份
BACKUP INCREMENTAL LEVEL 0 DATABASE;
(2) 执行 Level 1 增量备份
BACKUP INCREMENTAL LEVEL 1 DATABASE;
3. 将备份输出到指定路径
如果需要将备份文件存储到自定义路径,可以使用以下命令:
BACKUP DATABASE FORMAT '/path/to/backup/%U';
- %U 是一个占位符,表示生成唯一的文件名。
4. 配置备份保留策略
为了防止备份文件过多,可以配置保留策略。例如,保留 7 天内的备份:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
三、验证备份
执行以下命令验证备份是否成功:
VALIDATE BACKUPSET ALL;
四、其他常用命令
1. 列出所有备份
LIST BACKUP;
2. 删除过期备份
CROSSCHECK BACKUP;
DELETE EXPIRED BACKUP;
3. 删除所有备份
DELETE NOPROMPT OBSOLETE;
五、注意事项
- 确保有足够的磁盘空间:备份可能会占用大量磁盘空间,请提前检查存储容量。
- 启用归档模式:如果需要备份归档日志,必须确保数据库运行在归档模式下:
如果不是归档模式,可以使用以下命令切换:SELECT log_mode FROM v$database;
SHUTDOWN IMMEDIATE; STARTUP MOUNT; ALTER DATABASE ARCHIVELOG; ALTER DATABASE OPEN;
- 配置闪回区:RMAN 默认使用闪回恢复区(Flash Recovery Area),请确保其大小足够:
SHOW PARAMETER db_recovery_file_dest;