温馨提示×

linux informix怎样迁移数据

小樊
45
2026-09-05 03:31:55
栏目: 智能运维

在 Linux 环境下迁移 IBM Informix 数据,常见做法有几种,具体取决于你是要整机迁移、跨版本迁移、还是只迁部分表/库。下面按「最常用 → 进阶」给你一个清晰清单。


一、最常用:使用 dbexport / dbimport(同版本或接近版本)

适用场景

  • 整库迁移
  • Linux → Linux
  • Informix 版本相同或相近

导出(源机)

dbexport dbname -o /tmp/expdir

生成:

  • /tmp/expdir/dbname.exp
  • .sql + .unl 数据文件

传输

scp -r /tmp/expdir user@newhost:/tmp/

导入(目标机)

dbimport dbname -i /tmp/expdir

✅ 优点:简单、稳定
❌ 缺点:不支持不同字节序(如小端→大端)


二、表级迁移:unload / load

导出单表

unload to '/tmp/tab1.unl'
select * from tab1;

导入

load from '/tmp/tab1.unl'
insert into tab1;

适合:

  • 只迁部分表
  • 表结构已存在

三、跨版本 / 跨平台:使用 onunload / onload

导出

onunload -t /tmp/db.dmp dbname

导入

onload -t /tmp/db.dmp dbname

⚠ 注意:

  • 需要 同架构(CPU/字节序)
  • 常用于同大版本迁移

四、逻辑备份恢复:ontape / onbar

ontape(简单)

ontape -s -L 0     # 备份
ontape -r          # 恢复

适合:

  • 整实例迁移
  • 不需要跨平台

五、ETL / 外部表(高级)

外部表(12+ 版本)

CREATE EXTERNAL TABLE ext_tab
USING (
  DATAFILES ("/tmp/tab.unl")
);

适合:

  • 大数据量
  • 跨版本/跨平台

六、迁移前必做检查 ✅

  1. 数据库版本
    onstat -V
    
  2. 字符集
    onstat -g cfg | grep DB_LOCALE
    
  3. 空间足够
    df -h
    onstat -d
    
  4. 停业务或锁表
  5. 备份原库
    ontape -s -L 0
    

七、典型迁移方案推荐

场景 推荐方式
同版本 Linux dbexport/dbimport
单表 unload/load
整实例 ontape
跨版本 dbexport + 外部表
大库 onunload/onload

如果你能告诉我:

  • Informix 版本
  • 是否跨平台
  • 数据量大小
  • 是否整库

我可以给你一步一步可执行命令

0