暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

Oracle 11gR2 RMAN备份

原创 暮雨 2025-10-08
226

Oracle 11gR2 RMAN备份操作文档

环境信息

项目 配置说明
操作系统 RHEL 7.9
数据库版本 Oracle 11gR2 (11.2.0.4)
主机IP 192.168.1.100
数据库实例 orcl
归档模式 ENABLED
备份目录 /u01/backup/orcl
归档日志路径 /u01/arch/orcl

第一部分:RMAN核心配置参数详解

RMAN配置参数分为永久性配置(CONFIGURE)和会话级配置(ALLOCATE CHANNEL)。以下为关键参数说明:

1. 永久性配置参数(使用CONFIGURE)

-- 查看当前配置
RMAN> SHOW ALL;
参数 说明 示例脚本
RETENTION POLICY 备份保留策略 CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
DEFAULT DEVICE TYPE 默认备份设备(DISK/SBT) CONFIGURE DEFAULT DEVICE TYPE TO DISK;
CONTROLFILE AUTOBACKUP 自动备份控制文件 CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONTROLFILE AUTOBACKUP FORMAT 控制文件备份路径 CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/u01/backup/orcl/ctrl_%F';
ARCHIVELOG DELETION POLICY 归档日志删除策略 CONFIGURE ARCHIVELOG DELETION POLICY TO BACKED UP 1 TIMES TO DISK;
COMPRESSION ALGORITHM 备份压缩算法(BASIC/LOW/HIGH) CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE;
MAXSETSIZE 备份集最大大小 CONFIGURE MAXSETSIZE TO 10G;
SNAPSHOT CONTROLFILE NAME 快照控制文件路径 CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/backup/snapcf_orcl.f';

2. 通道配置参数(ALLOCATE CHANNEL)

RUN {
  ALLOCATE CHANNEL ch1 DEVICE TYPE DISK
    FORMAT '/u01/backup/orcl/full_%d_%T_%U'
    MAXPIECESIZE 5G;
}
参数 说明
FORMAT 备份文件命名格式(%d=数据库名,%T=时间戳,%U=唯一ID)
MAXPIECESIZE 单个备份片最大大小
RATE I/O速率限制(MB/S)

第二部分:备份操作全流程

步骤1:环境准备

# 创建备份目录并授权
mkdir -p /u01/backup/orcl
mkdir -p /u01/arch/orcl
chown -R oracle:oinstall /u01/backup /u01/arch
chmod -R 775 /u01/backup /u01/arch

# 检查归档模式
sqlplus / as sysdba <<EOF
ALTER SYSTEM SET log_archive_dest_1=‘LOCATION=/u01/arch/orcl’ SCOPE=SPFILE;
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
EOF

步骤2:初始化RMAN配置

rman target /  # 连接本地数据库

– 永久配置
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO ‘/u01/backup/orcl/ctrl_%F’;
CONFIGURE DEVICE TYPE DISK PARALLELISM 2; – 并行通道数

步骤3:全量数据库备份

RUN {
  ALLOCATE CHANNEL ch1 DEVICE TYPE DISK
    FORMAT '/u01/backup/orcl/full_%d_%T_%U';
  ALLOCATE CHANNEL ch2 DEVICE TYPE DISK
    FORMAT '/u01/backup/orcl/full_%d_%T_%U';

BACKUP AS COMPRESSED BACKUPSET
DATABASE
INCLUDE CURRENT CONTROLFILE
PLUS ARCHIVELOG
DELETE ALL INPUT; – 备份后删除已归档日志

BACKUP SPFILE; – 备份参数文件

RELEASE CHANNEL ch1;
RELEASE CHANNEL ch2;
}

步骤4:增量备份

-- 0级增量(基础备份)
BACKUP INCREMENTAL LEVEL 0
  AS COMPRESSED BACKUPSET
  DATABASE
  TAG 'INC_L0';

– 1级增量(差异备份)
BACKUP INCREMENTAL LEVEL 1
AS COMPRESSED BACKUPSET
DATABASE
TAG ‘INC_L1’;

步骤5:归档日志备份

BACKUP ARCHIVELOG ALL
  FORMAT '/u01/backup/orcl/arch_%d_%T_%U'
  DELETE ALL INPUT;

步骤6:验证备份

-- 检查备份集
LIST BACKUP SUMMARY;

– 验证备份可恢复性
VALIDATE BACKUPSET <备份集ID>;

– 交叉校验备份
CROSSCHECK BACKUP;
CROSSCHECK ARCHIVELOG ALL;

步骤7:清理过期备份

DELETE OBSOLETE;  -- 删除超过保留策略的备份
DELETE EXPIRED BACKUP;  -- 删除无效备份

第三部分:自动备份脚本

备份脚本 (/u01/scripts/rman_backup.sh)

#!/bin/bash
export ORACLE_SID=orcl
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH

rman target / <<EOF
RUN {
ALLOCATE CHANNEL ch1 DEVICE TYPE DISK;
BACKUP AS COMPRESSED BACKUPSET
DATABASE
FORMAT ‘/u01/backup/orcl/full_%d_%T_%U’
PLUS ARCHIVELOG
DELETE ALL INPUT;
BACKUP CURRENT CONTROLFILE;
}
EOF

定时任务(cron)

# 每天凌晨2点执行全备
0 2 * * * /bin/bash /u01/scripts/rman_backup.sh > /u01/backup/orcl/rman.log 2>&1

关键注意事项

  1. 备份保留策略

    • RECOVERY WINDOW:确保有足够时间点恢复
    • REDUNDANCY:保留副本数(示例:CONFIGURE RETENTION POLICY TO REDUNDANCY 3;)
  2. 备份压缩

    • 使用BASIC压缩减少空间占用(需Oracle Advanced Compression许可)
  3. 备份验证

    • 定期执行RESTORE VALIDATE DATABASE模拟恢复
  4. 空间监控

    -- 检查备份目录空间
    SELECT * FROM V$RECOVERY_FILE_DEST;
    
  5. RMAN日志

    • 备份日志保存路径:/u01/backup/orcl/rman_$(date +%Y%m%d).log

说明:

  • 所有路径需根据实际环境调整
  • 测试环境建议使用NOARCHIVELOG模式验证备份还原流程
  • 生产环境务必启用ARCHIVELOG并定期验证备份
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论