一 前言

DM 数据库可以在安装 DM 软件时创建,也可以在安装 DM 软件之后,通过数据库配置工具或 dminit 来手工创建数据库,创建数据库时要使用初始化参数。

二 数据库规划

用户创建数据库之前,需要规划数据库,如数据库名、实例名、端口、文件路径、簇大小、页大小、日志文件大小、SYSDBA 和 SYSAUDITOR 等系统用户的密码等,然后可以使用图形化界面或者 dminit 创建数据库。用户可以在安装 DM 数据库软件时创建数据库,也可以在安装之后创建数据库。
在创建数据库之前需要做如下准备工作:

  1. 规划数据库表和索引,并估算它们所需的空间大小;
  2. 确定字符集。所有字符集数据,包括数据字典中的数据,都被存储在数据库字符集中,用户在创建数据库时可以指定数据库字符集,如不指定则使用默认字符集GB18030;
  3. 规划数据库文件的存储路径,可以指定数据库存储路径、控制文件存放路径、日志文件存放路径等,应注意在指定的路径或文件名中尽量不要包含中文字符,否则可能由于数据库与操作系统编码方式不一致导致不可预期的问题;
  4. 配置数据库时区,如中国是+8:00 时区;
  5. 设置数据库簇大小、页大小、日志文件大小,在数据库创建时由 EXTENT_SIZE、PAGE_SIZE、LOG_SIZE 初始化参数来指定,并且在数据库创建完成之后不能修改此参数。
    创建数据库之前,必须满足以下必要条件:
  6. 安装必需的 DM 软件,包括为操作系统设置各种环境变量,并为软件和数据库文件建立目录结构;
  7. 必须有足够的内存来启动 DM 数据库实例;
  8. 在执行 DM 的计算机上要有足够的磁盘存储空间来容纳规划的数据库。

    三 数据库的创建与配置

    本次安装的Linux平台为中标麒麟6.0 :
    [dmdba@dm3 桌面]$ cat /etc/issue
    NeoKylin Linux General Server release 6.0 (Dhaulagiri)

    3.1 使用数据库配置工具创建数据库

    数据库配置工具提供了一个图形化界面来引导用户创建和配置数据库。使用数据库配置工具来创建数据库是用户的首选,因为数据库配置工具更趋于自动化,当使用数据库配置工具安装完成时,数据库也做好了使用准备工作。数据库配置工具可以通过 DM 数据库安装之后作为一个独立的工具来启动。数据库配置工具可以执行以下任务:

  9. 创建数据库;
  10. 改变数据库的配置;
  11. 删除数据库;
  12. 管理模板;
  13. 自动存储管理;
  14. 注册数据库服务。
    dbca.sh工具,在/usr/appsoft/dmdbms/tool 目录下,是一种图形化的界面。
    在数据库配置工具操作窗口中,选择“创建数据库”选项启动能够创建和配置一个数据
    库的向导,如图所示。这个向导引导用户完成以下操作:
  15. 数据库模板;
  16. 数据库目录;
  17. 数据库标识;
  18. 数据库文件;
  19. 初始化参数;
  20. 口令管理;
  21. 创建示例库;
  22. 创建摘要;
  23. 创建数据库。
    [dmdba@dm3 dmdba]# cd /usr/appsoft/dmdbms/tool
    [dmdba@dm3 dmdba]#./dbca.sh
    Linux平台达梦数据库V7数据库的创建与配置_第1张图片

    3.1.1 数据库模板

    Linux平台达梦数据库V7数据库的创建与配置_第2张图片

3.1.2 数据库目录

Linux平台达梦数据库V7数据库的创建与配置_第3张图片

3.1.3 数据库标识

下图中的数据库名与实例名要根据实际情况而定:
Linux平台达梦数据库V7数据库的创建与配置_第4张图片

3.1.4 数据库文件

Linux平台达梦数据库V7数据库的创建与配置_第5张图片

3.1.5 初始化参数

下图中的各个参数要以实际情况进行相应修改:
Linux平台达梦数据库V7数据库的创建与配置_第6张图片

3.1.6 口令管理

Linux平台达梦数据库V7数据库的创建与配置_第7张图片

3.1.7 创建示例库

在测试环境下,为了方便测试选择创建示例库DMHR:
Linux平台达梦数据库V7数据库的创建与配置_第8张图片

3.1.8 创建摘要

Linux平台达梦数据库V7数据库的创建与配置_第9张图片

3.1.9 创建数据库

Linux平台达梦数据库V7数据库的创建与配置_第10张图片
Linux平台达梦数据库V7数据库的创建与配置_第11张图片
如上图所示,在安装即将结束时,也会提示以root用户执行相应脚本:
[root@dm1 dmdba]# /usr/appsoft/dmdbms/script/root/dm_service_installer.sh -s /usr/appsoft/dmdbms/bin/DmServiceIESDB
移动服务脚本文件(/usr/appsoft/dmdbms/bin/DmServiceIESDB 到 /etc/rc.d/init.d/DmServiceIESDB)
创建服务(DmServiceIESDB)完成
[root@dm1 dmdba]#
Linux平台达梦数据库V7数据库的创建与配置_第12张图片
点击完成,即完成实例的初始化,此时我们可以通过disql工具进行连接测试:
[dmdba@dm3 tool]$ disql sysdba/SYSDBA

