温馨提示×

Ubuntu Informix数据库恢复方法有哪些

小樊
46
2025-12-30 19:19:15
栏目: 智能运维

Ubuntu 上 Informix 数据库的恢复方法

一 方法总览与适用场景

  • dbexport/dbimport 逻辑导出导入:将数据库以文本/SQL脚本形式导出,适合迁移、跨平台、小中型库单库级恢复;恢复时重建对象并导入数据。
  • ontape 归档级备份恢复:通过 0/1/2 级备份与逻辑日志实现整库/多库恢复,支持恢复到特定时间点(PITR),适合常规生产环境的日常备份与恢复。
  • onbar + PSM 企业级备份恢复:与存储管理器(如 FILE/磁带)配合,支持并行备份/恢复时间点恢复,适合大规模、高并发、对 RTO/RPO 要求更高的场景。
  • 文件系统/系统级备份恢复:用 tar/rsync/Timeshift/Duplicity 等做目录/系统级快照,适合配置与数据目录的整体回滚灾难恢复的底层支撑。
  • 误删文件的文件级恢复:在 ext4 等文件系统上,使用 extundelete 等工具尝试文件级找回,适合非数据库引擎层面的误删场景。

二 方法对比一览

方法 适用场景 关键前提 恢复粒度 是否支持时间点
dbexport/dbimport 迁移、跨平台、单库恢复 导出文件完整、目标库可建 库级
ontape 常规生产整库/多库 0/1/2 级备份与逻辑日志可用 库/表空间级
onbar + PSM 大规模/并行与PITR 已配置 PSM/存储目录 库/表空间级
文件系统/系统级 配置/目录整体回滚 备份包含 $INFORMIXDIR、chunk 目录 目录/实例级 间接
extundelete 等 误删文件找回 尽快操作、未大量写入 文件级 不适用

三 标准恢复步骤要点

  • dbexport/dbimport 恢复
    • 准备:安装同版本 Informix,创建空库(如需),设置 INFORMIXDIR/INFORMIXSERVER 等环境变量。
    • 恢复:执行 dbimport <导出文件或目录>,自动建表并导入数据;大库可分表/分批导入以减少锁与日志压力。
  • ontape 恢复
    • 准备:以 informix 用户停止实例 onmode -ky;确保 TAPEDEV/LTAPEDEV 指向备份介质或目录;准备好 0 级备份连续逻辑日志
    • 恢复:执行 ontape -r,按提示加载 0 级备份;如配置了连续日志归档,继续回放日志至目标时间点;完成后 onmode -m 转为在线。
  • onbar 恢复
    • 准备:在目标机配置 PSM 存储目录(DBSPOOL/LOGPOOL),导入备份目录清单(如 onpsm -C import),放置 ixbar. 索引文件。
    • 恢复:执行 onbar -r -t "YYYY-MM-DD HH:MM:SS" 进行时间点恢复;恢复完成后 onmode -m 上线。
  • 文件系统/系统级恢复
    • 准备:停止数据库,确认备份包含 $INFORMIXDIR、ONCONFIG、chunk 数据目录 等关键路径。
    • 恢复:用 tar/rsyncTimeshift/Duplicity 将备份还原到原路径;核对权限与属主(通常为 informix:informix),再启动实例。
  • 误删文件的文件级恢复
    • 准备:立即卸载只读挂载受影响分区,避免覆盖;确认分区为 ext3/ext4
    • 恢复:使用 extundelete /dev/sdXY --restore-file <路径> 尝试找回;将恢复文件放到临时目录并校验后再拷回原位置。

四 关键注意事项与常见故障处理

  • 环境与配置一致性:恢复前后保持 INFORMIXDIR/INFORMIXSERVER/ONCONFIG 一致;跨机恢复时,目标机的 机型、操作系统、Onconfig 与 Dbspace 数量/大小应尽量一致,避免恢复失败。
  • 逻辑日志与 PITR:确保有连续的逻辑日志备份;ontape/onbar 恢复时按提示回放日志至目标时间点,避免日志断链导致无法前滚。
  • 权限与介质:备份/恢复目录与设备需对 informix 具备读写执行权限;ontape 使用目录时需确保目录可写且权限正确。
  • chunk 与 I/O 异常:若恢复后 chunk I/O 失败/down,检查磁盘与文件系统健康,必要时用 dd 验证可读,再评估更换磁盘或恢复 chunk。
  • 长事务与空间:恢复或回放期间如出现长事务/空间不足,优先清理或扩展逻辑日志,拆分大事务,保障回放完成。

五 快速选择建议

  • 需要跨平台/迁移/单库快速恢复:优先用 dbexport/dbimport
  • 日常生产整库/多库且有逻辑日志归档:用 ontape 实现快速恢复与 时间点恢复
  • 大规模/并行/严格 RTO/RPO:选择 onbar + PSM,支持并行与 PITR
  • 系统级灾难或配置回滚:用 tar/rsync/Timeshift/Duplicity 做底层目录/系统快照。
  • 误删文件(非引擎层):尽快用 extundelete 尝试文件级恢复。

0