达梦数据库 DM8开发版(Linux安装)

安装前准备

用户在安装 DM 数据库之前需要检查或修改操作系统的配置,以保证 DM 数据库能够正确安装和运行。

本文以演示环境如下:

操作系统

CPU

数据库

CentOS7

x86_64 架构

dm8_rh7_64_ent_8.1.1.87

新建 dmdba 用户

注意

安装前必须创建 dmdba 用户,禁止使用 root 用户安装数据库。

1、创建用户所在的组,命令如下:

groupadd dinstall

2、创建用户,命令如下:

useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba 	# 此用户可以登录Linux主机

useradd -g dinstall -m -d /home/dmdba -s /sbin/nologin dmdba	# 限制此用户登录Linux主机


补充:usermod # 命令修改系统帐户及账户相关的各项属性

3、修改用户密码,命令如下:

passwd dmdba

dmdba8.0

修改文件打开最大数

  • 重启服务器后永久生效

使用 vi 编辑器打开 /etc/security/limits.conf 文件,命令如下:

vim /etc/security/limits.conf

在最后添加四条语句,需添加的语句如下:

dmdba hard nofile 65536

dmdba soft nofile 65536
dmdba hard stack 32768
dmdba soft stack 16384

切换到 dmdba 用户,查看是否生效,命令如下:

su - dmdba

ulimit -a
  • 设置参数临时生效

可使用 dmdba 用户执行如下命令,使设置临时生效:

ulimit -n 65536

挂载镜像

切换到 root 用户,将 DM 数据库的 iso 安装包保存在任意位置,例如 /opt 目录下,执行如下命令挂载镜像:

mount -o loop /opt/dm8_20230418_x86_rh6_64.iso /mnt

新建安装目录

注意:所有新建目录一定要修改权限

在根目录下创建 /dm8 文件夹,用来安装 DM 数据库。命令如下:

mkdir /dm8

注意

使用 root 用户建立文件夹,待 dmdba 用户建立完成后需将文件所有者更改为 dmdba 用户,否则无法安装到该目录下

修改安装目录权限

将新建的安装路径目录权限的用户修改为 dmdba,用户组修改为 dinstall。命令如下:

chown dmdba:dinstall -R /dm8/

给安装路径下的文件设置 755 权限。命令如下:

chmod -R 755 /dm8

数据库安装

DM 数据库在 Linux 环境下支持命令行安装图形化安装

命令行安装

切换至 dmdba 用户下,在 /mnt 目录下使用命令行安装数据库程序,依次执行以下命令安装 DM 数据库。

su - dmdba
cd /mnt/
./DMInstall.bin -i

按需求选择安装语言,默认为中文。本地安装选择【不输入 Key 文件】,选择【默认时区 21】。

选择【1-典型安装】,按已规划的安装目录 /dm8 完成数据库软件安装,不建议使用默认安装目录。

数据库安装大概 1~2 分钟,数据库安装完成后,显示如下界面。

[root@VM-32-16-centos mnt]# ls
DM8 Install.pdf  DMInstall.bin
[root@VM-32-16-centos mnt]# sudo -u dmdba ./DMInstall.bin -i
Please select the installer's language (E/e:English C/c:Chinese) [E/e]:c
Not support Chinese or UTF-8 in current environment, please set environment variable LANG.
Please select the installer's language (E/e:English C/c:Chinese) [E/e]:c
Not support Chinese or UTF-8 in current environment, please set environment variable LANG.
Please select the installer's language (E/e:English C/c:Chinese) [E/e]:e
Extract install files......... 
Welcome to DM DBMS Installer

Whether to input the path of Key File? (Y/y:Yes N/n:No) [Y/y]:n

Whether to Set The TimeZone? (Y/y:Yes N/n:No) [Y/y]:
TimeZone:
[ 1]: GTM-12=West Date Line
[ 2]: GTM-11=Samoa
[ 3]: GTM-10=Hawaii
[ 4]: GTM-09=Alaska
[ 5]: GTM-08=Pacific(America and Canada)
[ 6]: GTM-07=Arizona
[ 7]: GTM-06=Central(America and Canada)
[ 8]: GTM-05=East(America and Canada)
[ 9]: GTM-04=Atlantic(America and Canada)
[10]: GTM-03=Brasilia
[11]: GTM-02=Middle Atlantic
[12]: GTM-01=Azores
[13]: GTM=Greenwich Mean Time
[14]: GTM+01=Sarajevo
[15]: GTM+02=Cairo
[16]: GTM+03=Moscow
[17]: GTM+04=AbuDhabi
[18]: GTM+05=Islamabad
[19]: GTM+06=Dakar
[20]: GTM+07=BangKok,Hanoi
[21]: GTM+08=China
[22]: GTM+09=Seoul
[23]: GTM+10=Guam
[24]: GTM+11=Solomon
[25]: GTM+12=Fiji
[26]: GTM+13=Nukualofa
[27]: GTM+14=Kiribati
Please Select the TimeZone [21]:

