在 Linux 环境下迁移 IBM Informix 数据库,常见场景有:
下面按最常用、最稳妥的方式给你讲清楚。
onstat -V # Informix 版本
onstat - # 实例状态
onmode - # 运行模式
记录:
onmode -u # 立即停库(慎用)
# 或
onmode -s # 进入 quiescent
适合:
dbexport dbname -o /backup_dir
生成:
/backup_dir/dbname.expscp -r /backup_dir/dbname.exp user@newhost:/data/
dbimport dbname -i /data -d datadbs
✅ 优点:简单、稳定
❌ 缺点:速度慢(大库不适用)
适合:
ontape -s -L 0
$INFORMIXDIR/etc/onconfig
$INFORMIXDIR/etc/sqlhosts
ontape -r
✅ 优点:完整、快
❌ 缺点:版本必须一致
适合:
onbar -b -L 0
onbar -r
需要配置:
onbar 参数CREATE EXTERNAL TABLE ext_tab
LIKE real_tab
USING (DATAFILES("disk:/tmp/data.unl"));
适合:
UNLOAD TO '/tmp/tab.unl'
SELECT * FROM tab;
LOAD FROM '/tmp/tab.unl'
INSERT INTO tab;
onstat -
oncheck -cI dbname
检查:
| 问题 | 说明 |
|---|---|
| 字符集不一致 | 必出错 |
| 版本不一致 | ontape 不可用 |
| dbs 空间不足 | dbimport 失败 |
| root dbspace 权限 | Informix 用户必须拥有 |
如果你愿意,可以告诉我:
我可以直接给你一步一步可执行命令。