温馨提示×

ubuntu如何迁informix

小樊
38
2026-09-11 06:34:44
栏目: 智能运维

在 Ubuntu 上“迁移 Informix”通常有以下几种常见场景,我先给你一个总体思路,再按不同情况给具体操作。


一、先明确“迁移”的类型

  1. 同版本 Informix 迁移(服务器更换)
    • 旧服务器 → 新 Ubuntu 服务器
    • 数据库版本不变
  2. 跨版本迁移(升级 Informix)
    • 例如 11.70 → 14.10
  3. 跨平台迁移(如 AIX / CentOS → Ubuntu)
  4. 只迁移数据(不迁移实例)
    • 使用 dbexport / dbimportonunload / onload

二、Ubuntu 上安装 Informix(前提)

Informix 官方支持 Ubuntu(14.04+,推荐 20.04 / 22.04)

1. 安装依赖

sudo apt update
sudo apt install libaio1 libstdc++6 ncurses5-compat-libs

2. 创建 informix 用户

sudo groupadd informix
sudo useradd -g informix -m -d /home/informix informix
sudo passwd informix

3. 解压并安装

tar -xvf informix-*.tar
cd informix-*
./installserver

4. 设置环境变量

/home/informix/.bash_profile

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

三、常见迁移方式(重点)

✅ 方式 1:物理迁移(最快,推荐同版本)

适用于:

  • 同版本
  • 同架构(x86_64)

步骤

  1. 旧服务器停库
onmode -ky
  1. 拷贝以下目录到新 Ubuntu
$INFORMIXDIR
/chunks(数据空间文件)
/etc/onconfig*
/etc/sqlhosts
  1. 新服务器
oninit -v

✅ 优点:无需导出
❌ 缺点:版本必须一致


✅ 方式 2:逻辑迁移(最通用)

适用于:

  • 跨版本
  • 跨平台

导出(旧库)

dbexport dbname -o /backup

拷贝到 Ubuntu

scp -r /backup/dbname.exp informix@ubuntu:/tmp

导入(新库)

dbimport dbname -i /tmp

✅ 优点:安全、跨平台
❌ 缺点:慢(大库不适用)


✅ 方式 3:onunload / onload(二进制)

onunload -l dbname
onload -l dbname

⚠ 不推荐跨版本


四、迁移后检查

onstat -
onstat -d
onstat -u

五、常见坑(Ubuntu 特有)

  1. libaio 缺失
apt install libaio1
  1. 中文乱码
export DB_LOCALE=zh_CN.utf8
export CLIENT_LOCALE=zh_CN.utf8
  1. 权限问题
chown -R informix:informix $INFORMIXDIR

六、如果你愿意,我可以更精确帮你

你可以告诉我:

  1. 旧系统是什么(AIX / CentOS / Windows?)
  2. Informix 版本
  3. 数据量大小
  4. 是否允许停机

我可以直接给你一套可执行的迁移方案

0