达梦数据库导入导出工具dmfldr

达梦数据库导入导出工具dmfldr

基础信息
OS版本:
Red Hat Enterprise Linux Server release 7.9 (Maipo)
DB版本:
DM Database Server 64 V8
DB Version: 0x7000c
03134284132-20240115-215128-20081

1 dmfldr工具介绍

dmfldr(DM Fast Loader)是 DM 提供的快速数据装载命令行工具。 用户通过使用dmfldr 工具能够把按照一定格式排序的文本数据以简单、快速、高效的方式载入到 DM 数据库中,或把 DM 数据库中的数据按照一定格式写入文本文件。其中,表及表的同义词支持数据导入和导出,视图及视图的同义词仅支持数据导出。

dmfldr 工具的主要功能包括:

  • 数据导出:可以按照用户指定的条件导出数据库中的数据,支持导出到不同格式的文件中,例如文本文件或CSV文件等。
  • 数据导入:可以将文件中的数据导入到达梦数据库中,支持从上述提到的文本文件或CSV文件导入数据。

dmfldr 的系统结构如图:
在这里插入图片描述

2 dmfldr 入门

2.1 启动 dmfldr

安装好 DM 数据库管理系统后,在安装目录的“bin”子目录下可找到dmfldr 执行文件。dmfldr 的使用必须指定必要的参数,否则工具会报错“无效的参数个数”并退出。为dmfldr 指定参数的格式为:

dmfldr keyword=value [keyword=value ...]
例如:
dmfldr USERID=SYSDBA/SYSDBA CONTROL='c:\fldr.ctl'

如例子所示, USERID 和 CONTROL 是启动 dmfldr 必须要指定的参数, 且 USERID 必须是第一个参数, CONTROL 必须是第二个参数。除了在启动命令行中直接指定 dmfldr 参数值外,用户还可以通过设置控制文件中的OPTIONS 选项来指定 dmfldr 参数值,也可以在 dmfldr.ini 配置文件中指定 dmfldr参数值。

注意:
参数值的优先选择顺序为先控制文件中的OPTIONS选项,其次命令行中指定的参数值,最后dmfldr.ini配置文件中指定的参数值。

2.2 查看 dmfldr 参数

可以使用“dmfldr help”查看 dmfldr 版本信息和各参数的简单信息。

