DM 数据快速加载


前言

DM提供了dmfldr工具,用于将文本的数据快速、高效地导入到数据库中。Dmfldr(DM Fast Loader)是DM提供的快速数据装载命令行工具。用户通过使用dmfldr工具能够把按照一定格式排序的文本数据以简单、快速、高效的方式载入到DM数据库中,或把DM数据库中的数据按照一定格式写入文本文件。


一、原理

当进行数据载入时,dmfldr客户端接收用户提交的命令与参数,分析控制文件与数据文件,将数据打包发送给服务器端的dmfldr模块,由服务器完成数据的真正装载工作。并分析服务器返回的消息,必要时根据用户参数指定生成日志文件与错误数据文件。
当进行数据导出时,dmfldr客户端接收用户提交的命令与参数,分析控制文件,将用户要求转换成相应消息发送给服务器端的dmfldr模块。服务器解析并打包需要导出的数据,发送给dmfldr客户端,客户端将数据写入指定的数据文件,必要时根据用户参数指定生成日志文件。


二、相关参数

1.查看参数

dmfldr使用较为灵活,参数较多,用户可以使用“dmfldr help”查看各参数的简单信息。:

dmfldr help

在这里插入图片描述

2.参数格式

dmfldr 指定参数的格式为:

./dmfldr KEYWORD=value

dmfldr 的使用必须指定必要的参数,USERID 必须是第一个参数,CONTROL 必须是第二个参数,这两个参数都不能省略;其余参数均为可选参数,可以不指定,指定时也无顺序要求。
例如:

./dmfldr SYSDBA/SYSDBA CONTROL='/opt/data/fldr.ctl'

三、实战演示

使用 DATA 参数指定 dmfldr 的数据文件,数据文件路径的优先选择顺序为先控制文件,后参数选项。步骤如下:

1.创建数据表

create table test(A INT,B INT,C DATE);

在这里插入图片描述

2.编辑数据文件

vim /opt/dmdbms/test.txt

在这里插入图片描述

3.编辑控制文件

vim /opt/dmdbms/text.ctl

在这里插入图片描述

4.装载数据

cd /opt/dmdbms/bin
./dmfldr SYSDBA/SYSDBA control=\'/opt/dmdbms/text.ctl\'  data=\'/opt/dmdbms/text.text\'

在这里插入图片描述
在这里插入图片描述

5.查询结果

cd /opt/dmdbms/bin
./disql SYSDBA/SYSDBA

在这里插入图片描述


四、使用限制

dmfldr的使用存在以下一些限制: • 不支持向临时表、外部表装载数据 • 不支持向系统表装载数据 • 不支持向带有位图索引的表装载数据 • 不支持向带有函数索引的表装载数据 • 不支持向带有全文索引的表装载数据 • 不支持向DCP代理装载数据 • dmfldr装载时,对约束进行检查

五、常见问题

1.报控制文件输入参数出错,需要转义字符

control='/opt/dmdbms/text.ctl'修改为control=\'/opt/dmdbms/text.ctl\' ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210505214736604.png)

2.报由于数据格式错误,行丢失

这个是字符集的问题,检查数据文件发现,数据没有格式错误,导入的数据有乱码。因为数据有汉字,需要指定下格式,CHARACTER_CODE=/‘UTF-8/’

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值