Installation Type:
1 Typical
2 Server
3 Client
4 Custom
Please Input the number of the Installation Type [1 Typical]:1
Require Space: 1815M

Please Input the install path [/home/dmdba/dmdbms]:/dm8
Available Space:163G
Please Confirm the install path(/dm8)? (Y/y:Yes N/n:No) [Y/y]:y

Pre-Installation Summary
Installation Location: /dm8
Require Space: 1815M
Available Space: 163G
Version Information: 
Expire Date: 
Installation Type: Typical
Confirm to Install? (Y/y:Yes N/n:No):y
2023-10-17 16:59:39 
[INFO] Installing DM DBMS...
2023-10-17 16:59:39 
[INFO] Installing BASE Module...
2023-10-17 16:59:41 
[INFO] Installing SERVER Module...
2023-10-17 16:59:41 
[INFO] Installing CLIENT Module...
2023-10-17 16:59:42 
[INFO] Installing DRIVERS Module...
2023-10-17 16:59:43 
[INFO] Installing MANUAL Module...
2023-10-17 16:59:43 
[INFO] Installing SERVICE Module...
2023-10-17 16:59:43 
[INFO] Move log file to log directory.
2023-10-17 16:59:43 
[INFO] Installed DM DBMS completely.

Please execute the commands by root:
/dm8/script/root/root_installer.sh

End

数据库安装完成后,需要切换至 root 用户执行上图中的命令 /dm8/script/root/root_installer.sh 创建 DmAPService,否则会影响数据库备份。

配置环境变量

切换到 root 用户进入 dmdba 用户的根目录下,配置对应的环境变量。DM_HOME 变量和动态链接库文件的加载路径在程序安装成功后会自动导入。命令如下:

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

编辑 .bash_profile,使其最终效果如下图所示:

cd /home/dmdba/
vim .bash_profile

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/dmdba/dmdbms/bin"
export DM_HOME="/home/dmdba/dmdbms"
export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool

切换至 dmdba 用户下,执行以下命令,使环境变量生效。

su - dmdba
source .bash_profile

配置实例

DM 数据库在 Linux 环境支持命令行配置实例以及图形化配置实例

命令行配置实例

使用 dmdba 用户配置实例,进入到 DM 数据库安装目录下的 bin 目录中,使用 dminit 命令初始化实例。

dminit 命令可设置多种参数,可执行如下命令查看可配置参数。

./dminit help

需要注意的是页大小 (page_size)、簇大小 (extent_size)、大小写敏感 (case_sensitive)、字符集 (charset) 这四个参数,一旦确定无法修改,需谨慎设置。

  • extent_size 指数据文件使用的簇大小,即每次分配新的段空间时连续的页数。只能是 16 页或 32 页或 64 页之一,缺省使用 16 页。
  • page_size 数据文件使用的页大小,可以为 4 KB、8 KB、16 KB 或 32 KB 之一,选择的页大小越大,则 DM 支持的元组长度也越大,但同时空间利用率可能下降,缺省使用 8 KB。
  • case_sensitive 标识符大小写敏感,默认值为 Y 。当大小写敏感时,小写的标识符应用双引号括起,否则被转换为大写;当大小写不敏感时,系统不自动转换标识符的大小写,在标识符比较时也不区分大小写,只能是 Y、y、N、n、1、0 之一。
  • charset 字符集选项。0 代表 GB18030;1 代表 UTF-8;2 代表韩文字符集 EUC-KR;取值 0、1 或 2 之一。默认值为 0。

可以使用默认参数初始化实例,需要附加实例存放路径。此处以初始化实例到 /dm8/data 目录下为例(执行初始化命令前,需要使用 root 用户授予 /dm8/data 目录相应权限,可以参考修改目录权限),初始化命令如下:

