达梦数据库_dmfldr工具使用说明

        dmfldr(DM Fast Loader)是达梦数据库提供的快速数据装载命令行工具。用户通过使用dmfldr工具能够把一定格式的文本数据以简单、快速、高效的方式导入到达梦数据库中,或把达梦数据库中的数据按照一定格式导出到文本文件。其功能与Oracle的sqlldr类似。比如在实际业务应用中,假设A系统因为业务场景需要做数据分析,此时需要B系统的用户行为数据,如果实时性要求不高,而B系统数据量又很大时,可以使用dmfldr数据装载方式同步数据,即B系统导出该表部分字段数据给A系统,A系统导入后做数据分析。

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

用法说明

./dmfldr help
格式: ./dmfldr KEYWORD=value
例程: ./dmfldr SYSDBA/SYSDBA CONTROL=’/opt/data/fldr.ctl’

USERID 必须是命令行中的第一个参数
CONTROL 必须是命令行中的第二个参数

字符串类型参数必须以引号封闭

关键字说明(默认值)
USERID用户名/口令 格式:{ [/ ] | /}[@ ][
CONTROL控制文件,字符串类型
LOG日志文件,字符串类型 (fldr.log)
BADFILE错误数据记录文件,字符串类型 (fldr.bad)
SKIP初始忽略逻辑行数 (0)
LOAD需要装载的行数 (ALL)
ROWS提交频次 (50000), DIRECT为FALSE有效
DIRECT是否使用快速方式装载 (TRUE)
SET_IDENTITY是否插入自增列 (FALSE)
SORTED数据是否已按照聚集索引排序 (FALSE)
INDEX_OPTION索引选项 (1) 1 不刷新二级索引,数据按照索引先排序,装载完后再将排序的数据插入索引 2 不刷新二级索引,数据装载完成后重建所有二级索引 3 刷新二级索引 ,数据装载的同时将数据插入二级索引
ERRORS允许的最大数据错误数 (100)
CHARACTER_CODE字符编码,字符串类型 (GBK, UTF-8, SINGLE_BYTE, EUC-KR)
MODE装载方式,字符串类型 IN表示载入,OUT表示载出, 表示载出ORACLE (IN)
CLIENT_LOB大字段目录是否在本地 (FALSE)
LOB_DIRECTORY大字段数据文件存放目录
LOB_FILE_NAME大字段数据文件名称,仅导出有效 (dmfldr.lob)
BUFFER_NODE_SIZE读入文件缓冲区的大小 (10),有效值范围1~2048
LOG_SIZE日志信息缓冲区的大小 (1),有效值范围1~100
READ_ROWS工作线程一次最大处理的行数 (100000),最大支持2^26-10000
NULL_MODE载入时NULL字符串是否处理为NULL,载出时空值是否处理为NULL字符串 (FALSE)
NULL_STR载入时视为NULL值处理的字符串
SEND_NODE_NUMBER运行时发送节点的个数 (20),有效值范围16~65535
TASK_THREAD_NUMBER处理用户数据的线程数目,默认与处理器核数量相同,有效值范围1~128
BLDR_NUM服务器BLDR数目 (64),有效值范围1~1024
BDTA_SIZEbdta的大小 (5000),有效值范围100~10000
COMPRESS_FLAG是否压缩bdta (FALSE)
MPP_CLIENTMPP环境,是否本地分发 (TRUE)
SINGLE_FILEMPP环境,是否只生成单个数据文件(FALSE)
LAN_MODEMPP环境,是否以内网模式装载数据(FALSE)
UNREP_CHAR_MODE非法字符处理选项(0),为0时表示跳过该数据行,为1时表示使用(*)替换错误字节
SILENT是否静默方式装载数据(FALSE)
BLOB_TYPEBLOB类型字段数据值的实际类型,字符串类型 (HEX_CHAR),HEX表示值为十六进制,HEX_CHAR表示值为十六进制字符类型,仅在direct=FALSE有效
OCI_DIRECTORYOCI动态库所在的目录
DATA指定数据文件路径
ENABLE_CLASS_TYPE允许用户导入CLASS类型数据 (FALSE)
FLUSH_FLAG提交时是否立即刷盘 (FALSE)
IGNORE_BATCH_ERRORS是否忽略错误数据继续导入 (FALSE)
SINGLE_HLDR_HP是否使用单个HLDR装载HUGE水平分区表 (TRUE)
EP指定需要发送数据的站点序号列表,仅向MPP环境导入数据时有效
PARALLEL是否开启并行装载(FALSE)
SQL使用自定义查询语句,仅导出模式有效
HELP打印帮助信息

测试

编辑数据文件

vim /tmp/abc.txt
1 1|2015-11-06
2 2|2015-11-05
3 3|2015-11_04

编辑控制文件

vim /tmp/abc.ctrl

LOAD DATA
INFILE ‘/tmp/abc.txt’ —在控制文件中指定数据文件
INTO TABLE test
FIELDS ‘|’ —表示用|竖线分隔字段数据
(
C1 TERMINATED BY ‘ ‘, —指定某列数据的分隔符
C2,
C3 DATE FORMAT ‘yyyy-mm-dd’
)

加载数据

./dmfldr userid=aaa/123:22222 control=/’/tmp/abc.ctrl/’

装载失败会在当前目录下生成fldr.bad文件

more fldr.bad
dmfldr: 2022-01-24 16:03:56 AAA->TEST 1|2015-11-06
dmfldr: 2022-01-24 16:03:56 AAA->TEST 2|2015-11-05
dmfldr: 2022-01-24 16:03:56 AAA->TEST 3|2015-11_04
dmfldr: 2022-01-24 16:05:57 AAA->TEST 1|2015-11-06
dmfldr: 2022-01-24 16:05:57 AAA->TEST 2|2015-11-05
dmfldr: 2022-01-24 16:05:57 AAA->TEST 3|2015-11_04

达梦社区地址:https://eco.dameng.com

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值