达梦数据库-部署及日常工具使用

DM 数据库安装方式

    1、图形化安装

    2、命令行安装

    3、自动化安装

单机部署

    一、操作系统配置检查

        1、内核版本大于2.6

            [root@itsdata ~]# uname -r

            3.10.0-1160.el7.x86_64

            [root@itsdata ~]#

        2、glibc2.3以上

            [root@itsdata ~]# rpm -q glibc

            glibc-2.17-317.el7.x86_64

            [root@itsdata ~]#

        3、安装unixODBC

            [root@itsdata ~]# yum -y install unixODBC unixODBC-devel

        4、/tmp 目录大于1GB

            [root@itsdata ~]# df -HPT

            文件系统       类型      容量  已用  可用 已用% 挂载点

            devtmpfs       devtmpfs  4.2G  4.1k  4.2G    1% /dev

            tmpfs          tmpfs     4.2G     0  4.2G    0% /dev/shm

            tmpfs          tmpfs     4.2G   13M  4.2G    1% /run

            tmpfs          tmpfs     4.2G     0  4.2G    0% /sys/fs/cgroup

            /dev/sda3      xfs        85G   15G   70G   18% /

            /dev/sda1      xfs       521M  170M  352M   33% /boot

            tmpfs          tmpfs     836M   37k  836M    1% /run/user/0

            /dev/sr0       iso9660   4.8G  4.8G     0  100% /mnt/cdrom

            [root@itsdata ~]#

        5、系统资源配置

            [root@itsdata ~]# cat >> /etc/security/limits.conf <<EOF

            dmdba soft core unlimited

            dmdba hard core unlimited

            dmdba soft nofile 65536

            dmdba hard nofile 65536

            dmdba soft nproc  65536

            dmdba hard nproc  65536

            dmdba soft stack  65536

            dmdba hard stack  65536

            EOF

            [root@itsapp1 ~]#

        6、关闭防火墙和SELinux

            [root@itsdata ~]# iptables -L -n

            Chain INPUT (policy ACCEPT)

            target     prot opt source               destination        

            Chain FORWARD (policy ACCEPT)

            target     prot opt source               destination        

            Chain OUTPUT (policy ACCEPT)

            target     prot opt source               destination        

            [root@itsdata ~]# getenforce

            Disabled

            [root@itsdata ~]#

    二、安装数据库软件

        1、专有用户的创建

            [root@itsdata ~]# groupadd -g 5236 dinstall

            [root@itsdata ~]# useradd  -g dinstall -u 5236 -m -d /home/dmdba -s /bin/bash  dmdba

        2、软件目录配置

            [root@itsdata ~]# mkdir /dm8 /dmdata /dmarch /dmbak

            [root@itsdata ~]# chown -R dmdba:dinstall /dm8 /dmdata /dmarch /dmbak

        3、挂载镜像

            [root@itsdata ~]# mkdir /mnt/dm8                                

            [root@itsdata ~]# mount dm8_20220304_x86_rh6_64_ent_8.1.2.114.iso /mnt/dm8/

        4、图形化安装

    三、实例初始化

        [root@itsdata ~]# cd /dm8/tool/

        [root@itsdata tool]# ./dbca.sh

    四、安装后配置

        1、配置PATH环境变量

            [dmdba@itsdata ~]$ vi .bash_profile

            export PATH=$DM_HOME/bin:$DM_HOME/tool:$PATH

            alias disql='rlwrap disql'

            [dmdba@itsdata ~]$ source .bash_profile

        2、开启归档

            alter database mount;

            alter database add archivelog 'dest=/dmarch,TYPE=local,FILE_SIZE=1024,SPACE_LIMIT=102400';

            alter database archivelog;

            alter database open;

