在 Linux + Informix 环境下“迁数据”,通常分为几种场景,我先按最常见的迁移方式给你讲,再给你具体命令示例。你可以对照自己的情况选。
✅ 使用 dbexport / dbimport
dbexport dbname -o /opt/ifmx/exp
dbname:数据库名/opt/ifmx/exp/dbname.exp目录里包含:
dbname.sql(表结构)*.unl(数据)scp -r /opt/ifmx/exp/dbname.exp user@target:/opt/ifmx/exp/
dbimport dbname -i /opt/ifmx/exp
⚠️ 注意:
✅ 使用 unload / load
UNLOAD TO '/opt/ifmx/t1.unl'
SELECT * FROM tab1;
LOAD FROM '/opt/ifmx/t1.unl'
INSERT INTO tab1;
适合:
✅ 使用 onunload / onload(不推荐跨大版本)
onunload -t /dev/st0 dbname
onload -t /dev/st0
⚠️ 限制很多,一般不用
✅ 使用:
适合:
onstat -V # 版本
onstat -g cfg # 配置
locale # 字符集
常见字符集问题:
en_US.819zh_CN.UTF8不一致会导致导入失败或乱码。
❌ dbimport 报错:数据库已存在
✅ 先 drop database dbname;
❌ 权限不足
✅ informix 用户执行
❌ 表空间不存在
✅ 提前创建 dbspace
为了给你更精确的步骤,请补充:
onstat -V)我可以直接给你 一步一步可执行的脚本。