Skip to content

Oracle 日常备份操作指南

备份基础概念

备份类型

  1. 物理备份

    • 冷备份:关闭数据库后备份数据文件、控制文件和重做日志文件
    • 热备份:数据库运行时备份(归档模式下)
    • RMAN 备份:使用 Recovery Manager 进行的备份
  2. 逻辑备份

    • 导出备份:使用 expdp/impdp 或 exp/imp 导出数据
    • SQL 脚本:使用 SQL 语句生成的结构和数据脚本
  3. 备份级别

    • 完整备份:备份整个数据库
    • 增量备份:仅备份自上次备份以来更改的数据
    • 差异备份:备份自上次完整备份以来更改的数据

备份模式

  1. 归档模式

    • 启用归档日志
    • 支持热备份和时间点恢复
    • 推荐生产环境使用
  2. 非归档模式

    • 不启用归档日志
    • 仅支持冷备份
    • 不推荐生产环境使用

备份目标

  • 本地磁盘:快速但不安全
  • 网络存储:NFS、SAN 等
  • 磁带库:适合长期存储
  • 云存储:如 Oracle Cloud、AWS、Azure 等

日常备份策略

1. 完整备份策略

生产环境推荐

  • 每日:增量备份
  • 每周:完整备份
  • 每月:完整备份(异地存储)

测试环境推荐

  • 每周:完整备份
  • 按需:增量备份

2. 备份保留策略

  • 生产环境:至少保留 30 天的备份
  • 测试环境:至少保留 7 天的备份
  • 归档日志:保留到下一次完整备份

3. 备份验证策略

  • 每日:验证增量备份
  • 每周:验证完整备份
  • 每月:恢复测试

日常备份操作流程

1. 使用 RMAN 执行完整备份

步骤 1:连接到目标数据库

bash
rman target /

步骤 2:执行完整备份

bash
# 备份数据库到磁盘
BACKUP DATABASE PLUS ARCHIVELOG;

# 备份数据库到磁带
BACKUP DATABASE PLUS ARCHIVELOG DEVICE TYPE SBT;

# 备份并压缩
BACKUP AS COMPRESSED BACKUPSET DATABASE PLUS ARCHIVELOG;

# 备份到指定位置
BACKUP DATABASE PLUS ARCHIVELOG FORMAT '/backup/oracle/%d_%T_%U.bak';

步骤 3:备份控制文件

bash
# 单独备份控制文件
BACKUP CURRENT CONTROLFILE;

# 备份控制文件到追踪文件
ALTER DATABASE BACKUP CONTROLFILE TO TRACE;

步骤 4:备份服务器参数文件

bash
# 备份 SPFILE
BACKUP SPFILE;

2. 使用 RMAN 执行增量备份

步骤 1:连接到目标数据库

bash
rman target /

步骤 2:执行增量备份

bash
# 级别 0 增量备份(相当于完整备份)
BACKUP INCREMENTAL LEVEL 0 DATABASE PLUS ARCHIVELOG;

# 级别 1 增量备份(差异)
BACKUP INCREMENTAL LEVEL 1 DATABASE PLUS ARCHIVELOG;

# 级别 1 增量备份(累积)
BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DATABASE PLUS ARCHIVELOG;

3. 使用 Data Pump 执行逻辑备份

步骤 1:创建导出目录

bash
# 创建物理目录
mkdir -p /backup/oracle/expdp

# 在数据库中创建目录对象
SQL> CREATE DIRECTORY expdp_dir AS '/backup/oracle/expdp';
SQL> GRANT READ, WRITE ON DIRECTORY expdp_dir TO system;

步骤 2:执行全库导出

bash
# 全库导出
expdp system/password@orcl FULL=Y DIRECTORY=expdp_dir DUMPFILE=full_backup_%U.dmp LOGFILE=expdp_full.log COMPRESSION=ALL PARALLEL=4

# 导出特定用户
expdp system/password@orcl SCHEMAS=scott,hr DIRECTORY=expdp_dir DUMPFILE=schemas_backup.dmp LOGFILE=expdp_schemas.log

# 导出特定表
expdp system/password@orcl TABLES=scott.emp,scott.dept DIRECTORY=expdp_dir DUMPFILE=tables_backup.dmp LOGFILE=expdp_tables.log

