温馨提示×

ubuntu下informix怎样恢复

小樊
40
2026-09-02 07:16:53
栏目: 智能运维

在 Ubuntu 下恢复 Informix 数据库,通常取决于你之前的备份方式和故障类型。下面按常见场景系统说明,偏实战操作。


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

1. 确认 Informix 已安装且可启动

onstat -
  • onstat: shared memory not initialized → 实例未启动
  • 正常会显示实例状态

2. 确认环境变量

export INFORMIXDIR=/opt/informix
export INFORMIXSERVER=ol_informix
export ONCONFIG=onconfig.ol_informix
export PATH=$INFORMIXDIR/bin:$PATH

3. 确认备份类型

常见有:

  • ontape 备份
  • onbar 备份
  • 裸文件 / 文件系统拷贝
  • 逻辑日志备份

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

场景 1:全量恢复(Level 0)

1. 关闭数据库

onmode -ky

2. 执行恢复

ontape -r

按提示:

  • 插入 Level 0 备份
  • 如需恢复逻辑日志,选择 Y

3. 恢复完成后

onmode -m

场景 2:恢复到某个时间点(PITR)

前提:

  • 有 Level 0 + 逻辑日志备份
ontape -r -t <time>

示例:

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

三、使用 onbar 恢复(企业级)

1. 恢复整个实例

onbar -r

2. 恢复指定数据库

onbar -r dbname

3. 恢复指定表空间

onbar -r -f spaces.txt

四、物理文件级恢复(冷备)

如果是直接拷贝了 chunk 文件:

1. 停止实例

onmode -ky

2. 还原 chunk 文件

cp /backup/dbs/* /opt/informix/dbs/

3. 修复权限

chown informix:informix /opt/informix/dbs/*
chmod 660 /opt/informix/dbs/*

4. 启动

oninit -v

五、只恢复逻辑日志

如果数据文件完好,只缺日志:

ontape -l

六、常见错误与处理

1. WARNING: Physical restore is required

✅ 必须先从 Level 0 开始恢复

2. chunk 找不到

  • 检查 onconfig 中 chunk 路径
  • 确认磁盘空间足够

3. 权限错误

chown -R informix:informix $INFORMIXDIR

七、Ubuntu 特有注意点

  • Informix 官方不完全支持 Ubuntu
  • 建议使用:
    • RHEL / CentOS
    • 或 Docker 容器运行 Informix
  • Ubuntu 上常见问题:
    • glibc 版本不兼容
    • 缺少 32 位库
apt install libaio1 libpangocairo-1.0-0

八、建议的恢复流程(总结)

关库 → 选备份 → ontape/onbar 恢复 → 逻辑日志 → 启库

如果你能告诉我:

  • ✅ Informix 版本
  • ✅ Ubuntu 版本
  • ✅ 用的什么备份(ontape / onbar / 文件)
  • ✅ 是整库还是单表

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

0 踩