命令行方式安装数据库

    [root@itsapp2 ~]# su - dmdba

    上一次登录:二 5月 24 14:46:38 CST 2022pts/1 上

    [dmdba@itsapp2 ~]$ cd /mnt/dm8/

    [dmdba@itsapp2 dm8]$ ./DMInstall.bin -i

    请选择安装语言(C/c:中文 E/e:英文) [C/c]:

    解压安装程序..........

    欢迎使用达梦数据库安装程序

    是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:n

    是否设置时区? (Y/y:是 N/n:否) [Y/y]:y

    设置时区:

    [ 1]: GTM-12=日界线西

    [ 2]: GTM-11=萨摩亚群岛

    [ 3]: GTM-10=夏威夷

    [ 4]: GTM-09=阿拉斯加

    [ 5]: GTM-08=太平洋时间(美国和加拿大)

    [ 6]: GTM-07=亚利桑那

    [ 7]: GTM-06=中部时间(美国和加拿大)

    [ 8]: GTM-05=东部部时间(美国和加拿大)

    [ 9]: GTM-04=大西洋时间(美国和加拿大)

    [10]: GTM-03=巴西利亚

    [11]: GTM-02=中大西洋

    [12]: GTM-01=亚速尔群岛

    [13]: GTM=格林威治标准时间

    [14]: GTM+01=萨拉热窝

    [15]: GTM+02=开罗

    [16]: GTM+03=莫斯科

    [17]: GTM+04=阿布扎比

    [18]: GTM+05=伊斯兰堡

    [19]: GTM+06=达卡

    [20]: GTM+07=曼谷,河内

    [21]: GTM+08=中国标准时间

    [22]: GTM+09=汉城

    [23]: GTM+10=关岛

    [24]: GTM+11=所罗门群岛

    [25]: GTM+12=斐济

    [26]: GTM+13=努库阿勒法

    [27]: GTM+14=基里巴斯

    请选择设置时区 [21]:

    安装类型:

    1 典型安装

    2 服务器

    3 客户端

    4 自定义

    请选择安装类型的数字序号 [1 典型安装]:

    所需空间: 1579M

    请选择安装目录 [/home/dmdba/dmdbms]:/dm8

    可用空间: 31G

    是否确认安装路径(/dm8)? (Y/y:是 N/n:否)  [Y/y]:y

    安装前小结

    安装位置: /dm8

    所需空间: 1579M

    可用空间: 31G

    版本信息:

    有效日期:

    安装类型: 典型安装

    是否确认安装? (Y/y:是 N/n:否):y

    2022-05-24 14:49:11

    [INFO] 安装达梦数据库...

    2022-05-24 14:49:12

    [INFO] 安装 基础 模块...

    2022-05-24 14:49:15

    [INFO] 安装 服务器 模块...

    2022-05-24 14:49:15

    [INFO] 安装 客户端 模块...

    2022-05-24 14:49:17

    [INFO] 安装 驱动 模块...

    2022-05-24 14:49:18

    [INFO] 安装 手册 模块...

    2022-05-24 14:49:18

    [INFO] 安装 服务 模块...

    2022-05-24 14:49:19

    [INFO] 移动日志文件。

    2022-05-24 14:49:19

    [INFO] 安装达梦数据库完成。

    请以root系统用户执行命令:

    /dm8/script/root/root_installer.sh

    安装结束

    [dmdba@itsapp2 dm8]$

    [root@itsapp2 ~]# /dm8/script/root/root_installer.sh