# 导出表空间
expdp system/password@orcl TABLESPACES=users,example DIRECTORY=expdp_dir DUMPFILE=tablespaces_backup.dmp LOGFILE=expdp_tablespaces.log

4. 执行冷备份

步骤 1:关闭数据库

bash
sqlplus / as sysdba
SHUTDOWN IMMEDIATE;

步骤 2:备份关键文件

bash
# 备份数据文件
cp -p $ORACLE_BASE/oradata/$ORACLE_SID/*.dbf /backup/oracle/

# 备份控制文件
cp -p $ORACLE_BASE/oradata/$ORACLE_SID/control*.ctl /backup/oracle/

# 备份重做日志文件
cp -p $ORACLE_BASE/oradata/$ORACLE_SID/*.log /backup/oracle/

# 备份参数文件
cp -p $ORACLE_HOME/dbs/spfile$ORACLE_SID.ora /backup/oracle/
cp -p $ORACLE_HOME/dbs/init$ORACLE_SID.ora /backup/oracle/

# 备份密码文件
cp -p $ORACLE_HOME/dbs/orapw$ORACLE_SID /backup/oracle/

步骤 3:启动数据库

bash
STARTUP;

5. 备份归档日志

使用 RMAN 备份归档日志

bash
# 备份所有归档日志
BACKUP ARCHIVELOG ALL;

# 备份并删除已备份的归档日志
BACKUP ARCHIVELOG ALL DELETE INPUT;

# 备份特定范围的归档日志
BACKUP ARCHIVELOG FROM TIME 'SYSDATE-7' UNTIL TIME 'SYSDATE';

手动备份归档日志

bash
# 查找归档日志位置
SQL> SHOW PARAMETER log_archive_dest;

# 复制归档日志
cp -p $ARCHIVE_DEST/*.arc /backup/oracle/archive/

备份监控与管理

1. 监控备份作业

查看 RMAN 备份历史

bash
# 查看备份作业摘要
RMAN> LIST BACKUP SUMMARY;

# 查看详细备份信息
RMAN> LIST BACKUP;

# 查看特定文件的备份
RMAN> LIST BACKUP OF DATABASE;
RMAN> LIST BACKUP OF ARCHIVELOG ALL;

查询备份相关视图

sql
-- 查看备份集
SELECT * FROM V$BACKUP_SET;

-- 查看备份片
SELECT * FROM V$BACKUP_PIECE;

-- 查看备份状态
SELECT * FROM V$BACKUP;

-- 查看归档日志
SELECT * FROM V$ARCHIVED_LOG;

2. 备份报告生成

使用 RMAN 生成报告

bash
# 生成备份报告
RMAN> REPORT NEED BACKUP;
RMAN> REPORT OBSOLETE;
RMAN> REPORT SCHEMA;

使用 SQL 生成备份报告

sql
-- 备份状态报告
SELECT 
    TO_CHAR(completion_time, 'YYYY-MM-DD HH24:MI:SS') completion_time,
    backup_type,
    status,
    elapsed_seconds,
    bytes/1024/1024/1024 GB
FROM 
    V$BACKUP_JOB_DETAILS
ORDER BY 
    completion_time DESC;

3. 备份维护

删除过期备份

bash
# 删除过期备份
RMAN> DELETE OBSOLETE;

# 删除特定备份
RMAN> DELETE BACKUP OF DATABASE COMPLETED BEFORE 'SYSDATE-30';

# 删除归档日志备份
RMAN> DELETE BACKUP OF ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';

交叉验证备份

bash
# 验证所有备份
RMAN> CROSSCHECK BACKUP;

# 验证归档日志备份
RMAN> CROSSCHECK ARCHIVELOG ALL;

# 验证特定备份
RMAN> CROSSCHECK BACKUP OF DATABASE;

修复备份目录

bash
# 删除失效的备份记录
RMAN> DELETE EXPIRED BACKUP;

# 删除失效的归档日志记录
RMAN> DELETE EXPIRED ARCHIVELOG ALL;

备份自动化

1. 使用 cron 调度备份

创建备份脚本

bash
#!/bin/bash

# 设置环境变量
ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
ORACLE_SID=orcl
PATH=$ORACLE_HOME/bin:$PATH

# 备份日志
LOG_FILE=/backup/oracle/rman_backup_$(date +%Y%m%d).log

# 执行备份
rman target / << EOF > $LOG_FILE
RUN {
  ALLOCATE CHANNEL c1 DEVICE TYPE DISK;
  BACKUP AS COMPRESSED BACKUPSET
    DATABASE PLUS ARCHIVELOG;
  BACKUP CURRENT CONTROLFILE;
  BACKUP SPFILE;
  DELETE OBSOLETE;
  RELEASE CHANNEL c1;
}
EOF

# 检查备份结果
if grep -q "RMAN-" $LOG_FILE; then
  echo "备份失败,请查看日志文件: $LOG_FILE"
else
  echo "备份成功完成"
fi

调度 cron 作业

bash
# 编辑 crontab
crontab -e

# 添加每天凌晨 2 点执行完整备份
0 2 * * * /backup/oracle/rman_full_backup.sh

# 添加每 4 小时执行增量备份
0 */4 * * * /backup/oracle/rman_incremental_backup.sh