[dmdba@test ~]$ cd /dm8/bin
[dmdba@test bin]$ dmfldr help
version: 03134284132-20240115-215128-20081 Pack2
格式: ./dmfldr   KEYWORD=value例程: ./dmfldr   SYSDBA/SYSDBA CONTROL='/opt/data/fldr.ctl'USERID 必须是命令行中的第一个参数
字符串类型参数必须以引号封闭关键字              说明(默认值)
--------------------------------------------------------------------------------
USERID              用户名/口令, 格式:{<username>[/<password>] | /}[@<connect_identifier>][<option>] [<os_auth>]<connect_identifier> : [<svc_name> | host[:port] | <unixsocket_file>]<option> : #{<exetend_option>=<value>[,<extend_option>=<value>]...}--此行外层{}是为了封装参数之用,书写时需要保留<os_auth> : AS {SYSDBA|SYSSSO|SYSAUDITOR|USERS|AUTO}
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表示载出,OUTORA表示载出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/DPC环境,是否只生成单个数据文件(FALSE)
LAN_MODE            MPP/DPC环境,是否以内网模式装载数据(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/DPC环境导入数据时有效
PARALLEL            是否开启并行装载(FALSE)
SQL                 使用自定义查询语句,仅导出模式有效
SQLFILE             自定义查询语句所在文件,仅导出模式有效
TABLE               导入/出表
ROW_SEPERATOR       行分隔符
FIELD_SEPERATOR     列分隔符
COMMIT_OPTION       提交选项(0), 0:每发送一批数据后提交, 1:发送完所有数据后提交
APPEND_OPTION       追加选项(0), 0: 追加方式, 1: 替代方式, 2: 插入方式
COLNAME_HEADING     是否在导出文件头中打印列名(FALSE)
IGNORE_AIMLESS_DATA 是否忽略无目标数据(FALSE)
LOB_AS_VARCHAR      是否将CLOB作为VARCHAR进行导入导出(FALSE)
LOB_AS_VARCHAR_SIZE 将CLOB作为VARCHAR进行导入导出时, lob数据最大大小(10)MB
LOG_LEVEL           记录错误数据信息级别(3), 0: 不记录 1: 只记录到log文件 2: 只记录到bad文件 3: 记录到log和bad文件 4: 错误仅输出到屏幕
FLDR_INI            配置文件路径,字符串类型
RECONN              自动重连次数(0)
RECONN_TIME         自动重连等待时间(5), 单位(s), 有效值范围(1~10000)
WIDTH               设置列数据宽度
SEDF                被替换的字符列表
SEDT                用于替换的字符列表
ESCAPE              转义符
DB2_MODE            兼容DB2模式
PRIORITY_ENCLOSE    DB2模式下, enclose优先级最高
HELP                打印帮助信息

2.3 dmfldr导入测试

当 dmfldr 工作在 IN 模式时,从数据文件中读取数据并载入数据库。

2.3.1 建表 TEST

在test用户下创建表test。

[dmdba@test ~]$ disql test/Dameng123服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 6.286(ms)
disql V8
SQL> select user();行号     USER()
---------- ------
1          TEST已用时间: 0.243(毫秒). 执行号:1001.
SQL> CREATE TABLE TEST(C1 INT,C2 INT,C3 DATE);
操作已执行
已用时间: 36.704(毫秒). 执行号:1002.
2.3.2 编辑数据文件 test.txt

编辑数据文件 test.txt,存放路径为/tmp/test.txt

vi /tmp/test.txt
1 1|2015-11-06
2 2|2015-11-05
3 3|2015-11_04
2.3.3 编辑控制文件 test.ctl

编辑控制文件 test.ctl,存放路径为/tmp/test.ctl

vi /tmp/test.ctlLOAD DATA
INFILE '/tmp/test.txt'
INTO TABLE test
FIELDS '|'
(
C1 TERMINATED BY ' ',
C2,
C3 DATE FORMAT 'yyyy-mm-dd'
)
2.3.4 使用 dmfldr 进行导入
[dmdba@test bin]$ pwd
/dm8/bin
[dmdba@test bin]$ ./dmfldr userid=test/Dameng123@localhost:5236 control=\'/tmp/test.ctl\'
dmfldr V8
控制文件:加载行数:全部每次提交服务器行数:50000跳过行数:0允许错误数:100是否直接加载:Yes是否插入自增列:No数据是否已按照聚集索引排序:No字符集:UTF-8数据文件共1个:
/tmp/test.txt错误文件:fldr.bad目标表:TEST列名                                                                                                                           包装数据类型   终止
C1                                                                                                                               CHARACTER            WHT
C2                                                                                                                               CHARACTER            |
C3                                                                                                                               yyyy-mm-dd           |行缓冲区数量: 4
任务线程数量: 43行记录已提交目标表:TEST
load success.
3 行加载成功。
0 行由于数据错误没有加载。
0 行由于数据格式错误被丢弃。跳过的逻辑记录总数:0
读取的逻辑记录总数:3
拒绝的逻辑记录总数:08.671(ms)已使用
2.3.5 数据确认
[dmdba@test ~]$ disql test/Dameng123服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 2.621(ms)
disql V8
SQL> select user();行号     USER()
---------- ------
1          TEST已用时间: 0.223(毫秒). 执行号:1201.
SQL> select * from test;行号     C1          C2          C3        
---------- ----------- ----------- ----------
1          1           1           2015-11-06
2          2           2           2015-11-05
3          3           3           2015-11-04已用时间: 3.420(毫秒). 执行号:1202.

2.4 dmfldr导出测试

当工作在 OUT模式时,从数据库中将指定数据导出到数据文件。

2.4.1 编辑控制文件 test.ctl

编辑控制文件 test_out.ctl,存放路径为/tmp/test_out.ctl

vi /tmp/test_out.ctlLOAD DATA
INFILE '/tmp/test_out.txt'
INTO TABLE test
FIELDS '@@'
(
C1,
C2,
C3
)
2.4.2 使用 dmfldr 进行导出数据
[dmdba@test bin]$ pwd
/dm8/bin
[dmdba@test bin]$ ./dmfldr userid=test/Dameng123@localhost:5236 control=\'/tmp/test_out.ctl\' mode=\'out\'
dmfldr V8
3 rows is load out
export success.
3 行数据已导出
用时:20.397(ms)
2.4.3 数据确认
[dmdba@test bin]$ cat /tmp/test_out.txt
1@@1@@2015-11-06
2@@2@@2015-11-05
3@@3@@2015-11-04

更多内容请查看官方文档《DM8_dmfldr使用手册

谨记:心存敬畏,行有所止。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/814627.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大厂Java笔试题之统计兔子出生问题

题目&#xff1a;有一种兔子&#xff0c;从出生后第3个月起每个月都生一只兔子&#xff0c;小兔子长到第三个月后每个月又生一只兔子。 例子&#xff1a;假设一只兔子第3个月出生&#xff0c;那么它第5个月开始会每个月生一只兔子。 一月的时候有一只兔子&#xff0c;假如兔子…

ip addr和ifconfig区别

ip addr和ifconfig都是用于配置和管理网络接口的工具 1. ifconfig ifconfig是较旧的网络配置工具&#xff0c;属于net-tools套件的一部分。 该命令主要用于配置、显示和控制网络接口的参数&#xff0c;如IP地址、子网掩码、广播地址等。 ifconfig命令的功能相对有限&#xff…

设计模式之责任链讲解

责任链模式适用于需要将请求和处理解耦的场景&#xff0c;同时又需要动态地组织处理逻辑的场景。 通过使用责任链模式&#xff0c;可以实现请求的动态处理、灵活的扩展和简化的代码编写&#xff0c;提高系统的可维护性和可扩展性。 一、责任链入门 以下这是GPT生成的责任链代…

(三)PostgreSQL的pg_ctl命令

PostgreSQL的pg_ctl命令 pg_ctl 是 PostgreSQL 用于控制数据库服务器进程的命令行工具。它提供了启动、停止、重启数据库服务器以及管理其运行状态的手段。pg_ctl 命令尤其适用于从命令行或脚本中管理 PostgreSQL 服务&#xff0c;而不是通过操作系统的服务控制管理器。 基础…

css 太极图案例带来的收获

基础知识 渐变&#xff1a;gradient 在两个或者多个颜色之间显示平稳过度。由浏览器生成。 线性渐变&#xff1a;line-gradient(过渡方向&#xff0c;初始颜色&#xff0c;结束颜色)。注意过渡方向默认从上到下。 1、支持多颜色渐变&#xff0c;多个值&#xff0c;就是从多个…

Springboot整合物联网IOT的MQTT协议

准备工作 (下载EMQX服务端&#xff0c;相关客户端工具) 1. 服务端工具&#xff1a; https://www.emqx.io/downloads?osWindows 2. 客户端工具&#xff1a; https://mqttx.app/zh#download <!--web依赖--><dependency><groupId>org.springframework.boot…

UnityShader学习计划

1.安装ShaderlabVS,vs的语法提示 2. 常规颜色是fixed 3.FrameDebugger调试查看draw的某一帧的全部信息&#xff0c;能看到变量参数的值

架构设计-权限系统之权限系统设计

系统设计权限系统 权限管控可以通俗的理解为权力限制&#xff0c;即不同的人由于拥有不同权力&#xff0c;他所看到的、能使用的可能不一样。对应到一个应用系统&#xff0c;其实就是一个用户可能拥有不同的数据权限&#xff08;看到的&#xff09;和操作权限&#xff08;使用…

前 5 名 iPhone 数据恢复软件评测

如今&#xff0c;我们似乎将整个生活都放在手机和移动设备上。他们用许多照片、备忘录、日历日期等记录了我们的生活&#xff0c;我们总是假设这些信息在我们需要时随时可以访问。但是&#xff0c;有许多情况会导致iPhone上的数据丢失&#xff0c;例如iPhone被盗&#xff0c;损…

JVM垃圾回收(GC)

目录 目录 1.GC 简介 1.1. 引言 1.2. 何为 GC 1.2.1. 手动 GC 1.2.2. 自动 GC 引用计数法 标记清除 2.GC入门分析 2.1.碎片整理 1)对象创建时&#xff0c;执行写入操作越来越耗时 2&#xff09;内存分配错误 2.2. 分代设想 2.3. 对象分配 对象内存分配过程 2.4. …

数据中心可视化平台:有效提升运维效率与管理水平

随着企业信息化建设的不断深入&#xff0c;数据中心作为支撑企业核心业务的重要基石&#xff0c;其运维管理的复杂性和挑战性也日益凸显。为了提升数据中心机房的管理水平和效率&#xff0c;实现精细化、专业化、规范化和自动化管理&#xff0c;构建数据中心可视化平台成为了一…

【鸿蒙开发】第二十章 Camera相机服务

1 简介 开发者通过调用Camera Kit(相机服务)提供的接口可以开发相机应用&#xff0c;应用通过访问和操作相机硬件&#xff0c;实现基础操作&#xff0c;如预览、拍照和录像&#xff1b;还可以通过接口组合完成更多操作&#xff0c;如控制闪光灯和曝光时间、对焦或调焦等。 2 …

RHCSA 模拟题(4)

请查阅1&#xff1a;RHCSA 模拟题-CSDN博客 请查阅2&#xff1a;RHCSA 模拟题&#xff08;2&#xff09;-CSDN博客 请查阅3&#xff1a;RHCSA 模拟题&#xff08;3&#xff09;-CSDN博客 在node2.example.com上执行以下任务 一、设置root密码 1、重启系统 2、将光标移动到…

《青少年成长管理2024》050 “成长目标:寻找世界的入口”1/2

《青少年成长管理2024》050 “成长目标&#xff1a;寻找世界的入口”1/2 一、蛋壳理论二、正向认知三、逆向认知。四、双向认知。 本节摘要&#xff1a;青少年在建立成长目标之前&#xff0c;需要具备一定的前提&#xff0c;就像寻找一个宝藏&#xff0c;要先找到一个入口&…

dijkstra + dp,PTA 天梯赛练习集L2-001 紧急救援

一、题目 1、题目描述 作为一个城市的应急救援队伍的负责人&#xff0c;你有一张特殊的全国地图。在地图上显示有多个分散的城市和一些连接城市的快速道路。每个城市的救援队数量和每一条连接两个城市的快速道路长度都标在地图上。当其他城市有紧急求助电话给你的时候&#xf…

5.8 mybatis之EnumTypeHandler详细使用

文章目录 1. 把java中枚举数据插入到数据库中2. 把数据库中值查询到java对象中 在 Java 中&#xff0c;枚举类型是一种特殊的类&#xff0c;当我们在数据库和 Java 对象之间进行映射时&#xff0c;通常需要将数据库中的某个字段&#xff08;如字符串或数字&#xff09;映射到 J…

7天八股速记之C++后端——Day 4

坚持7天&#xff0c;短期内快速完成C后端面试突击。每天10题&#xff0c;弥补后端八股知识缺漏&#xff0c;熟练掌握后端的高频考点&#xff0c;后端面试更有把握。 1. 一条 SQL 语句在数据库框架中的执行流程&#xff1f; 连接数据库&#xff1a; 客户端应用程序通过数据库连…

Github远程仓库改名字之后,本地git如何配置?

文章目录 缘由解决方案 缘由 今天在github创建一个仓库&#xff0c;备份一下本地电脑上的资料。起初随便起一个仓库名字&#xff0c;后来修改之。既然远程仓库改名&#xff0c;那么本地仓库需要更新地址。这里采用SSH格式。 解决方案 如果你的GitHub仓库改名了&#xff0c;你…

Python基于大数据的微博的舆论情感分析,微博评论情感分析可视化系统,附源码

博主介绍&#xff1a;✌Java徐师兄、7年大厂程序员经历。全网粉丝13w、csdn博客专家、掘金/华为云等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3fb; 不…

练习题(2024/4/13)

1长度最小的子数组 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 连续 子数组 [numsl, numsl1, ..., numsr-1, numsr] &#xff0c;并返回其长度。如果不存在符合条件的子数组&#xff0c;返回 0 。 示例 1&am…