自动化安装方式

    [dmdba@itsapp3 ~]$ vi dm8-install.xml

    <?xml version="1.0"?>

    <DATABASE>

        <LANGUAGE>zh</LANGUAGE>                             <!--安装数据库的语言配置,安装中文版配置 ZH,英文版配置 EN,不区分大小写。不允许为空。-->

        <TIME_ZONE>+08:00</TIME_ZONE>                       <!--安装程序的时区配置,默认值为+08:00,范围:-12:59 ~ +14:00 -->

        <KEY></KEY>                                         <!-- key 文件路径 -->

        <INSTALL_TYPE>0</INSTALL_TYPE>                      <!--安装程序组件类型,取值 0、1、2,0 表示安装全部,1 表示安装服务器,2 表示安装客户端。默认为 0。 -->

        <INSTALL_PATH>/dm8</INSTALL_PATH>                       <!--安装路径,不允许为空。 -->

        <INIT_DB>N</INIT_DB>                                 <!--是否初始化库,取值 Y/N、y/n,不允许为空。 -->

        <DB_PARAMS>                                         <!--数据库实例参数 -->

            <PATH>/dm8</PATH>                                   <!--初始数据库存放的路径,不允许为空 -->

            <DB_NAME>DAMENG</DB_NAME>                       <!--初始化数据库名字,默认是 DAMENG,不超过 128 个字符 -->

            <INSTANCE_NAME>DMSERVER</INSTANCE_NAME>         <!--初始化数据库实例名字,默认是 DMSERVER,不超过 128 个字符 -->

            <PORT_NUM>5236</PORT_NUM>                       <!--初始化时设置 dm.ini 中的 PORT_NUM,默认 5236,取值范围:1024~65534 -->

            <CTL_PATH></CTL_PATH>                           <!--初始数据库控制文件的路径,文件路径长度最大为 256 -->

            <LOG_PATHS>                                     <!--初始化数据库日志文件的路径,文件路径长度最大为 256,LOG_PATH 值为空则使用默认值,如果使用非默认值 LOG_PATH 节点数不能少于 2 个 -->

                <LOG_PATH>

                </LOG_PATH>

            </LOG_PATHS>

            <EXTENT_SIZE>16</EXTENT_SIZE>                   <!--数据文件使用的簇大小,只能是 16 页或 32 页之一,缺省使用 16 页 -->

            <PAGE_SIZE>8</PAGE_SIZE>                        <!--数据文件使用的页大小,缺省使用 8K,只能是 4K、8K、16K 或 32K 之一 -->

            <LOG_SIZE>256</LOG_SIZE>                        <!--日志文件使用的簇大小,默认是 256,取值范围 64 和 2048 之间的整数 -->

            <CASE_SENSITIVE>Y</CASE_SENSITIVE>              <!--标识符大小写敏感,默认值为 Y。只能是’Y’, ’y’, ’N’, ’n’, ’1’, ’0’之一 -->

            <CHARSET>0</CHARSET>                            <!--字符集选项,默认值为 0。0 代表 GB18030,1 代表 UTF-8,2 代表韩文字符集 EUC-KR-->

            <LENGTH_IN_CHAR>0</LENGTH_IN_CHAR>              <!--设置为 1 时,所有 VARCHAR 类型对象的长度以字符为单位,否则以字节为单位。默认值为 0。 -->

            <USE_NEW_HASH>1</USE_NEW_HASH>                  <!--字符类型在计算 HASH 值时所采用的 HASH 算法类别。0:原始 HASH 算法;1:改进的HASH 算法。默认值为 1。 -->

            <SYSDBA_PWD></SYSDBA_PWD>                       <!--初始化时设置 SYSDBA 的密码,默认为 SYSDBA,长度在 9 到 48 个字符之间 -->

            <SYSAUDITOR_PWD></SYSAUDITOR_PWD>               <!--初始化时设置 SYSAUDITOR 的密码,默认为 SYSAUDITOR,长度在 9 到 48 个字符之间 -->

            <SYSSSO_PWD></SYSSSO_PWD>                       <!--初始化时设置 SYSSSO 的密码,默认为 SYSSSO,长度在 9 到 48 个字符之间,仅在安全版本下可见和可设置 -->

            <SYSDBO_PWD></SYSDBO_PWD>                       <!--初始化时设置 SYSDBO 的密码,默认为 SYSDBO,长度在 9 到 48 个字符之间,仅在安全版本下可见和可设置 -->

            <TIME_ZONE>+08:00</TIME_ZONE>                   <!--初始化时区,默认是东八区。格式为:正负号小时:分钟,范围:-12:59 ~ +14:00-->

            <PAGE_CHECK>0</PAGE_CHECK>                      <!--是否启用页面内容校验,0:不启用;1:简单校验;2:严格校验(使用 CRC16 算法生成校验码)。默认 0 -->

            <EXTERNAL_CIPHER_NAME></EXTERNAL_CIPHER_NAME>   <!--设置默认加密算法,不超过 128 个字符 -->

            <EXTERNAL_HASH_NAME></EXTERNAL_HASH_NAME>       <!--设置默认 HASH 算法,不超过 128 个字符 -->

            <EXTERNAL_CRYPTO_NAME></EXTERNAL_CRYPTO_NAME>   <!--设置根密钥加密引擎,不超过 128 个字符 -->

            <ENCRYPT_NAME></ENCRYPT_NAME>                   <!--全库加密密钥使用的算法名。算法可以是 DM 内部支持的加密算法,或者是第三方的加密算法。默认使用"AES256_ECB"算法加密,最长为 128 个字节 -->

            <RLOG_ENC_FLAG>N</RLOG_ENC_FLAG>                <!--指定日志文件是否加密。默认值 N。取值 Y/N,y/n,1/0 -->

            <USBKEY_PIN></USBKEY_PIN>                       <!--用于加密服务器根密钥,最长为 48 个字节 -->

            <BLANK_PAD_MODE>0</BLANK_PAD_MODE>              <!--设置空格填充模式,取值 0 或 1,默认为 0 -->

            <SYSTEM_MIRROR_PATH></SYSTEM_MIRROR_PATH>       <!--指定 system.dbf 文件的镜像路径,默认为空 -->

            <MAIN_MIRROR_PATH></MAIN_MIRROR_PATH>           <!--指定 main.dbf 文件的镜像路径,默认为空 -->

            <ROLL_MIRROR_PATH></ROLL_MIRROR_PATH>           <!--指定 roll.dbf 文件的镜像路径,默认为空 -->

            <PRIV_FLAG>0</PRIV_FLAG>                        <!--是否是四权分立,默认值为 0(不使用)。仅在安全版本下可见和可设置。只能是 0 或 1-->

            <ELOG_PATH></ELOG_PATH>                         <!--指定初始化过程中生成的日志文件所在路径。合法的路径,文件路径长度最大为 257(含结束符),不包括文件名-->

        </DB_PARAMS>

        <CREATE_DB_SERVICE>N</CREATE_DB_SERVICE>            <!--是否创建数据库实例的服务,值 Y/N y/n,不允许为空,不初始化数据库将忽略此节点。非 root 用户不能创建数据库服务。 -->

        <STARTUP_DB_SERVICE>N</STARTUP_DB_SERVICE>          <!--是否启动数据库,值 Y/N y/n,不允许为空,不创建数据库服务将忽略此节点。 -->

    </DATABASE>

    [dmdba@itsapp3 ~]$ cd /mnt/dm8/

    [dmdba@itsapp3 dm8]$ ./DMInstall.bin -q /home/dmdba/dm8-install.xml

    解压安装程序..........

    静默安装配置文件(/home/dmdba/dm8-install.xml)解析错误!

    静默安装配置文件INSTALL_PATH节点不能为空!

    [dmdba@itsapp3 dm8]$ vi /home/dmdba/dm8-install.xml

    [dmdba@itsapp3 dm8]$ ./DMInstall.bin -q /home/dmdba/dm8-install.xml

    解压安装程序..........

    2022-05-24 14:55:43

    [INFO] 安装达梦数据库...

    2022-05-24 14:55:43

    [INFO] 安装 基础 模块...

    2022-05-24 14:55:47

    [INFO] 安装 服务器 模块...

    2022-05-24 14:55:47

    [INFO] 安装 客户端 模块...

    2022-05-24 14:55:49

    [INFO] 安装 驱动 模块...

    2022-05-24 14:55:50

    [INFO] 安装 手册 模块...

    2022-05-24 14:55:50

    [INFO] 安装 服务 模块...

    2022-05-24 14:55:51

    [INFO] 移动日志文件。

    2022-05-24 14:55:52

    [INFO] 安装达梦数据库完成。

    请以root系统用户执行命令:

    /dm8/script/root/root_installer.sh

    [dmdba@itsapp3 dm8]$

