dmldrp 和 dmldrc 只支持快速载入功能,不支持快速载出功能。
4.1 dmldrp
本章简单介绍如何启动轻量级快速装载工具服务器 dmldrp 及其支持的参数。通过阅读本章,读者可以了解 dmldrp 通过各参数能提供的各项功能。
4.1.1 启动 dmldrp
安装好 DM 数据库管理系统后,在安装目录“bin”子目录下可找到 dmldrp 执行文件。
启动操作系统的命令行窗口,进入 dmldrp 所在目录,可以准备启动 dmldrp 工具了。
dmldrp 的使用必须指定必要的参数,否则工具会报错“无效的参数个数”并退出。为 dmldrp 指定参数的格式为:
dmldrp keyword=value
例 启动一个端口号为 9898 的 dmldrp。
./dmldrp.exe port=9898
4.1.2 查看 dmldrp 参数
用户可以使用“dmldrp help”查看 dmldrp 版本信息和各参数的简单信息。
./dmldrp help
dmldrp V8
version: 03134284585-20260210-314028-20151
书写格式: ./dmldrp KEYWORD=<value>
使用示例: ./dmldrp
---------------------------------------------------------------------
关键词(KEYWORD) 说明 缺省值 是否必选项
---------------------------------------------------------------------
PORT 端口号 8336 否
HELP 打印帮助信息 无 否
---------------------------------------------------------------------
4.1.3dmldrp 参数简介
dmldrp 只有两个参数:端口号和 HELP。
●PORT
dmldrp 的端口号,用于 dmldrp 和 dmldrc 之间的通信连接。取值范围为 1024~65534。可选配置,不配置则使用默认的端口 8336。
● HELP
获取帮助信息。
4.2 dmldrc
本章简单介绍如何启动轻量级快速装载工具客户端 dmldrc 及其支持的参数。通过阅读本章,读者可以了解 dmldrc 通过各参数能提供的各项功能。
4.2.1 启动 dmldrc
安装好 DM 数据库管理系统后,在安装目录“bin”子目录下可找到 dmldrc 执行文件。
启动操作系统的命令行窗口,进入 dmldrc 所在目录,可以准备启动 dmldrc 工具了。
dmldrc 的使用必须指定必要的参数,否则工具会报错“无效的参数个数”并退出。为 dmldrc 指定参数的格式为:
dmldrc keyword=value [keyword=value ...]
例 dmldrc 连接一个端口号为 9898 的 dmldrp。
./dmldrc userid=SYSDBA/Dmsys_123@localhost:5236 localhost:9898 control=\'/opt/data/test.ctl\'
4.2.2 查看 dmldrc 参数
dmldrc 使用较为灵活,参数较多,用户可以使用“dmldrc help”查看 dmldrc 版本信息和各参数的简单信息。
./dmldrc help
dmldrc V8
version: 03134284585-20260210-314028-20151
书写格式: ./dmldrc KEYWORD=<value> {KEYWORD=<value>}
其中{}表示大括号内的关键词可为0~N个,N为正整数,{}本身无需出现在语句中
使用示例: ./dmldrc SYSDBA/SYSDBA 192.168.0.1:8336
USERID 必须是命令行中的第一个参数
SERVER 必须是命令行中的第二个参数
字符串类型参数必须以引号封闭
------------------------------------------------------------------------------------------------------------
关键词(KEYWORD) 说明 缺省值 是否必选项
------------------------------------------------------------------------------------------------------------
USERID 用户名/口令 无 是
格式: {<username>[/<password>] | /}[@<connect_identifier>][<option>] [<os_auth>] 参数: <connect_identifier> :: = [<svc_name> | host[:port] | <unixsocket_file>] <option> ::= #{<extend_option>=<value>[,<extend_option>=<value>]...} <os_auth> ::= AS { SYSDBA | SYSSSO | SYSAUDITOR | USERS | AUTO } 示例: SYSDBA/SYSDBA@192.168.1.64:5236 注意: option参数的{}是为了封装参数之用,书写时需要保留
SERVER dmldrp的IP地址和端口号。不需要指定参数名,直接指定host[:port] 无 是
CONTROL 控制文件,字符串类型 无 否
LOG 日志文件,字符串类型 fldr.log 否
BADFILE 错误数据记录文件,字符串类型 fldr.bad 否
SKIP 初始忽略逻辑行数 0 否
LOAD 需要装载的行数 ALL 否
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表示载出,OUTORA表示载出ORACLE IN 否
CLIENT_LOB 大字段目录是否在本地 FALSE 否
LOB_DIRECTORY 大字段数据文件存放目录 无 否
LOB_FILE_NAME 大字段数据文件名称,仅导出有效 dmfldr.lob 否
BUFFER_NODE_SIZE 读入文件缓冲区的大小,有效值范围1~2048 10MB 否
LOG_SIZE 日志信息缓冲区的大小,有效值范围1~100 1MB 否
READ_ROWS 工作线程一次最大处理的行数,最大支持2^26-10000 100000 否
NULL_MODE 载入时NULL字符串是否处理为NULL,载出时空值是否处理为NULL字符串 FALSE 否
NULL_STR 载入时视为NULL值处理的字符串 无 否
SEND_NODE_NUMBER 运行时发送节点的个数,有效值范围16~65535 20 否
TASK_THREAD_NUMBER 处理用户数据的线程数目,默认与处理器核数量相同,有效值范围1~128 处理器核数量 否
BLDR_NUM 服务器BLDR数目,有效值范围1~1024 64 否
BDTA_SIZE bdta的大小,有效值范围100~10000 5000 否
COMPRESS_FLAG 是否压缩bdta FALSE 否
MPP_CLIENT MPP环境,是否本地分发 TRUE 否
SINGLE_FILE MPP/DPC环境,是否只生成单个数据文件 FALSE 否
LAN_MODE MPP/DPC环境,是否以内网模式装载数据 FALSE 否
UNREP_CHAR_MODE 非法字符处理选项,为0时表示跳过该数据行,为1时表示使用(*)替换错误字节 0 否
SILENT 是否静默方式装载数据 FALSE 否
OCI_DIRECTORY OCI动态库所在的目录 无 否
DATA 指定数据文件路径 无 否
ENABLE_CLASS_TYPE 允许用户导入CLASS类型数据 FALSE 否
FLUSH_FLAG 提交时是否立即刷盘 FALSE 否
SINGLE_HLDR_HP 是否使用单个HLDR装载HUGE水平分区表 TRUE 否
EP 指定需要发送数据的站点序号列表,仅向MPP/DPC环境导入数据时有效 无 否
PARALLEL 是否开启并行装载 FALSE 否
SQL 使用自定义查询语句,仅导出模式有效 无 否
TABLE 导入/出表 无 否
ROW_SEPERATOR 行分隔符 无 否
FIELD_SEPERATOR 列分隔符 无 否
COMMIT_OPTION 提交选项, 0:每发送一批数据后提交, 1:发送完所有数据后提交 0 否
APPEND_OPTION 追加选项, 0: 追加方式, 1: 替代方式, 2: 插入方式 0 否
COLNAME_HEADING 是否在导出文件头中打印列名 FALSE 否
IGNORE_AIMLESS_DATA 是否忽略无目标数据 FALSE 否
LOB_AS_VARCHAR 是否将CLOB作为VARCHAR进行导入导出 FALSE 否
LOB_AS_VARCHAR_SIZE 将CLOB作为VARCHAR进行导入导出时, lob数据最大大小 10MB 否
LOG_LEVEL 记录错误数据信息级别, 0: 不记录 1: 只记录到log文件 2: 只记录到bad文件 3: 记录到log和bad文件 3 否
FLDR_INI 配置文件路径,字符串类型 无 否
RECONN 自动重连次数 0 否
RECONN_TIME 自动重连等待时间, 单位(s), 有效值范围(1~10000) 5 否
PLOG ldrp日志文件,字符串类型 ldrp.log 否
COMPATIBLE_MODE 兼容模式, 0: 不做兼容 1: 兼容DB2 2: 兼容MYSQL 0 否
PRIORITY_ENCLOSE DB2模式下, enclose优先级最高 FALSE 否
NODATA_COL_FLAG 没有数据的列是否需要提供空数据, 0: 不需要, 1: 需要 1 否
HELP 打印帮助信息 无 否
------------------------------------------------------------------------------------------------------------
4.2.3dmldrc 参数简介
由于 dmldrp 和 dmldrc 只支持快速载入功能,因此 dmldrc 的 MODE 参数只支持指定为 IN,其余除 SERVER、RECONN 和 PLOG 参数外,均与 dmfldr 参数用法一致。本节只介绍 SERVER、RECONN 和 PLOG 参数,其它参数用法请参考 2.3dmfldr 参数简介。
● SERVER
用于指定 dmldrp 的 IP 地址和端口号。必选参数,且必须位于参数位置的第二个。
该参数不需要指定参数名 SERVER,直接指定 host[:port]。端口号缺省为 8336,本机 IP 可写做 localhost。
例 在 dmldrc 中指定 IP 和端口号分别为 192.168.1.64 和 9898 的 dmldrp。MODE 缺省为 IN。
./dmldrc userid=SYSDBA/Dmsys_123@localhost:5236 192.168.1.64:9898 control=\'/opt/data/test.ctl\'
● RECONN
指定自动重连次数,范围为 0~2147483647。缺省为 0,表示不进行自动重连。
与 dmfldr 不同的是,dmldrc 不支持断点重连,dmldrc 重连成功后总是重新装载全部数据。重连失败时根据 COMMIT_OPTION 采取相应的处理策略:若 COMMIT_OPTION=0,则未提交数据全部回滚;若 COMMIT_OPTION=1,则所有数据全部回滚。由于 dmldrc 最终重连成功时会重新装载全部数据,因此当 COMMIT_OPTION=0 时,如果发生重连,可能会出现数据重复装载的情况。
● PLOG
用于指定 dmldrp 端生成的日志文件及其路径,字符串类型,缺省为 ldrp.log(生成在 DM 执行码目录同级的 log 目录中)。为可选参数。
dmldrc 中的 LOG 参数为 dmldrc 端的日志配置路径,PLOG 为 dmldrp 端的日志配置路径;BADFILE 为 dmldrp 端的错误日志文件配置路径,dmldrc 端不记录错误日志文件。