在 Ubuntu 上迁移 Informix 数据库,通常有以下几种常见场景和方法。我先按“最常用、最稳妥”的方式给你讲,再补充几种特殊情况。
onstat -
dbaccess
能正常执行说明 Informix 环境 OK。
dbexport / dbimport(同构迁移)✅ 适合:库结构 + 数据一起迁移 ✅ 最常用、最稳定
dbexport dbname -o /tmp/ifx_export
生成:
/tmp/ifx_export/dbname.exp/
scp -r /tmp/ifx_export user@ubuntu:/data/ifx/
dbimport dbname -i /data/ifx
注意:
DB_LOCALE、CLIENT_LOCALE 要和源一致ontape 物理迁移(整实例)✅ 适合:整实例、整库快速迁移 ❌ 不支持跨大版本
ontape -s -L 0
ontape -r
要求:
onunload / onload(表级)适合迁移 部分表
onunload -t /tmp/tab.unl dbname:tabname
onload -t /tmp/tab.unl dbname
unload + loadunload to '/tmp/tab.unl'
select * from tabname;
导入:
load from '/tmp/tab.unl'
insert into tabname;
或用 dbaccess 脚本批量执行。
tar -xvf ifx.tar
./installserver
配置:
INFORMIXDIRINFORMIXSERVERONCONFIG/etc/servicessqlhosts| 问题 | 解决 |
|---|---|
| 字符集不一致 | 设置 DB_LOCALE |
| 权限不足 | 用 informix 用户 |
| 表空间不存在 | 提前建 dbspace |
| 导入慢 | 先建索引后导数据 |
我可以给你具体命令脚本,只需要你回答:
我可以一步一步带你做。