初始化数据库实例

    1、图形化方式

        单机安装时已经使用图形化方式了, 这里就不赘述

    2、dminit

        [dmdba@itsapp2 bin]$ ./dminit path=/home/dmdba/dmdbms/data db_name=itsdata

        initdb V8

        db version: 0x7000c

        file dm.key not found, use default license!

        License will expire on 2023-03-04

        Normal of FAST

        Normal of DEFAULT

        Normal of RECYCLE

        Normal of KEEP

        Normal of ROLL

         log file path: /home/dmdba/dmdbms/data/itsdata/itsdata01.log

         log file path: /home/dmdba/dmdbms/data/itsdata/itsdata02.log

        write to dir [/home/dmdba/dmdbms/data/itsdata].

        create dm database success. 2022-05-24 15:00:10

        [dmdba@itsapp2 bin]$

    dminit 常用参数

        PATH            指定数据文件存放目录

        INI_FILE        指定配置文件存放位置, 默认在指定的PATH目录下

        EXTENT_SIZE     指定一个区使用多少个页

        PAGE_SIZE       指定一个页的大小

        LOG_SIZE        指定redo_log的大小

        CASE_SENSITIVE  大小写是否敏感

        CHARSET         指定字符集: 0[GB18030], 1[UTF-8], 2[EUC-KR]

        LENGTH_IN_CHAR  字符串类型的字段, 例如: VARCHAR(1) 括号中表示的意义, 默认DM表示字节格式 , 该参数为1则表示字符个数

        SYSDBA_PWD      指定SYSDBA密码, 默认: (SYSDBA)

        DB_NAME         指定数据库名,   默认: (DAMENG)

        INSTANCE_NAME   指定实例名,     默认: (DMSERVER)

        PORT_NUM        指定监听端口号, 默认: (5236)

        HELP            显示帮助信息

        [dmdba@itsapp2 bin]$ ./dminit PATH=/dmdata/ INI_FILE=/dmdata/dm1 DB_NAME=dm1 INSTANCE_NAME=dm1 PORT_NUM=5237

    /* 使用dminit方式创建的数据库, 必须使用前台的方式启动一次之后关闭数据库, 才可以使用后台方式启动 */

    /* 使用dminit方式初始化数据库, 不会自动注册服务, 需要手动注册 */

