温馨提示×

linux informix如何导数据

小樊
38
2026-10-05 00:18:59
栏目: 智能运维

在 Linux 环境下使用 IBM Informix 导数据,常见方式有以下几种,按使用频率从高到低说明:


一、使用 dbexport / dbimport(整库或整库结构+数据)

1. 导出整个数据库

dbexport dbname -o /tmp/expdir
  • dbname:数据库名
  • /tmp/expdir:导出目录(会自动生成 dbname.exp)

导出内容:

  • 表结构(.sql)
  • 数据(.unl)

2. 导入数据库

dbimport dbname -i /tmp/expdir

适合:迁移数据库、备份整库


二、使用 unload / load(单表或批量数据)

1. 导出单表数据

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

2. 导入单表数据

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

适合:表级数据交换


三、使用 onunload / onload(二进制方式,快但不通用)

导出

onunload -t /dev/st0 dbname

导入

onload -t /dev/st0 dbname

适合:同版本 Informix 快速迁移


四、使用 isql + OUTPUT(简单文本)

output to '/tmp/out.txt' without headings
select * from tab1;

五、使用 informix + csv 导出(常用)

unload to '/tmp/tab1.csv'
delimiter ','
select col1, col2 from tab1;

六、常见注意事项

  1. 字符集
export DB_LOCALE=zh_CN.utf8
export CLIENT_LOCALE=zh_CN.utf8
  1. 权限
  • 用户需有 DBA 或对应表权限
  • 目录需 Informix 用户可写
  1. 大表
  • 使用 dbexport 更稳定
  • 可加 -ss 保留存储结构

七、典型场景建议

场景 推荐方式
整库迁移 dbexport / dbimport
单表交换 unload / load
同平台高速迁移 onunload / onload
给外部系统 unload csv

如果你能说明:

  • Informix 版本
  • 导出范围(整库 / 单表)
  • 目标(文件 / 另一库 / 其他数据库)

我可以给你更精确的命令示例。

0 踩