DM7数据库快速装载工具DMFIDR使用

DMFIDLR是DM7提供的数据装载工具,用于高效地导入导出大规模数据。本文详细介绍了如何使用DMFIDLR进行数据的载出和载入,包括创建控制文件、设置参数等步骤,并展示了其在数据迁移中的优势。同时,列举了DMFIDLR的重要参数及其作用,帮助用户更好地理解和运用这个工具。
摘要由CSDN通过智能技术生成

dmfldr的全称是DM Fast Loader,是DM7提供的快速数据装载工具,能够简单、快速、高效地把按一定格式排列的文本数据装载到DM数据库中,也能将DM7中的数据按一定格式写入文本文件。相比于其他数据迁移工具,dmfldr适合数据量特别巨大的情况,且性能相比其他工具更好,但是功能性方面较差。

一、载出

先创建控制文件用来指定导入或导出数据文件的路径、格式以及其他 dmfldr 参数值。
在/opt/目录下创建控制文件city.ctl,内容如下:

LOAD DATA
INFILE ‘/opt /city.txt’
INTO TABLE DMHR.CITY
FIELDS ‘|’

LOAD DATA:表明应用dmfldr执行装载数据操作
INFILE:当载入数据的时候,指定对应控制文件的路径;当载出数据的时候,指定载出的文本数据文件路径。指定的载出的文本数据文件路径存放在/opt/city.txt中。
INTO TABLE:指定要载入或载出的表,这里是DMHR模式下的CITY表。
FILEDS:载入或载出的数据分隔符,这里是“|”。

dmfldr执行程序存放在达梦数据库的bin目录下,切换到该目录下,执行装载数据命令

./dmfldr userid=SYSDBA/SYSDBA@192.168.72.30:5236 control=’/opt/city.ctl’ mode=‘out’
userid:用于指定登录数据库的信息,包含用户名、密码、服务器地址、端口号,此参数为必选参数且必须位于参数位置的第一个。
control:控制文件的路径,此参数为必选参数且必须位于参数位置的第二个。
mode:装载模式,MODE 的可选项有 IN、OUT 和OUTORA 三种。
在这里插入图片描述

载出完成后可以查看city.txt中导出的数据和表中是否一致
在这里插入图片描述
在这里插入图片描述

二、载入

1.创建表

在DMHR模式下创建CITYNEW表,结构与之前CITY表相同:

CREATE TABLE “DMHR”.“CITYNEW”
(
“CITY_ID” CHAR(3) NOT NULL,
“CITY_NAME” VARCHAR(40),
“REGION_ID” INT,
CONSTRAINT “CITYNEW_C_ID_PK” NOT CLUSTER PRIMARY KEY(“CITY_ID”),
CONSTRAINT “CITYNEW_REG_FK” FOREIGN KEY(“REGION_ID”)
REFERENCES “DMHR”.“REGION”(“REGION_ID”)
) STORAGE(ON “MAIN”, CLUSTERBTR) ;
2.创建控制文件citynew.ctl
内容如下
LOAD DATA
INFILE ‘/opt/city.txt’
INTO TABLE DMHR.CITYNEW
FIELDS ‘|’

3.在数据库bin目录下执行载入语句
./dmfldr userid=SYSDBA/SYSDBA@192.168.72.30:5236 control=’/opt/citynew.ctl’ mode=‘in’
在这里插入图片描述
在这里插入图片描述

数据已成功装载到CITYNEW表中,可以通关管理工具验证:

在这里插入图片描述

DMFIDR作用远不止于此,它的参数也有很多,上面只是应用了一部分,可以通过“dmfldr help”命令查看各参数的简单信息。

关键字              说明(默认值)
--------------------------------------------------------------------------------

USERID				用户名/口令 格式:USER/PWD@SERVER:PORT#SSL_PATH@SSL_PWD
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 不刷新二级索引,数据装载完成后重建所有二级索引
ERRORS              允许的最大数据错误数 (100)
CHARACTER_CODE      字符编码,字符串类型 (GBK, UTF-8, SINGLE_BYTE, EUC-KR)
MODE                装载方式,字符串类型 IN表示载入,OUT表示载出,
                    OUTORA表示载出ORACLE (IN)
CLIENT_LOB          大字段目录是否在本地 (FALSE)
LOB_DIRECTORY       大字段数据文件存放目录
LOB_FILE_NAME       大字段数据文件名称,仅导出有效 (dmfldr.lob)
BUFFER_NODE_SIZE    读入文件缓冲区的大小 (10),有效值范围1~2048
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环境导入数据时有效
HELP                打印帮助信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值