Linux 上 Informix 备份与恢复实用指南
一 常用工具与适用场景
- ontape:内置归档/逻辑日志工具,支持数据备份级别 0/1/2、逻辑日志备份与连续归档,适合中小规模与常规维护。
- onbar:企业级并行备份,支持磁带库/磁盘库、多流并行与时间点恢复(PITR),适合大规模与高可用场景。
- dbexport/dbimport:以 ASCII 导出/导入,便于迁移、审查与跨平台,但效率较低、不支持分级备份。
- onunload/onload:以页级二进制方式卸出/装入,效率高于 dbexport,专用于表级/库级数据迁移与快速装载。
- 补充:可用 dbschema 导出对象定义,oncheck 做一致性检查与索引修复。
二 备份方法与常用命令
- ontape 数据备份(示例)
- 0级全备:
ontape -s -L 0 -d <dbspace|rootdbs>(可按需指定具体 dbspace)
- 1级/2级增量:
ontape -s -L 1 或 ontape -s -L 2
- 逻辑日志备份:
- 备份已满日志:
ontape -a
- 启动连续归档:
ontape -c(需提前配置好逻辑日志备份介质)
- onbar 数据备份
- 全量/增量:
onbar -b(按存储策略与配置执行并行归档)
- dbexport 导出(迁移/审计友好)
- 导出:
dbexport -c -o /backup/stores7 stores7(生成目录 stores7.exp 与模式文件)
- onunload 二进制卸出(高效装载)
- 卸出:
onunload -l /backup/tab1.unl stores7:tab1
- 关键配置与前提
- ontape 使用前确认 TAPEDEV/TAPEBLK/TAPESIZE 等参数;确保逻辑日志空间充足;连续归档需保持长期可用。
- dbexport 需 Informix 用户或 DBA 权限,并以独占方式访问数据库,备份期间会阻塞写入。
三 恢复方法与常用命令
- 使用 ontape 恢复
- 整库/指定 dbspace 恢复:
ontape -r(按提示选择归档序列与恢复目标)
- 逻辑日志回放:先恢复数据备份,再按需回放已满日志与连续日志,直至目标时间点(PITR)。
- 使用 onbar 恢复
- 全量/增量恢复:
onbar -r(按存储策略与时间点选择备份集)
- 使用 dbimport 恢复(对应 dbexport)
- 导入:
dbimport -c -i /backup/stores7 stores7
- 常用选项:
-d <dbspace> 指定目标 dbspace
-l 创建无缓冲日志;-ansi 创建 ANSI 兼容日志
- 使用 onload 恢复(对应 onunload)
- 装入:
onload -l /backup/tab1.unl stores7:tab1
- 跨服务器恢复要点(ontape)
- 目标服务器在机型、操作系统、Onconfig 配置及非临时 dbspace 的数量与大小应尽量一致,否则可能无法正常恢复。
四 备份策略与自动化
- 备份类型与频率
- 0级全备作为基线,关键业务建议每日执行;1/2级增量用于缩短备份窗口(恢复链更长)。
- 逻辑日志:启用连续归档,并定期备份已满日志,避免日志满导致业务中断。
- 存储与保留
- 本地盘 + 远程/云存储结合,设置保留周期(如近 7/30 天),定期清理过期备份。
- 自动化与演练
- 使用 cron 定时执行全备/增量与日志备份;定期做恢复演练与备份完整性校验,验证 RPO/RTO 达标。
- 监控与告警
- 监控
onstat -l(逻辑日志)、onstat -d(dbspace)、onstat -m(online.log)等,异常及时告警。
五 关键注意事项与排错
- 环境准备
- 确保 INFORMIXDIR/INFORMIXSERVER 等环境变量正确;备份前检查磁盘空间与权限。
- 一致性保障
- 迁移/升级前,将源库置于静默模式并执行快速恢复:
oninit -s,随后 onmode -yuk 干净关闭,避免“打开事务”导致迁移失败。
- 常见问题
- 逻辑日志满:及时备份/归档日志,必要时增加逻辑日志文件数与大小。
- 长事务:拆分为更小事务,避免占用过多日志空间。
- 锁冲突:结合隔离级别与锁策略优化,减少并发冲突。
- 恢复演练
- 定期在非生产环境演练全量+增量+日志回放流程,验证可用性与性能。