Ubuntu 上 Informix 备份恢复策略
一 策略总览与适用场景
- 建议采用“物理级别备份为主、逻辑导出为辅、系统级快照兜底”的组合,兼顾恢复时间目标 RTO与恢复点目标 RPO。
- 典型策略与场景如下:
| 方法 |
备份对象 |
优点 |
局限 |
典型场景 |
| ontape |
实例级(Dbspaces、逻辑日志) |
内置、操作简单、无需额外组件 |
串行、跨平台/跨硬件迁移受限 |
小规模/中小数据量、快速本地恢复 |
| onbar |
实例级(支持并行) |
并行、可配合存储代理、适合大规模 |
需配置存储代理与介质管理 |
中大型、高并发、严格 RTO/RPO |
| dbexport/dbimport |
单库对象与数据(导出为文本) |
跨平台/跨版本迁移友好、易审计 |
导出/导入耗时、需额外空间、约束/触发器需处理 |
迁移/克隆、结构变更演练 |
| 系统级快照/打包(如 tar、Timeshift、Duplicity) |
数据目录、配置、关键目录 |
快速整机回滚、易实施 |
非应用一致性,需配合停机或冻结 |
系统升级/回滚、配置漂移修复 |
上述工具均为 Informix 在 Linux/Ubuntu 上的常见做法,ontape/onbar 为官方物理备份,dbexport/dbimport 为逻辑导出,系统级工具用于兜底与便捷恢复。
二 物理备份与恢复要点
- 前置检查
- 确认环境变量:INFORMIXDIR、INFORMIXSERVER、ONCONFIG 等已正确设置,实例以 informix 运行。
- 检查 逻辑日志:剩余空间不应低于单个日志的50%;必要时先备份并清空已用日志,避免备份被拒绝。
- 配置归档设备:在 $ONCONFIG 中设置 TAPEDEV/LTAPEDEV、TAPEBLK/LTAPEBLK、TAPESIZE/LTAPESIZE,目录需对 informix 具备 RWX 权限。
- 执行备份(ontape)
- 全量备份(0级):执行
ontape -s -L 0,完成后按提示妥善标注磁带/归档文件编号;建议同时备份当时的 onconfig。
- 执行恢复(ontape)
- 干净恢复流程:
onmode -ky 停止实例;2) ontape -r 按提示选择归档并恢复;3) 如配置了连续日志归档,按提示插入包含最近检查点之后日志的介质,完成前滚;4) onmode -m 使库进入多用户。
- 跨机恢复注意:要求目标机在机型、操作系统、onconfig 配置及非临时 Dbspace 的数量与大小尽量一致,否则可能无法恢复。
- 自动化与监控
- 使用 cron 定时执行 0级/增量,保留多份、异地副本;定期检查 online.log 与备份日志,验证备份完整性与可用性。
三 逻辑备份与迁移
- 使用 dbexport 导出单库(含表、索引、视图、存储过程等对象定义与数据),生成文本文件;使用 dbimport 在目标库重建与导入。
- 示例
- 导出:
dbexport -d <dbname> -c "<conn_str>" -f <export_file>
- 导入:
dbimport -d <dbname> -c "<conn_str>" -f <export_file>
- 适用场景
- 跨平台/跨版本迁移、开发/测试环境快速克隆、审计与版本对比。
- 限制
- 导出/导入为批量操作,时间与空间开销较大;对外键/触发器/权限需在导入后复核;不适合大数据量的频繁备份。
四 系统级与第三方备份兜底
- 目录/配置打包
- 使用 tar 对 $INFORMIXDIR(含 etc、data 等)与关键配置目录打包,便于快速回滚:
- 备份:
tar -czvf informix_backup.tar.gz /opt/informix /etc/informix /var/lib/informix ...
- 恢复:
tar -xzvf informix_backup.tar.gz -C /
- 快照与系统回滚
- Timeshift:适合系统分区与配置的快照与回滚(不替代数据库一致性备份)。
- Duplicity:支持增量与加密的目录级备份,可用于 $INFORMIXDIR 与配置目录的定期归档。
- 重要提示
- 文件系统快照/打包并非应用一致性备份;进行快照前建议将实例置于静默/备份模式或短暂停写,避免逻辑日志/数据页不一致。
五 实战建议与排错清单
- 备份策略建议
- 关键库:每日执行 ontape -s -L 0;如业务允许,辅以 1级/2级 增量;保留至少 2–3 份历史备份并异地存放。
- 日志管理:启用并定期归档逻辑日志;在 0级备份前确保日志空间充足,避免备份中断。
- 配置与元数据:每次 0级备份后备份 onconfig 与关键目录清单;记录磁带/归档编号与时间点。
- 恢复演练
- 定期在非生产环境演练全量恢复与时间点恢复流程,验证 RTO/RPO 达标。
- 常见报错与处理
- “Directory must have RWX permission for owner/group informix …”:确保归档目录对 informix 为 RWX,必要时
chown informix:informix <dir>。
- “剩余逻辑日志不足 50%”:先备份并清空已用日志,再执行 0级备份。
- 跨机恢复失败:核对机型/OS/onconfig/Dbspace 布局一致性,必要时调整目标环境后重试。