达梦数据库_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_SIZE bdta的大小 (5000),有效值范围100~10000
COMPRESS_FLAG 是否压缩bdta (FALSE)
MPP_CLIENT MPP环境,是否本地分发 (TRUE)
SINGLE_FILE MPP环境,是否只生成单个数据文件(FALSE)
LAN_MODE MPP环境,是否以内网模式装载数据(FALSE)
UNREP_CHAR_MODE 非法字符处理选项(0),为0时表示跳过该数据行,为1时表示使用(*)替换错误字节
SILENT 是否静默方式装载数据(FALSE)
BLOB_TYPE BLOB类型字段数据值的实际类型,字符串类型 (HEX_CHAR),HEX表示值为十六进制,HEX_CHAR表示值为十六进制字符类型,仅在direct=FALSE有效
OCI_DIRECTORY OCI动态库所在的目录
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

你可能感兴趣的:(达梦,数据库)