达梦快速装载工具dmfldr参数释义和使用注意事项

必须指定的参数:
USERID =SYSDBA/SYSDBA@localhost:5236## {mpp_type=local,inet_type=tcp}
可选参数:
CONTROL =\’/home/opt/a.txt\’ (注意转义)
LOG=\’/path/path/xxx.log\’
NULL_STR=\’it is Null\’
SKIP=1
LOAD=100000 (最大行数,不设置就是全部)
CHARACTER_CODE=GBK GBK18030 UTF-8 EUC_KR SINGLE_BYTE (导入不支持 single_byte
MODE =IN OUT OUTORA (导出 oracle 表,不支持大字段)、 LOCAL_FILE (导入时不发送数
据,在本地写文件)
LOB_DIRECTORY= 目录(导出,或导入且 DIRECT=TRUE 时生效,指定大字段目录)
BLOB_TYPE=HEX HEX_CHAR DIRECT=FALSE 才生效)
BUFFER_NODE_SIZE=1024 MB ,默认 10 ,读取文件缓冲区页大小) LOG_SIZE=50 MB ,默认 1 ,日志系统缓冲区节点大小)
READ_ROWS=100000 (每次读取的最大行数,默认 100000 ,最大 2^26-10000
NULL_MODE=TRUE (默认 FALSE
true 时,载入 NULL 处理为空,导出空值处理为 NULL
false 时,载入 NULL 处理为字符串,导出空值处理为空串)
TASK_THREAD_NUMBER=16 (处理用户数据的线程数, 1-128 ,系统默认至少创建两个)
COMPRESS_FLAG=TRUE (默认 FALSE ,是否压缩 BDTA
SILENT=TRUE (默认 FASLE ,,指定是否静默装载)
OCI_DIRECTORY= 目录( MODE OUTORA 时才生效,指定 oracle oci 动态库目录)
DATA= 目录(数据文件目录;此参数优先级高于控制文件中指定的目录)
ENABLE_CLASS_TYPE=TRUE (默认 FASLE ,制定是否以 BLOB 方式载入或导出 CLASS 类列数据)
SINGLE_HLDR=TRUE (默认 FASLE ,是否使用单个 hldr 装载 huge 水平分区表)
TABLE=( 模式名 .) 表名(指定导入或导出的表名,指定了 SQL SQLFILE 时无效)
ROW_SEPERATOR= (长度小于 128 ,指定行分隔符)
FILELD_SEPERATOR= (长度小于 255 ,指定列分隔符)
APPEND_OPTION= (默认 0 ,追加模式,可取值:
0 append 追加新纪录
1 replace 清空表再插入新纪录
2 insert 插入记录到空表,表非空报错)
LOB_AS_VARCHAR=TRUE (默认 FASLE ,导入或导出时是否将 clob 视作 varchar
LOB_AS_VARCHAR_SIZE=10 MB 1-20 ,默认 10 lob_as_varchar true 时生效,视作 varchar
lob 数据的最大大小)
LOG_LEVEL= (默认 3 ,记录错误信息的级别,错误信息在 .log ,错误数据在 .bad 可选值:
0 :不记录错误信息和错误数据
1 :记录错误信息
2 :记录错误数据
3 :记录错误信息和错误数据
4 :仅输出到屏幕)
FLDR_INI = 目录( dmfldr.ini 路径,可在其中指定除 USERID CONTROL HELP 外的参数;此时
不考虑转义)
SEDF=\’b0x20\’ (指定被替换的字符列表,和 SEDT 一同使用,且一一对应)
SEDT =\'zx\' (指定用于替换的字符列表,和 SEDF 一同使用,且一一对应)
ESCAPE =\'*\' (指定转义字符,只能指定一个,导入时两个转义字符转换为一个,导出时反
之)
DB2_MODE=TRUE (默认 FALSE DB2 兼容模式)
PRIORITY_ENCLOSE=TRUE (默认 FALSE DB2 兼容模式下封闭符优先级是否高于行分割符,
DB2_MODE 开启才生效)
导入时生效:
BADFILE=\’/path/path/xxx.bad\’
ROWS=30000 DIRECT=FALSE 才生效,每次提交行数,默认 50000
DIRECT=FALSE (默认 TRUE ,不检查约束直接对 b 树操作, false 反之)
SET_IDENTITY=TRUE DIRECT=TRUE 才生效,默认 FALSE ,不读取自增列,大多数情况下 FALSE
才是想要得到的效果) SORTED=TRUE DIRECT=TRUE 才生效,默认 FALSE ,声明数据已有序)
INDEX_OPTION=1/2/3
DIRECT=TRUE 才生效;
1 :装载时预排序,装载完成后刷新二级索引
2 :装载时不操作,装载完成后重建二级索引
3 :边装载边进行二级索引插入)
ERRORS=99999999 (最大容错数,默认 100
CLIENT_LOB=TRUE DIRECT=TRUE 才生效,默认 FALSE ,声明大字段目录是否在客户端本地)
SEND_NODE_NUMBER=16 (发送节点的个数,默认 20,16-65535
BLDR_NUM=64 1-1024 ,水平分区表子表同时最大装载数)
BDTA_SIZE=5000 100-10000 ,装载批量)
FLUSH_FLAG=TRUE (默认 FALSE ,指定提交数据时服务器是否需要提供可靠响应)
IGNORE_BATCH_ERRORS=TRUE (默认 FALSE DIRECT FALSE 才生效,是否忽略错误并继续)
PARALLEL=TRUE DIRET TRUE 才生效,开启并行模式,无法开启并行的情况:
存在二级索引、没有自定义的聚簇索引、开启了逻辑日志或高级日志、装载表是 huge 表)
COMMIT_OPTION=1 (默认 0 ,是否全部装载完后再提交)
IGNORE_AIMLESS_DATA=TRUE (默认 FALSE ,忽略未找到对应分区的分区表数据)
RECONN=0 (默认 0 ,最大 2^65535 ,自动重连次数)
RECONN_TIME=5 (单位秒,默认 5 1-10000 ,自动重连等待时间, RECONN 不为 0 时才生效)
导出时生效:
LOB_FILE_NAME=xxx.lob (导出大字段的文件名,位置用 LOB_DIRECTORY 指定)
SQL=” 语句 (导出自定义查询结果数据,语句打双引号)
SQLFILE= 目录(导出自定义结果的 sql 文件目录)
COLNAME_HEADING=TRUE (默认 FALSE ,在导出文件中是否打印列名)
WIDTH= 12:30:10 (强制指定导出列数据宽度,每列间冒号隔开,从第一列起算,后续列依次)
MPP 专用参数:
MPP_CLIENT=FALSE (默认 TRUE ,客户端分发模式, false 本地分发模式)
SIGLE_FILE=TRUE (默认 FALSE DPC 也适用,导出才生效,指定导出文件是否为单个文件)
LAN_MODE=TRUE (默认 FASLE DPC 也适用,指定导入 / 导出数据是否使用局域网)
EP=(1,3,4) (导入时且 DIRECT TRUE 时才生效, DPC 也适用,指定发送数据的站点)
Dmfldr.ini 文件格式:
OPTIONS(
MODE=’OUT’
SQL=”select * from dmhr.department;”
LOG=’/home/test/xxx.log’
DATA=’/home/test/aaa.txt’
)
Control 文件格式参考:
OPTIONS
( SKIP=0
ROWS=50000
DIRECT=TRUE
INDEX_OPTION=2
)
LOAD DATA
INFILE ‘/opt/xxx/xxx.txt’ STR X ‘0A’ # 换行符, 0A \n 0D0A \r\n
BADFILE ‘/opt/data/xxx.bad’
INTO TABLE schema.table
FIELDS ‘|’
(
F1,
F2 DATE FORMAT ‘YYYY-MM-DD’,
F3 NULL, # 此列置空,忽略文件中数据
F4 “trim()”, # 去列前后空格
F5 TERMINATED BY WHITESPACE # 为此列指定列间分隔符为空格 whitespace
)
Dmfldr 性能相关参数:
BUFFER_NODE_SIZE :读取文件缓冲区页大小,单词读取量大效率高,受内存限制
READ_ROWS :单次读取行数过大时,可用 read_rows 限制, fldr 会取二者间最小值
SEND_NODE_NUMBER :发送节点个数,受内存限制
TSASK_THREAD_NUMBER :载入处理数据线程数, cpu 大于 8 核时刻设置大
BLDR_NUM :水平分区表最大同时装载子表数,受内存限制
BDTA_SIZE :处理批量,受内存、 cpu 限制,受网络影响小
INDEX_OPTION :二级索引处理策略
载入前表中已有较多数据,设为 1 (不刷新而预排序)
载入前没有或很少数据,设为 2 (不刷新而重建)
原有数据量远大于插入数据量,设为 3 (边插入边更新)
Dmfldr 使用限制:
不能装载数据的表有:
临时表或外部表、
系统表、
带有位图索引的表、
带有函数索引的表、
带有全文索引的表、
DCP 代理、
DPC 下,带有全局索引的表
约束与报错:
非空:报错,不插入
聚簇:报错,不插入
唯一:报错,插入(唯一约束仍有效,关联的唯一索引将失效)
外键:不报错,插入 Check :不报错,插入
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值