温馨提示×

CentOS中Informix的备份恢复最佳实践

小樊
39
2025-12-17 13:35:04
栏目: 智能运维

CentOS 上 Informix 备份恢复最佳实践

一 备份策略与工具选择

  • 工具选型与定位
    • 使用 ontape 做实例级/数据空间级物理备份,支持 0/1/2 级 分级备份,可联机或静止执行,适合日常与灾备主方案。
    • 使用 dbexport/dbimport 做逻辑导出/导入,适合迁移、跨版本/跨平台、结构调整;导出期间对库加排他锁,业务需短暂停写。
    • 使用 onunload/onload 做表级/库级二进制卸载/装载,性能优于 dbexport,但要求两端页大小一致,且仅能在 Informix 管理的数据库/表间使用。
  • 备份级别与频率
    • 0级全备 为主,按 RPO/RTO 设定 1级/2级 增量频率;关键业务建议 每日 0级,并结合持续归档逻辑日志以实现时间点恢复(PITR)。
  • 存储与保留
    • 备份介质优先使用独立磁盘或网络存储;目录需对 informix 用户具备 RWX 权限;按策略保留多份与多代副本,定期异地/离线存放。
  • 自动化与验证
    • 通过 cron 编排备份;每次备份后进行 文件存在性、大小、校验 验证,并定期做 真实恢复演练 验证可用性与时长。

二 标准备份操作步骤

  • ontape 全备/增备(实例级)
    1. 配置归档设备(示例为目录设备)
      • 编辑 $ONCONFIG:设置 TAPEDEV、TAPEBLK、TAPESIZE(数据归档),以及 LTAPEDEV、LTAPEBLK、LTAPESIZE(逻辑日志归档)。
      • 创建目录并赋权:mkdir -p /backup/informix && chown informix:informix /backup/informix && chmod 770 /backup/informix
    2. 执行备份
      • 全备:ontape -s -L 0
      • 一级/二级:ontape -s -L 1ontape -s -L 2
      • 逻辑日志备份(建议连续归档):ontape -l
    3. 关键检查
      • 保证 逻辑日志空间 充足;若剩余空间小于单个日志的 50%,备份会被拒绝,需先备份并释放日志。
      • 备份过程中避免切换数据库运行方式;不建议用 & 后台方式执行交互式备份。
  • dbexport 逻辑导出(库/表级)
    • 导出:dbexport -c -ss -o /backup/informix/mydb_export mydb
    • 导入:dbimport -c mydb -i /backup/informix/mydb_export
    • 注意:导出为 独占模式;导入时需选择日志方式(如 ANSI/buffered/nobuffered)。
  • onunload 二进制卸载(表/库级)
    • 卸载:onunload -t /backup/informix/mytbl.unl mydb:mytbl
    • 装载:onload -d mydb -i /backup/informix/mytbl.unl
    • 注意:两端 磁盘页大小 需一致;不保留原始权限/同义词等对象属性。

三 标准恢复操作步骤

  • ontape 恢复(实例级/数据空间级)
    1. 准备
      • 干净停机:onmode -ky
      • 校验备份文件与目录权限;必要时将 LTAPEDEV 指向已归档的逻辑日志目录。
    2. 全量恢复
      • 全实例:ontape -r
      • 指定数据空间:ontape -r -D <dbspace>
    3. 增量与日志回放
      • 0→1→2 顺序恢复增量;随后按提示插入/应用 逻辑日志 直至达到目标时间点或无日志可回放。
  • dbexport/dbimport 恢复(库/表级)
    • 先以目标日志方式创建空库(或使用现有库),再 dbimport 导入;适合迁移、结构调整与对象重建。
  • onunload/onload 恢复(表/库级)
    • 目标库存在且页大小一致,使用 onload.unl 数据装载回库/表;适合大表快速恢复或迁移。

四 关键注意事项与常见错误

  • 配置与一致性
    • 恢复目标机的 磁盘路径、chunk 大小、共享内存参数 等应与最后一次 0级备份 时相同或更大;目录容量不小于归档时大小。
    • 修改 $ONCONFIG 后应立刻做一次 0级备份,确保配置与备份一致;恢复时优先使用当时配置或备份随附的配置副本。
  • 权限与介质
    • 归档目录必须对 informix 具备 RWX;目录设备需预先创建并赋权,避免因权限不足导致 “open archive tape failed”。
  • 逻辑日志与空间
    • 备份前确保 逻辑日志 充足;若剩余空间低于单个日志的 50%,需先归档/备份日志再执行数据备份。
  • 运行方式
    • 备份期间避免改变数据库运行方式;不要以 & 后台方式执行交互式备份,防止中断或挂起。
  • 跨机恢复
    • 使用 ontape 将实例级备份恢复到另一台服务器时,要求 机型/OS、onconfig、非临时 dbspace 数量与大小 基本一致,否则可能无法恢复。

五 自动化与演练建议

  • 自动化
    • 使用 cron 定时执行 0/1/2 级备份与逻辑日志归档;脚本中记录 开始/结束时间、返回码、备份路径,并做 保留期清理
    • 示例(每天 2:00 全备,每周日 3:00 一级增量):
      0 2 * * * /opt/informix/scripts/ontape_level0.sh >> /var/log/ontape.log 2>&1
      0 3 * * 0 /opt/informix/scripts/ontape_level1.sh >> /var/log/ontape.log 2>&1
      
  • 验证与演练
    • 定期做 恢复演练:随机抽取一次 0级+增量+日志,恢复到隔离环境,校验 表数量、数据量、关键业务查询时间点一致性
    • dbexportonunload 备份,分别做导入/装载验证,确保结构与数据一致。

0