在 Linux 上迁移 IBM Informix 数据,常见做法有几种,取决于源和目标环境是否同版本、是否同平台、是否可停机。下面按最常用 → 进阶给你系统说明。
dbexport / dbimport(推荐)适合:整库迁移、版本相近、可短暂停机
dbexport dbname -o /backup/inf_exp
生成:
/backup/inf_exp/dbname.expdbname.sqlscp -r /backup/inf_exp user@target:/data/inf_exp
dbimport dbname -i /data/inf_exp
✅ 优点:简单、稳定
❌ 缺点:不支持增量
unload / load适合:部分表、跨版本、跨字符集
UNLOAD TO '/tmp/t1.unl'
SELECT * FROM t1;
LOAD FROM '/tmp/t1.unl'
INSERT INTO t1;
或命令行:
dbaccess dbname - <<EOF
LOAD FROM '/tmp/t1.unl' INSERT INTO t1;
EOF
⚠ 注意:
适合:整机迁移、版本完全一致
onmode -ky
$INFORMIXDIRonconfigsqlhostsoninit -v
✅ 最快
❌ 版本必须一致
ontape 备份恢复适合:灾备、跨机恢复
ontape -s -L 0
ontape -r
需要:
INFORMIXSERVER适合:不停机、实时同步
onstat -d # 空间
onstat -c # 配置
locale # 字符集
dbaccess - - # 版本
✅ 用 dbexport/dbimport 或 unload/load
unload导出时指定:
DB_LOCALE=zh_CN.utf8
CLIENT_LOCALE=zh_CN.utf8
你可以告诉我:
我可以直接给你可执行迁移方案 + 命令脚本。