- 首页 >
- 问答 >
-
云计算 >
- Ubuntu Oracle备份策略怎样制定
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/tar或LVM/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 个备份集做全量恢复演练,记录恢复时间与数据一致性结果;
- 定期校验备份可读/可恢复,并验证加密与异地副本可用性。