温馨提示×

linux informix怎样导入表

小樊
39
2026-10-25 13:32:37
栏目: 智能运维

在 Linux 下使用 Informix 导入表,常见方式有以下几种,按使用频率从高到低说明。


一、使用 dbimport(整库/整 schema 导入,最常用)

适用于:

  • 之前用 dbexport 导出的数据库

1. 准备导出目录

dbexport mydb -o /opt/ifmx/dump

会生成:

/opt/ifmx/dump/mydb.exp/

2. 导入数据库

dbimport mydb_new -i /opt/ifmx/dump

常用参数:

dbimport mydb_new \
  -i /opt/ifmx/dump \
  -d datadbs \
  -l buffered

二、使用 load(表级导入,文本数据)

适用于:

  • 已有 .unl 或分隔符文本文件
  • 表已存在

1. 准备数据文件

例如 t1.unl:

1|abc
2|def

2. 使用 DB-Access 导入

dbaccess mydb -

load from '/opt/ifmx/t1.unl'
insert into t1;

或写 SQL 文件:

load from '/opt/ifmx/t1.unl'
insert into t1;

执行:

dbaccess mydb load.sql

三、使用 External Table(外部表,高性能)

适用于:

  • 大量数据
  • 需要并行导入
CREATE EXTERNAL TABLE ext_t1
LIKE t1
USING (
  DATAFILES ("DISK:/opt/ifmx/t1.unl"),
  FORMAT "DELIMITED",
  DELIMITER "|"
);

INSERT INTO t1 SELECT * FROM ext_t1;

四、使用 onload(物理级恢复,少用)

适用于:

  • 同版本 Informix
  • 整个数据库空间恢复
onload -t /opt/ifmx/t1.tape mydb

五、常用注意事项

  1. 表必须存在(load / external table)
  2. 字符集一致
  3. 权限足够(informix 用户或 DBA)
  4. 数据分隔符要匹配
  5. 导入前建好索引/约束可加快速度

六、典型示例(最常见)

# 导出
dbexport shop -o /backup

# 导入
dbimport shop_new -i /backup

如果你能告诉我:

  • Informix 版本
  • 是整库还是单表
  • 数据来源(.unl / CSV / dbexport)

我可以给你精确的命令模板。

0 踩