Ubuntu 上 Informix 的备份与容灾实践指南
一 备份方法总览与选择建议
- 原生分级备份:使用 ontape 执行 0级(全量)/1级(增量)/2级(差异) 备份,适合生产环境的常规物理/逻辑备份与快速恢复。
- 逻辑导出:使用 dbexport/dbimport 导出为 ASCII 模式与数据文件,便于迁移、跨平台与人工编辑对象定义。
- 表级高效卸数:使用 onunload/onload 以页为单位二进制卸出/装载,适合大表快速备份与恢复。
- 企业级并行备份:使用 onbar(需存储代理/介质管理),支持并行备份与恢复,适合大规模与高并发场景。
- 物理打包:对 $INFORMIXDIR(含数据、配置)做 tar 归档,用于整机快照、迁移或冷备份。
- 建议:日常以 ontape 0级为主,按变更频率叠加 1/2级;关键库配合 dbexport 做可编辑/迁移副本;超大表优先 onunload;具备企业存储时考虑 onbar。
二 常用备份命令示例
- ontape 分级备份(需切换到 informix 用户)
- 0级全量:
sudo -u informix ontape -s -L 0 -d your_db -o /backup/informix/your_db_$(date +%F).bak
- 1级增量:
sudo -u informix ontape -s -L 1 -d your_db -o /backup/informix/your_db_inc_$(date +%F).bak
- 2级差异:
sudo -u informix ontape -s -L 2 -d your_db -o /backup/informix/your_db_diff_$(date +%F).bak
- dbexport/dbimport(逻辑导出/导入)
- 导出:
sudo -u informix dbexport your_db -ss -c “your_password” -f /backup/informix/your_db_export.dmp
- 导入(目标库不可存在同名库):
sudo -u informix dbimport your_db -i /backup/informix/your_db_export.dmp -c “your_password”
- onunload/onload(表级高效卸数/装载)
- 卸出:
sudo -u informix onunload -l -b -s your_db:your_table -o /backup/informix/your_table.unl
- 装载:
sudo -u informix onload -d your_db -i /backup/informix/your_table.unl
- 物理打包(tar)
- 备份:
sudo tar -czvf /backup/informix/full_$(date +%F).tar.gz $INFORMIXDIR
- 恢复:
sudo tar -xzvf /backup/informix/full_$(date +%F).tar.gz -C /
以上命令需确保 informix 用户对备份目录具备写权限,且磁盘空间充足。
三 恢复流程要点
- ontape 恢复
- 全库恢复:
sudo -u informix ontape -r
- 指定备份文件恢复:
sudo -u informix ontape -r -i /backup/informix/your_db_2025-12-26.bak
- 多级别恢复顺序:先 0级,再按时间顺序恢复 1级/2级,随后持续应用逻辑日志直至追平或达到目标时间点。
- dbexport/dbimport 恢复
- 先确保目标库不存在同名库,再执行导入;导入会重建对象与数据,适合迁移与结构微调。
- onunload/onload 恢复
- 使用与卸出时一致的参数,按表级文件逐一装载,适合大表快速回灌。
- 物理归档恢复
- 建议停机后解压覆盖至 $INFORMIXDIR,确保 onconfig、sqlhosts 与权限一致,再启动实例进行日志回放。
- 关键注意
- 使用 ontape 跨服务器恢复时,要求两端 机型、操作系统、onconfig 配置 及 非临时 Dbspace 的数量与大小 尽量一致,否则可能无法正常恢复。
- 恢复前停止写入,避免覆盖丢失数据;恢复后及时校验数据一致性与对象完整性。
四 容灾方案与高可用
- 高可用集群技术
- HDR(High-Availability Data Replication):基于事务日志的主备切换,备机可读,主机故障自动接管。
- ER(Enterprise Replication):表级复制,支持主从、汇总、双向等模式,灵活选择同步对象与方向。
- RSS(Remote Standalone Secondary):支持多台远程备机,增强容灾与读扩展。
- SDS(Shared Disk Secondary):共享磁盘的备机形态,故障切换快、节省存储。
- CLR(Continuous Log Restore):通过持续回放逻辑日志在远程灾备端追平主库,适合网络不稳定或物理隔离场景。
- Connection Manager(CM):提供基于 SLA 的连接路由、负载均衡与故障转移,对应用透明。
- 备份到异地与演练
- 将 ontape/dbexport 等备份定期复制到 异地/云端,并定期执行 恢复演练 验证 RPO/RTO 指标。
- 虚拟化与存储层容灾
- 在 VMware/KVM 等虚拟化平台利用快照/复制能力,或采用 存储双写/镜像 实现数据级双活/准实时同步。
- 监控与校验
- 使用 onstat、onmode 等内置工具配合 Nagios/Zabbix 监控实例健康,定期校验备份完整性与可恢复性。
五 自动化与运维规范
- 定时备份脚本示例(每日 0级 + 保留 30 天)
- 关键配置与检查
- 在 onconfig 中正确设置 TAPEDEV、TAPEBLK、TAPESIZE 等磁带/管道参数;确保 逻辑日志 充足并定期备份/归档。
- 备份完成后检查 online.log 与脚本日志,定期做 恢复演练 与 备份完整性校验,确保真实可用。