服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间: 60.245(毫秒)
disql V7.6.0.171-Build(2019.07.02-109059)ENT 
SQL> select * from v$version;

行号     BANNER                                                         
---------- ---------------------------------------------------------------
1          DM Database Server x64 V7.6.0.171-Build(2019.07.02-109059)ENT  
2          DB Version: 0x7000a

已用时间: 15.469(毫秒). 执行号:8.
SQL>

3.2 使用 dminit 创建数据库

在安装 DM 的过程中,用户可以选择是否创建初始数据库,如果当时没有创建,也可以在完成安装后,利用初始化库工具 dminit 来创建。系统管理员可以利用该工具提供的各种参数,设置数据库存放路径、段页大小、是否对大小写敏感以及是否使用 unicode,创建出满足用户需要的初始数据库。该工具位于安装目录的 bin\目录下。更多详细的功能请参考《DM7_dminit 使用手册》。
在 Windows“命令提示符”窗口中输入带参数的 dminit 命令启动 dminit 工具,命令格式为 dminit [para=value][para=value]……,参数说明如下:
[dmdba@dm3 ~]$ dminit help
initdb V7.6.0.171-Build(2019.07.02-109059)ENT
db version: 0x7000a
file dm.key not found, use default license!
License will expire on 2020-07-02
格式: ./dminit KEYWORD=value

例程: ./dminit     PATH=/public/dmdb/dmData PAGE_SIZE=16

关键字                     说明(默认值)
--------------------------------------------------------------------------------
INI_FILE                   初始化文件dm.ini存放的路径
PATH                       初始数据库存放的路径
CTL_PATH                   控制文件路径
LOG_PATH                   日志文件路径
EXTENT_SIZE                数据文件使用的簇大小(16),可选值:16、32,单位:页
PAGE_SIZE                  数据页大小(8),可选值:4、8、16、32,单位:K
LOG_SIZE                   日志文件大小(256),单位为:M,范围为:64M ~ 2G
CASE_SENSITIVE             大小敏感(Y),可选值:Y/N,1/0
CHARSET/UNICODE_FLAG       字符集(0),可选值:0[GB18030],1[UTF-8],2[EUC-KR]
SEC_PRIV_MODE              权限管理模式(0),可选值:0[TRADITION],1[BMJ]
LENGTH_IN_CHAR             VARCHAR类型长度是否以字符为单位(N),可选值:Y/N,1/0
SYSDBA_PWD                 设置SYSDBA密码(SYSDBA)
SYSAUDITOR_PWD             设置SYSAUDITOR密码(SYSAUDITOR)
DB_NAME                    数据库名(DAMENG)
INSTANCE_NAME              实例名(DMSERVER)
PORT_NUM                   监听端口号(5236)
TIME_ZONE                  设置时区(+08:00)
PAGE_CHECK                 页检查模式(0),可选值:0/1/2
EXTERNAL_CIPHER_NAME       设置默认加密算法
EXTERNAL_HASH_NAME         设置默认HASH算法
EXTERNAL_CRYPTO_NAME       设置根密钥加密引擎
RLOG_ENC_FLAG              设置日志文件是否加密(N),可选值:Y/N,1/0
USBKEY_PIN                 设置USBKEY PIN
ENCRYPT_NAME               设置全库加密算法
BLANK_PAD_MODE             设置空格填充模式(0),可选值:0/1
SYSTEM_MIRROR_PATH         SYSTEM数据文件镜像路径
MAIN_MIRROR_PATH           MAIN数据文件镜像
ROLL_MIRROR_PATH           回滚文件镜像路径
MAL_FLAG                   初始化时设置dm.ini中的MAL_INI(0)
ARCH_FLAG                  初始化时设置dm.ini中的ARCH_INI(0)
MPP_FLAG                   Mpp系统内的库初始化时设置dm.ini中的mpp_ini(0)
CONTROL                    初始化配置文件(配置文件格式见系统管理员手册)
AUTO_OVERWRITE             是否覆盖所有同名文件(0) 0:不覆盖 1:部分覆盖 2:完全覆盖
USE_NEW_HASH               是否使用改进的字符类型HASH算法(1)
DCP_MODE                   是否是DCP代理模式(0)
DCP_PORT_NUM               DCP代理模式下管理端口
ELOG_PATH                  指定初始化过程中生成的日志文件所在路径
AP_PORT_NUM                ECS模式下AP协同工作的监听端口
HELP                       打印帮助信息
[dmdba@dm3 ~]$