DM 服务注册

    1、使用dbca进行注册

    2、dm_service_installer.sh 注册

        [root@itsapp2 ~]# cd /dm8/script/root/

        [root@itsapp2 root]# ./dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/dmdbms/data/itsdata/dm.ini -p itsdata

        Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceitsdata.service to /usr/lib/systemd/system/DmServiceitsdata.service.

        创建服务(DmServiceitsdata)完成

        [root@itsapp2 root]#

    dm_service_installer.sh 参数说明

        -t service_type 注册服务类型,支持一下服务类型:dmap、 dmamon、dmserver 、dmwatcher、dmmonitor 、dmasmsvr 、dmcss 、dmcssm、dmdrs、dmdras、dmdcs、dmdss

        -p xxx          指定服务名后缀,生成的操作系统服务名为“服务脚本模板名称+服务名后缀”。此参数只针对5~14服务脚本生效

        -dm_ini         指定dm.ini文件路径

    [root@itsapp2 root]# ls -1 /dm8/script/root/

    dm_service_installer.sh     卸载服务

    dm_service_uninstaller.sh   注册服务

    root_installer.sh           DMAP服务, 该服务一般用于数据库备份

    [root@itsapp2 root]#

数据库目录结构

    bin         可执行文件目录

    desktop     DM 数据库各个工具的桌面图标

    doc         数据库手册

    drivers     DM 数据库驱动文件

    log         存放 DM 数据库日志,包括工具的日志、数据库日志、服务日志等。

    samples     存放 DM 数据库各类配置文件的示例文件

    script      存放注册、注销 DM 数据库服务的工具,例如 dm_service_installer.sh 等。

    tool        存放 DM 数据库的各个工具,例如 manager 管理工具、dbca 数据库配置助手等。

    uninstall   目录存放卸载 DM 数据库的脚本。

    web         目录存放 DM 数据库 dem 工具的 web 环境。

    data        为数据库实例目录,该目录存放各个实例的文件。