2. 使用 Oracle Scheduler

创建备份作业

sql
-- 创建程序
BEGIN
  DBMS_SCHEDULER.CREATE_PROGRAM(
    program_name        => 'BACKUP_PROGRAM',
    program_type        => 'EXECUTABLE',
    program_action      => '/backup/oracle/rman_backup.sh',
    enabled             => TRUE,
    comments            => 'RMAN 备份程序'
  );
END;
/

-- 创建调度
BEGIN
  DBMS_SCHEDULER.CREATE_SCHEDULE(
    schedule_name       => 'DAILY_BACKUP_SCHEDULE',
    start_date          => SYSTIMESTAMP,
    repeat_interval     => 'FREQ=DAILY; BYHOUR=2; BYMINUTE=0; BYSECOND=0',
    end_date            => NULL,
    comments            => '每日备份调度'
  );
END;
/

-- 创建作业
BEGIN
  DBMS_SCHEDULER.CREATE_JOB(
    job_name            => 'DAILY_BACKUP_JOB',
    program_name        => 'BACKUP_PROGRAM',
    schedule_name       => 'DAILY_BACKUP_SCHEDULE',
    enabled             => TRUE,
    comments            => '每日 RMAN 备份作业'
  );
END;
/

3. 使用 Enterprise Manager

步骤 1:登录 Enterprise Manager

步骤 2:创建备份策略

  • 导航到 "可用性" → "备份与恢复" → "备份策略"
  • 点击 "创建"
  • 配置备份类型、调度和保留策略

步骤 3:监控备份作业

  • 导航到 "可用性" → "备份与恢复" → "作业"
  • 查看备份作业状态和历史

备份验证与测试

1. 备份验证

使用 RMAN 验证备份

bash
# 验证备份集
RMAN> VALIDATE BACKUPSET 123;

# 验证数据库备份
RMAN> VALIDATE DATABASE;

# 验证数据文件
RMAN> VALIDATE DATAFILE 1;

# 验证归档日志
RMAN> VALIDATE ARCHIVELOG ALL;

使用 RESTORE 验证

bash
# 测试恢复(不实际执行)
RMAN> RESTORE DATABASE PREVIEW;

# 测试恢复控制文件
RMAN> RESTORE CONTROLFILE PREVIEW;

2. 恢复测试

测试表级恢复

bash
# 备份表
RMAN> BACKUP TABLESPACE users;

# 模拟表损坏
SQL> ALTER TABLE scott.emp NOLOGGING;
SQL> TRUNCATE TABLE scott.emp;

# 恢复表空间
RMAN> RUN {
  ALLOCATE CHANNEL c1 DEVICE TYPE DISK;
  RESTORE TABLESPACE users;
  RECOVER TABLESPACE users;
  RELEASE CHANNEL c1;
}

# 验证表数据
SQL> SELECT COUNT(*) FROM scott.emp;

测试时间点恢复

bash
# 执行时间点恢复
RMAN> RUN {
  ALLOCATE CHANNEL c1 DEVICE TYPE DISK;
  SET UNTIL TIME 'SYSDATE-1';
  RESTORE DATABASE;
  RECOVER DATABASE;
  RELEASE CHANNEL c1;
}

