DM 数据库可以在安装 DM 软件时创建,也可以在安装 DM 软件之后,通过数据库配置工具或 dminit 来手工创建数据库,创建数据库时要使用初始化参数。
二 数据库规划
用户创建数据库之前,需要规划数据库,如数据库名、实例名、端口、文件路径、簇大小、页大小、日志文件大小、SYSDBA 和 SYSAUDITOR 等系统用户的密码等,然后可以使用图形化界面或者 dminit 创建数据库。用户可以在安装 DM 数据库软件时创建数据库,也可以在安装之后创建数据库。
在创建数据库之前需要做如下准备工作:
- 规划数据库表和索引,并估算它们所需的空间大小;
- 确定字符集。所有字符集数据,包括数据字典中的数据,都被存储在数据库字符集中,用户在创建数据库时可以指定数据库字符集,如不指定则使用默认字符集GB18030;
- 规划数据库文件的存储路径,可以指定数据库存储路径、控制文件存放路径、日志文件存放路径等,应注意在指定的路径或文件名中尽量不要包含中文字符,否则可能由于数据库与操作系统编码方式不一致导致不可预期的问题;
- 配置数据库时区,如中国是+8:00 时区;
- 设置数据库簇大小、页大小、日志文件大小,在数据库创建时由 EXTENT_SIZE、PAGE_SIZE、LOG_SIZE 初始化参数来指定,并且在数据库创建完成之后不能修改此参数。
创建数据库之前,必须满足以下必要条件: - 安装必需的 DM 软件,包括为操作系统设置各种环境变量,并为软件和数据库文件建立目录结构;
- 必须有足够的内存来启动 DM 数据库实例;
- 在执行 DM 的计算机上要有足够的磁盘存储空间来容纳规划的数据库。
三 数据库的创建与配置
本次安装的Linux平台为中标麒麟6.0 :
[dmdba@dm3 桌面]$ cat /etc/issue
NeoKylin Linux General Server release 6.0 (Dhaulagiri)3.1 使用数据库配置工具创建数据库
数据库配置工具提供了一个图形化界面来引导用户创建和配置数据库。使用数据库配置工具来创建数据库是用户的首选,因为数据库配置工具更趋于自动化,当使用数据库配置工具安装完成时,数据库也做好了使用准备工作。数据库配置工具可以通过 DM 数据库安装之后作为一个独立的工具来启动。数据库配置工具可以执行以下任务:
- 创建数据库;
- 改变数据库的配置;
- 删除数据库;
- 管理模板;
- 自动存储管理;
- 注册数据库服务。
dbca.sh工具,在/usr/appsoft/dmdbms/tool 目录下,是一种图形化的界面。
在数据库配置工具操作窗口中,选择“创建数据库”选项启动能够创建和配置一个数据
库的向导,如图所示。这个向导引导用户完成以下操作: - 数据库模板;
- 数据库目录;
- 数据库标识;
- 数据库文件;
- 初始化参数;
- 口令管理;
- 创建示例库;
- 创建摘要;
- 创建数据库。
[dmdba@dm3 dmdba]# cd /usr/appsoft/dmdbms/tool
[dmdba@dm3 dmdba]#./dbca.sh3.1.1 数据库模板
3.1.2 数据库目录
3.1.3 数据库标识
下图中的数据库名与实例名要根据实际情况而定:
3.1.4 数据库文件
3.1.5 初始化参数
下图中的各个参数要以实际情况进行相应修改:
3.1.6 口令管理
3.1.7 创建示例库
在测试环境下,为了方便测试选择创建示例库DMHR:
3.1.8 创建摘要
3.1.9 创建数据库
如上图所示,在安装即将结束时,也会提示以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]#
点击完成,即完成实例的初始化,此时我们可以通过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 数据库管理工具
登录数据库管理工具,通过表空间属性,可以查看数据文件路径、总空间大小、空闲空间大小、使用率。如图所示。
3.4.2 控制台工具
通过 DM 控制台工具,查看实例配置属性,可以查看到如下信息:文件位置、实例名、内存池和缓冲区、线程、查询、检查点、输入输出、数据库、日志、事务、安全、兼容性、请求跟踪、进程守护、ORACLE 数据类型兼容和配置文件。
3.5 删除数据库
删除数据库,包括删除数据库的数据文件、日志文件、控制文件和初始化参数文件。为了保证删除数据库成功,必须保证 dmserver 已关闭。
使用数据库配置工具来删除数据库。
根据数据库名称,选择要删除的数据库,如图所示,也可以通过指定数据库配置
文件删除数据库。
确认将删除的数据库名、实例名、数据库目录:
首先停止实例,然后删除实例,最后删除数据库:
删除完成之后将显示对话框,提示完成或错误反馈信息:
如果数据库配置工具运行在 Linux、Solaris、AIX 和 HP-UNIX 系统中,使用非 root
系统用户在删除数据库完成时,将弹出提示框,提示应以 root 系统用户执行以下命令,用来删除数据库的随机启动服务:
3.6 删除数据库服务
删除数据库服务,只删除用于启动和停止数据库的服务文件,不会删除数据库的数据文件、日志文件、控制文件和初始化参数文件。
用户删除数据库服务可以通过图形化界面和 shell 脚本两种方式。
3.6.1 图形界面
打开数据库配置工具删除数据库服务,选择要删除数据库服务即可完成:
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]#