温馨提示×

Ubuntu Oracle备份策略怎样制定

小樊
45
2025-11-23 02:57:52
栏目: 云计算

Ubuntu 上 Oracle 备份策略制定指南

一 目标与评估

  • 明确业务目标:定义可接受的RTO(恢复时间目标)RPO(恢复点目标),例如关键业务要求 RPO≤15 分钟、RTO≤1 小时
  • 评估对象与变化:梳理数据库容量变更频率表空间/对象重要性峰值时段,据此确定备份粒度与频率。
  • 资源与约束:评估存储/网络带宽备份窗口异地容灾需求与成本。
  • 合规与风险:结合审计、等保/GDPR 等要求,规划加密多副本保留周期
  • 结论输出:形成一页纸策略,包含 RTO/RPO、备份方式组合、频率、保留、异地与加密策略、验证与演练计划。

二 备份方式与取舍

  • 物理备份(RMAN):面向生产核心库,支持全备/增量/差异压缩加密校验块级恢复,可结合归档日志实现时间点恢复(PITR)。适合 7×24 在线业务与严格 RTO/RPO。
  • 逻辑备份(Data Pump:expdp/impdp):导出表/用户/全库为 dump 文件,便于迁移/部分恢复/跨平台,但不替代物理备份对介质故障的保护,常用于开发/测试/补丁前后小体量对象级保护。
  • 文件系统/快照:对数据文件/控制文件/归档日志目录做rsync/tarLVM/ZFS 快照,实现快速一致性拷贝;需与数据库一致性点配合,建议与 RMAN 或停机窗口结合。
  • 建议组合:生产库以RMAN 为主(全备+增量+归档),Data Pump 为辅(每周/关键对象);非核心或测试环境可用Data Pump文件系统快照降低成本。

三 推荐备份策略模板

  • 核心生产库(高可用,RPO≤15–30 分钟)
    • 运行模式:开启归档日志(ARCHIVELOG)。
    • 频率:每周全备,每日增量 L1;每次备份后备份归档日志;保留7–14 天在线,异地再保留30–90 天
    • 方式:RMAN 压缩/加密,备份至本地高速盘,并同步到远端存储/对象存储;定期验证备份恢复演练
  • 一般业务库(RPO≤24 小时)
    • 运行模式:开启归档日志
    • 频率:每周日全备,每日增量 L1;每日归档日志备份;保留7 天在线,异地30 天
  • 开发/测试库(RPO 1–7 天)
    • 运行模式:可NOARCHIVELOG(非核心)。
    • 频率:每周Data Pump 全量按 schema 导出;保留2–4 周;必要时用快照快速回滚。
  • 统一要求:所有备份启用校验加密;建立目录对象备份清单;保留策略与容量阈值联动告警。

四 实施步骤与关键命令

  • 准备
    • 创建备份目录并赋权:mkdir -p /data/backup/rman;chown oracle:oinstall /data/backup/rman;chmod 775 /data/backup/rman。
    • 在数据库创建目录对象并授权:
      • SQL> create directory RMAN_DIR as ‘/data/backup/rman’;
      • SQL> grant read,write on directory RMAN_DIR to system;
  • RMAN 物理备份(示例)
    • 连接:rman target /
    • 全备+归档:backup database plus archivelog;
    • 增量 L1:backup incremental level 1 database;
    • 控制文件/SPFILE:backup current controlfile; backup spfile;
    • 校验:list backup; restore database validate;
  • Data Pump 逻辑备份(示例)
    • 全库:expdp system/oracle directory=RMAN_DIR dumpfile=full_%U.dmp logfile=expdp_full.log full=y parallel=4;
    • Schema:expdp system/oracle directory=RMAN_DIR dumpfile=schema_%U.dmp logfile=expdp_schema.log schemas=SCOTT parallel=2;
  • 自动化与异地
    • 使用 cron 调度 Oracle 用户任务,脚本中先加载环境变量(ORACLE_HOME、ORACLE_SID、PATH 等),再执行 RMAN/Data Pump;
    • 异地同步:将备份目录通过 rsync 或对象存储 CLI 同步到远端机房/云桶
    • 保留清理:按保留天数删除过期备份与归档,避免容量告警。

五 恢复与演练

  • RMAN 时间点恢复(PITR)
    • 还原:RMAN> startup mount; restore database;
    • 恢复:RMAN> recover database until time “to_date(‘2025-11-23 10:00:00’,‘YYYY-MM-DD HH24:MI:SS’)”;
    • 打开:RMAN> alter database open resetlogs;
  • Data Pump 导入
    • 全库:impdp system/oracle directory=RMAN_DIR dumpfile=full_01.dmp logfile=impdp_full.log full=y;
    • Schema:impdp system/oracle directory=RMAN_DIR dumpfile=schema_01.dmp logfile=impdp_schema.log schemas=SCOTT remap_schema=SCOTT:SCOTT_NEW;
  • 轻量误删回滚
    • 若启用闪回查询:SELECT * FROM schema.table AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL ‘30’ MINUTE);
  • 验证与演练
    • 每周挑选1 个备份集做全量恢复演练,记录恢复时间数据一致性结果;
    • 定期校验备份可读/可恢复,并验证加密与异地副本可用性。

0