DM 启动和关闭

    1、系统服务方式

        [root@itsapp1 ~]# systemctl status DmServiceitsdata.service

        ● DmServiceitsdata.service - DM Instance Service

           Loaded: loaded (/usr/lib/systemd/system/DmServiceitsdata.service; enabled; vendor preset: disabled)

           Active: active (running) since 二 2022-05-24 14:41:46 CST; 51min ago

          Process: 61944 ExecStart=/dm8/bin/DmServiceitsdata start (code=exited, status=0/SUCCESS)

         Main PID: 61968 (dmserver)

           CGroup: /system.slice/DmServiceitsdata.service

                   └─61968 /dm8/bin/dmserver path=/dmdata/itsdata/dm.ini -noconsole

        5月 24 14:41:31 itsapp1 systemd[1]: Starting DM Instance Service...

        5月 24 14:41:46 itsapp1 DmServiceitsdata[61944]: [38B blob data]

        5月 24 14:41:46 itsapp1 systemd[1]: Started DM Instance Service.

        [root@itsapp1 ~]# systemctl stop DmServiceitsdata.service

    2、命令行方式

        [root@itsapp1 bin]# ./dmserver /dmdata/itsdata/dm.ini   前台启动方式

        [root@itsapp1 bin]# ./dmserver /dmdata/itsdata/dm.ini -noconsole

    3、使用系统服务方式

        [root@itsapp1 ~]# cd /dm8/tool/

        [root@itsapp1 tool]# ./dmservice.sh

DM 数据库安装细节

    1、root_installer.sh 启动DMAP服务

    2、在用户家目录下配置两个环境变量 LD_LIBRARY_PATH 和 DM_HOME

DM 图形化工具介绍

    工具路径

        $DM_HOME/console    控制台工具, 可以修改系统参数, 查看系统信息

        $DM_HOME/dts        数据迁移工具

        $DM_HOME/manager    数据管理工具, 可以执行SQL, 对数据库进行日常管理

        $DM_HOME/monitor    监控工具, 监控数据库性能

disql 使用

    连接默认实例

        [dmdba@itsdata bin]$ ./disql

        [dmdba@itsdata bin]$ ./disql SYSDBA/fangyu421       /* ./disql 用户名/密码 */

        服务器[LOCALHOST:5236]:处于普通打开状态

        登录使用时间 : 1.955(ms)

        disql V8

        SQL>

    使用ip+port连接

        [dmdba@itsdata bin]$ ./disql SYSDBA/fangyu421@100.63.1.7:5236

    使用service_name连接

        [dmdba@itsdata dmdbms]$ vi /etc/dm_svc.conf

        TIME_ZONE=(480)

        LANGUAGE=(cn)

        DAMENG=(100.63.1.7:5236)    /* 配置服务名和地址  服务名可以随便写 */

    disql 执行脚本

        SQL> `xxxx.sql

        SQL> start xxxx.sql

        [dmdba@itsdata bin]$ ./disql SYSDBA/fangyu421@100.63.1.7:5236 \`xxxx.sql    /* ` 需要使用\ 进行转义 */

    disql 执行系统命令

        SQL> host ls /

        bin  boot  dev    etc  home  lib   lib64  media  mnt  opt   proc  root  run  sbin  srv  sys  tmp  usr  var

    disql 常用参数

        SET ECHO OFF;                           --显示脚本中正在执行的 SQL 语句

        SET FEEDBACK OFF;                       --显示当前 SQL 语句查询或修改的行数

        SET HEADING ON;                         --显示列标题

        SET LINESHOW OFF;                       --显示行号

        SET PAGESIZE 1000;                      --设置一页有多少行数

        SET TIMING OFF;                         --显示每个 SQL 语句花费的执行时间

        SET TIME OFF;                           --显示系统的当前时间

        SET LINESIZE 1000;                      --设置屏幕上一行显示宽度

        SET SERVEROUTPUT ON;                    --在块中有打印信息时,是否打印,以及打印的格式

        SET CHAR_CODE DEFAULT;                  --设置 SQL 语句的编码方式 GBK | GB18030 | UTF8 | DEFAULT

        SET COLSEP '|';                         --设置 DPI 语句句柄中游标的类型

        SET KEEPDATA ON;                        --是否为数据对齐进行优化,或者保持数据的原始格式。

        SET TRIMSPOOL ON;                       --设置 spool 文件中每行的结尾空格

        SPOOL /home/dmdba/dbchk20200609.txt;    --输出到文件

        SPOOL OFF;                              --结束输出文件