# 打开数据库
SQL> ALTER DATABASE OPEN RESETLOGS;

3. 备份性能测试

测试备份速度

bash
# 使用不同并行度测试
RMAN> BACKUP AS COMPRESSED BACKUPSET
      DATABASE PLUS ARCHIVELOG
      PARALLELISM 4;

# 测试不同备份类型
RMAN> BACKUP AS BACKUPSET DATABASE;
RMAN> BACKUP AS COMPRESSED BACKUPSET DATABASE;

优化备份性能

  • 增加通道数:使用 PARALLELISM 参数
  • 使用压缩:减少备份大小
  • 使用增量备份:减少备份时间
  • 优化 I/O:使用多个磁盘通道

常见备份问题与解决方案

1. RMAN 备份失败

问题:RMAN 备份失败,出现 RMAN-03009 错误

解决方案

  • 检查目标路径权限
  • 检查磁盘空间
  • 检查通道配置
bash
# 检查备份目标路径
mkdir -p /backup/oracle
chown oracle:oinstall /backup/oracle
chmod 755 /backup/oracle

# 检查磁盘空间
df -h /backup

# 重新配置通道
RMAN> RUN {
  ALLOCATE CHANNEL c1 DEVICE TYPE DISK FORMAT '/backup/oracle/%U';
  BACKUP DATABASE;
  RELEASE CHANNEL c1;
}

2. 归档日志满

问题:归档日志目录空间不足

解决方案

  • 备份并删除归档日志
  • 增加归档日志目录空间
  • 调整归档日志保留策略
bash
# 备份并删除归档日志
RMAN> BACKUP ARCHIVELOG ALL DELETE INPUT;

# 检查归档日志配置
SQL> SHOW PARAMETER log_archive_dest;
SQL> SHOW PARAMETER db_recovery_file_dest;

# 增加闪回恢复区大小
SQL> ALTER SYSTEM SET db_recovery_file_dest_size=10G SCOPE=BOTH;

3. 备份速度慢

问题:备份执行时间过长

解决方案

  • 增加并行度
  • 使用增量备份
  • 优化 I/O 配置
  • 使用压缩备份
bash
# 使用并行备份
RMAN> BACKUP AS COMPRESSED BACKUPSET
      DATABASE PLUS ARCHIVELOG
      PARALLELISM 8;

# 使用增量备份
RMAN> BACKUP INCREMENTAL LEVEL 1 DATABASE;

# 优化通道配置
RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 4;

4. 备份文件损坏

问题:备份文件损坏,无法用于恢复

解决方案

  • 验证备份完整性
  • 重新执行备份
  • 使用多路备份
bash
# 验证备份
RMAN> VALIDATE BACKUPSET 123;

# 配置控制文件自动备份
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;

# 配置多路备份
RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/backup1/oracle/%U', '/backup2/oracle/%U';

5. 备份权限问题

问题:备份失败,出现权限错误

解决方案

  • 检查 Oracle 用户权限
  • 检查备份目标路径权限
  • 检查目录权限
bash
# 修复文件权限
chown -R oracle:oinstall /backup/oracle
chmod -R 755 /backup/oracle

# 检查 Oracle 用户权限
id oracle

# 测试目录写入权限
su - oracle -c "touch /backup/oracle/test.txt"

备份最佳实践

1. 备份策略最佳实践

  • 制定详细的备份计划:包括备份类型、频率、保留策略
  • 测试备份恢复:定期执行恢复测试
  • 使用 RMAN:推荐使用 RMAN 进行备份
  • 启用控制文件自动备份:确保控制文件安全
  • 使用增量备份:减少备份时间和空间
  • 压缩备份:减少存储需求
  • 多路备份:提高可靠性

2. 备份操作最佳实践

  • 在非业务高峰期执行备份:减少对系统影响
  • 监控备份作业:及时发现和解决问题
  • 记录备份操作:维护备份日志和文档
  • 备份到多个位置:提高安全性
  • 加密敏感数据备份:保护数据安全
  • 定期清理过期备份:释放存储空间

