达梦数据库之快速加载数据【达梦数据库技术系列】
程序员文章站
2022-03-03 20:13:37
...
【dmfldr】(DM Fast Loader)是 DM7 提供的快速数据装载命令行工具。用户通过使 用 dmfldr 工具能够把按照一定格式排序的文本数据以简单、快速、高效的方式载入到 DM 数据库中,或把 DM 数据库中的数据按照一定格式写入文本文件。
当进行数据载入时,dmfldr 客户端接收用户提交的命令与参数,分析控制文件与数据文件,将数据打包发送给服务器端的 dmfldr 模块,由服务器完成数据的真正装载工作。 并分析服务器返回的消息,必要时根据用户参数指定生成日志文件与错误数据文件。
dmfldr 使用语法如下:
dmfldr USERID=SYSDBA/SYSDBA CONTROL=‘c:\fldr.ctl’
测试过程:
- 准备数据文件 test.txt, 数据以“,”分隔;
c1,c2,c3
1,2,3
4,5,6
7,8,8
- 在数据库中创建表结构
SQL> create table test
(c1 int primary key,
c2 int,
c3 int)
- 创建控制文件test.ctl
test.ctl
LOAD DATA
INFILE '/home/dmdba/test.txt'
INTO TABLE test
FIELDS ','
- 导入数据
$ dmfldr sysdba/SYSDBA control='/home/dmdba/test.ctl' skip=1
skip 参数让dmfldr 忽略第一行数据,数据文件中第一行数据是列名而非数据
- 查询导入的成功和失败的日志(fldr.log和fldr.bad),根据日志检查有无错误项,确定数据完全导入到数据库中
总结:
使用dmfldr可以快速有效的加载大量的数据,并保证数据的一致性和有效性,并且配置和使用比较简单。
【特别说明】在 DM7 数据守护主备环境下,如果 dmfldr 数据载入中发生主备切换,dmfldr 支持 主备切换完成后自动继续装载数据,并且能保持数据正确。
上一篇: 笔记:flas请求处理