dmfldr

    主要用于数据的导入和导出

    dmfldr 使用

        dmfldr   KEYWORD=value

            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表示载出,

                                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                 使用自定义查询语句,仅导出模式有效

            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文件

            HELP                打印帮助信息

    dmfldr 控制文件

        示例

            1、准备表

                CREATE TABLE test(C1 INT,C2 INT,C3 DATE);

            2、数据文件

                [dmdba@itsdata dmfldr]$ cat /tmp/1.t

                1 1|2015-11-06

                2 2|2015-11-05

                3 3|2015-11_04

            3、控制文件

                [dmdba@itsdata dmfldr]$ cat /tmp/1.ctl

                LOAD DATA INFILE '/tmp/1.t'     加载的数据文件

                INTO TABLE test                 导入那个表中

                FIELDS '|'                      指定默认的字段分隔符

                (

                C1 TERMINATED BY ' ',           第一个字段的分隔符是空格

                C2,                             第二个字段的分隔符继承FIELDS的定义

                C3 DATE FORMAT 'yyyy-mm-dd'

                )

            4、导入数据

                [dmdba@itsdata dmfldr]$ dmfldr userid=SYSDBA/fangyu421 control='/tmp/1.ctl' /* 单引号需要使用 \ 转移 否则报错, 我这里为了排版所以删除了 */

        数据文件加载顺序

            1、控制文件中指定了数据文件则加载数据文件中的数据文件

            2、控制文件没有指定数据文件使用了 '*' 号, 则使用dmfldr的DATA参数指定的数据文件

    大对象的导出

        LOB_DIRECTORY   指定大对象导出的目录

        示例

            [dmdba@itsdata dmfldr]$ cat out1.ctl

            LOAD DATA INFILE '/dm8/dmfldr/test.txt'

            INTO TABLE test

            FIELDS '|'

            (

            C1,

            C2,

            C3

            )

            [dmdba@itsdata dmfldr]$

            [dmdba@itsdata dmfldr]$ dmfldr userid=SYSDBA/fangyu421 control='/dm8/dmfldr/out1.ctl' LOB_DIRECTORY='/dm8/dmfldr/' mode='out'

            dmfldr V8

            2 rows is load out

            export success.

            2 行数据已导出

            用时:27.827(ms)

            [dmdba@itsdata dmfldr]$ ls

            1.ctl  1.t  2.ctl  2.t  dmfldr.lob  fldr.log  out1.ctl  test.txt

            [dmdba@itsdata dmfldr]$ cat test.txt

            1|dmfldr.lob:0:5|dmfldr.lob:5:7

            2|dmfldr.lob:12:5|dmfldr.lob:17:7

            [dmdba@itsdata dmfldr]$ file dmfldr.lob

            dmfldr.lob: data

            [dmdba@itsdata dmfldr]$

        大对象导入

            LOAD DATA INFILE '/dm8/dmfldr/test.txt'

            INTO TABLE test

            FIELDS '|'

            (

            C1,

            C2,

            C3

            )

            dmfldr userid=SYSDBA/fangyu421 control='/dm8/dmfldr/in1.ctl' LOB_DIRECTORY='/dm8/dmfldr/'

    自增列的导入

        SET_IDENTITY = TRUE,  从数据文件中读取自增列的值进行插入

        SET_IDENTITY = FALSE, 不使用数据文件中自增列的值, 而是插入时服务器根据表定义自动分配

            dmfldr userid=SYSDBA/fangyu421 control='/opt/data/test.ctl' direct=true set_identity=false

    空值处理

        NULL_MODE = TRUE    导入时NULL字符串处理为NULL

        NULL_MODE = FALSE   导入时NULL字符串处理为空字符串

            dmfldr userid=SYSDBA/fangyu421 control='/opt/data/test.ctl' null_mode=true

    条件判断

        WHEN col_name != '2'   

更多详情请访问达梦在线服务平台 https://eco.dameng.com/
 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值