3. 备份验证最佳实践

  • 每次备份后验证:确保备份成功
  • 定期执行恢复测试:验证可恢复性
  • 检查备份完整性:使用 VALIDATE 命令
  • 监控备份保留期:确保备份可用性
  • 测试不同恢复场景:准备应对各种故障

4. 备份监控最佳实践

  • 设置备份告警:及时通知备份失败
  • 监控备份存储:确保有足够空间
  • 监控备份性能:优化备份速度
  • 分析备份趋势:预测存储需求
  • 集成监控系统:与企业监控集成

常见问题(FAQ)

Q1: 生产环境应该使用哪种备份策略?

A1: 生产环境推荐的备份策略:

  • 归档模式:必须启用
  • RMAN 备份:使用 RMAN 进行备份
  • 备份频率:每日增量备份,每周完整备份
  • 备份类型
    • 完整备份:每周一次
    • 增量备份:每天一次
    • 归档日志:每 4-6 小时一次
  • 保留策略:至少保留 30 天的备份
  • 验证频率:每次备份后验证,每月执行恢复测试

Q2: RMAN 备份和传统备份有什么区别?

A2: RMAN 备份与传统备份的主要区别:

  • RMAN 备份

    • 支持增量备份
    • 自动管理备份文件
    • 支持备份验证
    • 支持块级恢复
    • 自动处理归档日志
    • 提供更灵活的恢复选项
  • 传统备份

    • 仅支持完整备份
    • 需要手动管理备份文件
    • 验证复杂
    • 恢复过程繁琐
    • 需要手动处理归档日志

Q3: 如何提高备份速度?

A3: 提高备份速度的方法:

  • 增加并行度:使用 PARALLELISM 参数
  • 使用多个通道:分配多个备份通道
  • 使用增量备份:减少备份数据量
  • 使用压缩备份:减少 I/O 操作
  • 优化存储 I/O:使用高速存储设备
  • 分离备份 I/O:使用不同的磁盘进行备份
  • 调整 RMAN 参数:如 FILESPERSET、MAXOPENFILES 等

Q4: 如何确保备份的安全性?

A4: 确保备份安全性的措施:

  • 备份到多个位置:本地和异地备份
  • 加密备份:使用 RMAN 加密或存储加密
  • 访问控制:限制备份文件的访问权限
  • 定期验证:确保备份完整性
  • 备份元数据:备份控制文件和参数文件
  • 灾难恢复计划:制定详细的恢复计划
  • 备份监控:及时发现备份问题

Q5: 归档日志满了怎么办?

A5: 解决归档日志满的步骤:

  1. 紧急处理

    • 备份并删除归档日志:RMAN> BACKUP ARCHIVELOG ALL DELETE INPUT;
    • 或直接删除过期归档日志(不推荐)
  2. 根本解决

    • 增加归档日志目录空间
    • 调整归档日志保留策略
    • 优化备份策略,增加归档日志备份频率
    • 检查是否有长时间运行的事务
  3. 预防措施

    • 监控归档日志空间
    • 设置归档日志空间告警
    • 配置合理的归档日志保留策略

Q6: 如何备份 Oracle 19c 数据库?

A6: Oracle 19c 数据库备份步骤:

  1. 准备工作

    • 启用归档模式(如果尚未启用)
    • 配置 RMAN 通道
    • 设置备份目标路径
  2. 执行完整备份

    bash
    rman target /
    BACKUP AS COMPRESSED BACKUPSET
      DATABASE PLUS ARCHIVELOG;
    BACKUP CURRENT CONTROLFILE;
    BACKUP SPFILE;
  3. 执行增量备份

    bash
    rman target /
    BACKUP INCREMENTAL LEVEL 1
      DATABASE PLUS ARCHIVELOG;
  4. 备份验证

    bash
    rman target /
    VALIDATE DATABASE;
  5. 自动化

    • 创建备份脚本
    • 使用 cron 或 Oracle Scheduler 调度

Q7: 如何从 RMAN 备份中恢复单个表?