mkdir -p /dm8/data
chown dmdba:dinstall -R /dm8/data

./dminit path=/dm8/data

也可以自定义初始化实例的参数,参考如下示例:

以下命令设置页大小为 32 KB,簇大小为 32 KB,大小写敏感,字符集为 utf_8,数据库名为 DMDB,实例名为 DBSERVER,端口为 5237(默认是5236)。

./dminit path=/dm8/data PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y
CHARSET=1 DB_NAME=DMDB INSTANCE_NAME=DBSERVER PORT_NUM=5237

注意

如果此处自定义了初始化参数,在后面的注册服务和启动数据库等步骤中,请按实际的自定义参数进行操作。

注册服务

命令行注册服务

注册服务需使用 root 用户进行注册。使用 root 用户进入数据库安装目录的 /script/root 下,如下所示:

cd /dm8/script/root

注册服务,如下所示:

./dm_service_installer.sh -t dmserver -dm_ini /dm8/data/DAMENG/dm.ini -p DMSERVER

用户可根据自己的环境更改 dm.ini 文件的路径以及服务名,如下所示:

./dm_service_installer.sh -h

如需为其他实例注册服务,需打开 dbca 工具,进行注册服务,如下所示:

cd /dm8/tool
./dbca.sh

启动、停止数据库

命令行启停数据库

服务注册成功后,启动数据库,如下所示:

systemctl start DmServiceDMSERVER.service

停止数据库,如下所示:

systemctl stop DmServiceDMSERVER.service

重启数据库,如下所示:

systemctl restart DmServiceDMSERVER.service

查看数据库服务状态,如下所示:

systemctl status DmServiceDMSERVER.service

可前台启动,进入 DM 安装目录下的 bin 目录下,命令如下:

./dmserver /dm/data/DAMENG/dm.ini

该启动方式为前台启动,若想关闭数据库,则输入 exit 即可。

也可进入 DM 安装目录下的 bin 目录下,启动/停止/重启数据库,如下所示:

./DmServiceDMSERVER start/stop/restart

查看数据库状态,如下所示:

./DmServiceDMSERVER status

数据库目录结构介绍

数据库安装目录

/dm8/bin

目录存放 DM 数据库的可执行文件,例如 disql 命令、dminit 命令、dmrman 工具等。

/dm8/desktop

存放 DM 数据库各个工具的桌面图标。

/dm8/doc

存放 DM 数据库用户手册。

/dm8/drivers

存放连接 DM 数据库的驱动文件。

/dm8/log

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

/dm8/samples

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

/dm8/script

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

/dm8/tool

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

/dm8/uninstall

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

/dm8/web

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

数据库实例目录

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

Docker安装

安装前准备

软硬件

版本

终端

X86-64 架构

Docker

2023 年 6 月版

下载 Docker 安装包

请在达梦数据库官网下载 Docker 安装包

导入安装包

拷贝安装包到 /opt 目录下,执行以下命令导入安装包:

docker load -i dm8_20230808_rev197096_x86_rh6_64_single.tar

导入完成后,可以使用 docker images 查看导入的镜像。

启动容器

镜像导入后,使用 docker run 启动容器,启动命令如下:

docker run -d -p 30236:5236 --restart=always --name dm8_test --privileged=true -e PAGE_SIZE=16 -e LD_LIBRARY_PATH=/opt/dmdbms/bin -e  EXTENT_SIZE=32 -e BLANK_PAD_MODE=1 -e LOG_SIZE=1024 -e UNICODE_FLAG=1 -e LENGTH_IN_CHAR=1 -e INSTANCE_NAME=dm8_test -v /data/dm8_test:/opt/dmdbms/data dm8_single:dm8_20230808_rev197096_x86_rh6_64

容器启动完成后,使用 docker ps 查看镜像的启动情况

启动完成后,可通过日志检查启动情况,命令如下:

docker logs -f  dm8_test

启动/停止数据库

停止数据库命令如下:

docker stop  dm8_test

启动数据库命令如下:

docker start  dm8_test

重启命令如下:

docker restart  dm8_test

注意

1.如果使用 docker 容器里面的 disql,进入容器后,先执行 source /etc/profile 防止中文乱码。
2.新版本 Docker 镜像中数据库默认用户名/密码为 SYSDBA/SYSDBA001。