在 Ubuntu 上迁移 IBM Informix 数据库,通常分为同版本迁移、跨版本迁移、跨平台迁移几种情况。下面按最常见、最稳妥的方式给你一个完整思路和操作步骤。
onstat -
确认源库和目标库:
onstat -V)onstat -g cfg | grep DBUPSPACE 或 DB_LOCALE)在 Ubuntu 上安装同版本或更高版本的 Informix:
informix 用户export INFORMIXDIR=/opt/ibm/informix
export INFORMIXSERVER=ol_informix
export PATH=$INFORMIXDIR/bin:$PATH
export ONCONFIG=onconfig.ol_informix
dbexport dbname -c -ss
生成:
dbname.exp 目录dbname.sqlscp -r dbname.exp user@ubuntu:/data/
dbimport dbname -i /data -d datadbs
参数说明:
-i 导出目录-d 指定数据库空间✅ 优点:简单、跨平台兼容好
❌ 缺点:大库较慢
ontape -s -L 0
ontape -r
恢复时需保证:
ONCONFIG 一致✅ 优点:快、完整
❌ 缺点:版本/平台要求严格
onunload -t /tmp/tab.unl dbname:tabname
onload -t /tmp/tab.unl dbname:tabname
适合单表迁移。
dbaccess dbname - <<EOF
unload to '/tmp/tab.unl'
select * from tabname;
EOF
导入:
load from '/tmp/tab.unl'
insert into tabname;
sudo apt install libaio1 libpam0g
sysctl -w kernel.shmmax=...
sysctl -w kernel.sem=...
chown -R informix:informix /data/dbname.exp
onstat -
oncheck -cI dbname
校验:
| 场景 | 推荐方式 |
|---|---|
| 跨平台 | dbexport/dbimport |
| 同版本 | ontape |
| 单表 | unload/load |
| 大库 | ontape + 并行 |
如果你能告诉我:
我可以给你精确命令模板。