说明:dminit 一般是要有参数的,如果没有带参数,系统就会引导用户设置。另外,参数、等号和值之间不能有空格。Help 参数的后面不用添加’=’号。
命令举例:
dminit PATH=c:\dm7data PAGE_SIZE=16
如果创建成功,此时在 c 盘根目录下出现 dm7Data 文件夹,内容包含初始数据库 DAMENG 的相关文件和初始化文件 dm.ini。将 dm.ini 文件拷贝到 DM 安装目录的 bin 下,DM 服务器就可以启动该初始数据库了。

3.3 数据库服务注册

注册数据库服务,该功能用于将使用命令行工具生成的数据库,重新注册成系统服务,方便用户管理与控制。
用户注册数据库服务可以通过图形化界面和 shell 脚本两种方式。

3.3.1 图形界面

图形界面指的是执行dbca工具,用户选择 dm.ini 文件来注册相应的数据库,并可修改相应的端口号和实例名,也可以选择是否以配置状态启动数据库。

3.3.2 脚本方式

脚本方式指的是达梦数据库安装目录下,script/root目录下的脚本文件:dm_service_installer.sh,注意要以root用户运行该脚本;
[root@dm3 root]# ./dm_service_installer.sh -h
Usage: dm_service_installer.sh -t service_type [-p service_name_postfix] [-i ini_file] [-d dcr_ini_file] [-m open|mount] [-y dependent_service]
or dm_service_installer.sh [-s service_file_path]
or dm_service_installer.sh -h
-t服务类型,包括dmimon,dmap,dmserver,dmwatch,dmrww,dmwmon,dmwatcher,dmmonitor,dmcss,dmcssm,dmasmsvr
-p 服务名后缀,对于dmimon,dmap服务类型无效
-i ini文件路径,对于dmimon,dmap服务类型无效
-d dmdcr.ini文件路径,只针对dmserver服务类型生效,可选
-m 设置服务器启动模式open或mount,只针对dmserver服务类型生效,可选
-y 设置依赖服务,此选项只针对systemd服务环境下的dmserver和dmasmsvr服务生效
-s 服务脚本路径,设置则忽略除-y外的其他参数选项
-h 帮助
[root@dm3 root]#
举例说明:
[root@dm3 root]# ./dm_service_installer.sh -t dmserver -i /usr/appsoft/dmdbms/data/semiter/dm.ini -p semiter

3.4 查看数据库信息

3.4.1 数据库管理工具

登录数据库管理工具,通过表空间属性,可以查看数据文件路径、总空间大小、空闲空间大小、使用率。如图所示。
Linux平台达梦数据库V7数据库的创建与配置_第13张图片

3.4.2 控制台工具

通过 DM 控制台工具,查看实例配置属性,可以查看到如下信息:文件位置、实例名、内存池和缓冲区、线程、查询、检查点、输入输出、数据库、日志、事务、安全、兼容性、请求跟踪、进程守护、ORACLE 数据类型兼容和配置文件。
Linux平台达梦数据库V7数据库的创建与配置_第14张图片

3.5 删除数据库

删除数据库,包括删除数据库的数据文件、日志文件、控制文件和初始化参数文件。为了保证删除数据库成功,必须保证 dmserver 已关闭。
使用数据库配置工具来删除数据库。
Linux平台达梦数据库V7数据库的创建与配置_第15张图片
根据数据库名称,选择要删除的数据库,如图所示,也可以通过指定数据库配置
文件删除数据库。
Linux平台达梦数据库V7数据库的创建与配置_第16张图片
确认将删除的数据库名、实例名、数据库目录:
Linux平台达梦数据库V7数据库的创建与配置_第17张图片
首先停止实例,然后删除实例,最后删除数据库:
Linux平台达梦数据库V7数据库的创建与配置_第18张图片
删除完成之后将显示对话框,提示完成或错误反馈信息:
Linux平台达梦数据库V7数据库的创建与配置_第19张图片
如果数据库配置工具运行在 Linux、Solaris、AIX 和 HP-UNIX 系统中,使用非 root
系统用户在删除数据库完成时,将弹出提示框,提示应以 root 系统用户执行以下命令,用来删除数据库的随机启动服务:
Linux平台达梦数据库V7数据库的创建与配置_第20张图片

3.6 删除数据库服务

删除数据库服务,只删除用于启动和停止数据库的服务文件,不会删除数据库的数据文件、日志文件、控制文件和初始化参数文件。
用户删除数据库服务可以通过图形化界面和 shell 脚本两种方式。

3.6.1 图形界面

打开数据库配置工具删除数据库服务,选择要删除数据库服务即可完成:
Linux平台达梦数据库V7数据库的创建与配置_第21张图片

3.6.2 脚本方式

脚本方式指的是达梦数据库安装目录下,script/root目录下的脚本文件:dm_service_uninstaller.sh,注意要以root用户运行该脚本;
[root@dm3 root]# ./dm_service_uninstaller.sh -h
Usage: dm_service_uninstaller.sh [-n service_name]
-n 服务名,删除指定服务
-h 帮助
[root@dm3 root]#