温馨提示×

linux informix怎么恢复数据库

小樊
33
2026-09-29 04:26:28
栏目: 智能运维

在 Linux 环境下恢复 IBM Informix 数据库,通常取决于你之前的备份方式。下面按常见场景给你一个清晰、可操作的恢复指南。


一、恢复前的准备工作(非常重要)

1. 确认数据库状态

onstat -
  • On-Line:数据库在运行
  • Off-Line:数据库未启动

2. 确认备份类型

常见备份方式:

  • ontape(最常用)
  • onbar(配合存储管理器)
  • dbexport / dbimport
  • 外部备份(文件系统级)

3. 切换到 informix 用户

su - informix

二、使用 ontape 恢复(最常见)

场景 A:恢复整个实例(冷恢复)

数据库必须 Offline

1. 关闭数据库

onmode -ky

2. 执行恢复

ontape -r

按提示插入备份带 / 选择备份文件

3. 恢复完成后

onmode -m

(从静默模式转为正常)


场景 B:恢复某个数据库(逻辑日志恢复)

ontape -r -D dbname

三、使用 onbar 恢复

1. 恢复整个系统

onbar -r

2. 恢复指定数据库

onbar -r dbname

3. 恢复到时间点(PITR)

onbar -r -t "2026-01-21 10:00:00"

onbar 依赖 ism / TSM 等存储管理器,配置较复杂


四、使用 dbimport 恢复(逻辑备份)

如果你之前用的是:

dbexport dbname

恢复步骤:

dbimport dbname -d dbspace_name

示例:

dbimport testdb -d datadbs

五、文件级恢复(极特殊场景)

仅当你:

  • 数据库 Offline
  • 直接拷贝了 $INFORMIXDIR 和 chunk 文件

步骤:

  1. 停止 Informix
  2. 还原 chunk 文件
  3. 启动数据库
oninit -v

⚠️ 风险极高,不建议生产环境使用


六、恢复后检查

onstat -
oncheck -cI dbname

七、常见错误

问题 原因
Logical log not applied 未恢复逻辑日志
Chunk missing chunk 文件路径不对
Permission denied 非 informix 用户

八、我可以继续帮你

你可以告诉我:

  1. 使用的 Informix 版本
  2. 用的哪种 备份方式
  3. 报错信息(如有)

我可以给你精确到命令的恢复方案。

0 踩