A7: 从 RMAN 备份中恢复单个表的步骤:

  1. 方法 1:使用 RMAN 表恢复(12c+)

    bash
    rman target /
    RECOVER TABLE scott.emp
      OF PLUGGABLE DATABASE pdb1
      FROM BACKUPSET
      UNTIL TIME 'SYSDATE-1'
      REMAP TABLE scott.emp:emp_recov;
  2. 方法 2:使用表空间恢复

    bash
    # 确定表所在的表空间
    SQL> SELECT tablespace_name FROM dba_tables WHERE owner='SCOTT' AND table_name='EMP';
    
    # 备份当前表空间(可选)
    RMAN> BACKUP TABLESPACE users;
    
    # 恢复表空间到指定时间点
    RMAN> RUN {
      SET UNTIL TIME 'SYSDATE-1';
      RESTORE TABLESPACE users;
      RECOVER TABLESPACE users;
    }
    
    # 导出恢复的表
    expdp system/password@orcl TABLES=scott.emp DIRECTORY=expdp_dir DUMPFILE=emp.dmp
    
    # 导入表到原 schema
    impdp system/password@orcl TABLES=scott.emp DIRECTORY=expdp_dir DUMPFILE=emp.dmp REMAP_TABLE=scott.emp:emp_recov

Q8: 如何备份 Oracle 数据库到云存储?

A8: 备份 Oracle 数据库到云存储的方法:

  1. 使用 RMAN 云集成(12.2+)

    bash
    # 配置云存储
    RMAN> CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/path/to/cloud/library, ENV=(CLOUD_STORAGE_CONTAINER=mycontainer)';
    
    # 备份到云
    RMAN> BACKUP DATABASE PLUS ARCHIVELOG;
  2. 使用云存储网关

    • 部署云存储网关
    • 映射为本地挂载点
    • 使用常规 RMAN 备份到挂载点
  3. 使用第三方工具

    • 如 Commvault、NetBackup 等支持云存储的备份工具
  4. 使用 Oracle Cloud Backup Service

    • 配置 Oracle Cloud Backup Module
    • 使用 RMAN 备份到 Oracle Cloud

Q9: 如何监控 RMAN 备份作业?

A9: 监控 RMAN 备份作业的方法:

  1. 使用 RMAN 命令

    bash
    RMAN> LIST BACKUP SUMMARY;
    RMAN> LIST BACKUP;
    RMAN> REPORT NEED BACKUP;
  2. 查询数据字典视图

    sql
    -- 备份作业详情
    SELECT * FROM V$BACKUP_JOB_DETAILS ORDER BY completion_time DESC;
    
    -- 备份集信息
    SELECT * FROM V$BACKUP_SET;
    
    -- 备份片信息
    SELECT * FROM V$BACKUP_PIECE;
    
    -- 备份状态
    SELECT * FROM V$BACKUP;
  3. 使用 Enterprise Manager

    • 导航到 "可用性" → "备份与恢复" → "作业"
    • 查看备份作业状态和历史
  4. 设置备份告警

    • 使用 Oracle Enterprise Manager 设置告警
    • 或使用脚本监控备份日志

Q10: 如何优化 RMAN 备份性能?

A10: 优化 RMAN 备份性能的方法:

  1. 增加并行度

    bash
    RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 4;
  2. 使用多个通道

    bash
    RMAN> RUN {
      ALLOCATE CHANNEL c1 DEVICE TYPE DISK;
      ALLOCATE CHANNEL c2 DEVICE TYPE DISK;
      ALLOCATE CHANNEL c3 DEVICE TYPE DISK;
      ALLOCATE CHANNEL c4 DEVICE TYPE DISK;
      BACKUP DATABASE;
      RELEASE CHANNEL c1;
      RELEASE CHANNEL c2;
      RELEASE CHANNEL c3;
      RELEASE CHANNEL c4;
    }
  3. 使用增量备份

    bash
    RMAN> BACKUP INCREMENTAL LEVEL 1 DATABASE;
  4. 使用压缩备份

    bash
    RMAN> BACKUP AS COMPRESSED BACKUPSET DATABASE;
  5. 优化 I/O

    • 使用多个磁盘通道
    • 分离备份 I/O 和生产 I/O
    • 使用高速存储设备
  6. 调整 RMAN 参数

    bash
    RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/backup/%U' MAXPIECESIZE 4G;
    RMAN> CONFIGURE FILESPERSET 10;
  7. 使用备份集大小限制

    bash
    RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 2G;