温馨提示×

ubuntu怎么迁移informix库

小樊
45
2026-09-08 08:06:23
栏目: 智能运维

在 Ubuntu 上迁移 Informix 数据库,通常有以下几种常见场景和方法。我先按“最常用、最稳妥”的方式给你讲,再补充几种特殊情况。


一、迁移前的准备工作(必须)

1. 确认源和目标环境

  • 源 Informix:版本、实例名、数据库名
  • 目标 Ubuntu:
    • 是否已安装同版本或兼容版本的 Informix
    • 磁盘空间是否足够
  • 网络是否可达(同机 / 跨机)

2. 基础命令检查

onstat -
dbaccess

能正常执行说明 Informix 环境 OK。


二、最推荐方式:使用 dbexport / dbimport(同构迁移)

适合:库结构 + 数据一起迁移最常用、最稳定

1. 在源库导出

dbexport dbname -o /tmp/ifx_export

生成:

/tmp/ifx_export/dbname.exp/

2. 拷贝到目标 Ubuntu

scp -r /tmp/ifx_export user@ubuntu:/data/ifx/

3. 在目标 Ubuntu 导入

dbimport dbname -i /data/ifx

注意:

  • 目标实例的 DB_LOCALECLIENT_LOCALE 要和源一致
  • 用户、权限需提前创建

三、使用 ontape 物理迁移(整实例)

适合:整实例、整库快速迁移 ❌ 不支持跨大版本

源库

ontape -s -L 0

目标 Ubuntu

ontape -r

要求:

  • 目标实例配置(ONCONFIG)与源一致
  • 数据空间结构一致

四、使用 onunload / onload(表级)

适合迁移 部分表

onunload -t /tmp/tab.unl dbname:tabname
onload -t /tmp/tab.unl dbname

五、跨版本 / 跨平台迁移(推荐逻辑导出)

使用 unload + load

unload to '/tmp/tab.unl'
select * from tabname;

导入:

load from '/tmp/tab.unl'
insert into tabname;

或用 dbaccess 脚本批量执行。


六、Ubuntu 上安装 Informix(简要)

tar -xvf ifx.tar
./installserver

配置:

  • INFORMIXDIR
  • INFORMIXSERVER
  • ONCONFIG
  • /etc/services
  • sqlhosts

七、常见坑

问题 解决
字符集不一致 设置 DB_LOCALE
权限不足 用 informix 用户
表空间不存在 提前建 dbspace
导入慢 先建索引后导数据

八、你可以告诉我

我可以给你具体命令脚本,只需要你回答:

  1. Informix 版本(如 12.10 / 14.10)
  2. 是同机还是跨机
  3. 是整库还是部分表
  4. Ubuntu 是否已装 Informix

我可以一步一步带你做。

0