注册
达梦数据库DM8安装初体验-CentOS7单机版
技术分享/ 文章详情 /

达梦数据库DM8安装初体验-CentOS7单机版

ZCH 2023/05/08 2388 1 0

1 安装前检查

1.1 检查系统信息

#获取系统位数

[root@centos7 ~]# getconf LONG_BIT
64

#查询操作系统 release 信息

[root@centos7 ~]# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core)

#查询系统名称

[root@centos7 ~]# uname -a
Linux centos7.6 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

根据系统信息,本次选择下载安装包“dm8_20230104_x86_rh6_64.zip”进行安装。

#获取内存总大小:建议可用内存不低于1GB

[root@centos7 ~]# grep MemTotal /proc/meminfo
MemTotal:         995896 kB
[root@centos7 ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:            972         166         611           7         194         620
Swap:          2047           0        2047 

#获取交换分区大小

[root@centos7 ~]# grep SwapTotal /proc/meminfo
SwapTotal:       2097148 kB

#检查存储空间:安装目录和临时目录至少各需要1GB可用空间。

[root@centos7 ~]# df -Th
文件系统                类型      容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root xfs        37G  3.7G   34G   10% /
devtmpfs                devtmpfs  470M     0  470M    0% /dev
tmpfs                   tmpfs     487M     0  487M    0% /dev/shm
tmpfs                   tmpfs     487M  8.0M  479M    2% /run
tmpfs                   tmpfs     487M     0  487M    0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  179M  836M   18% /boot
tmpfs                   tmpfs      98M     0   98M    0% /run/user/0
tmpfs                   tmpfs      98M     0   98M    0% /run/user/1001

1.2 新建 dmdba 用户

[root@centos7 ~]# groupadd dinstall
[root@centos7 ~]# useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
[root@centos7 ~]# passwd dmdba

1.3 参数使用限制

data seg size (kbytes, -d) 建议用户设置为 1048576(即 1GB)以上或 unlimited(无限制),此参数过小将导 致数据库启动失败。
[dmdba@centos7 ~]$ ulimit -s
8192

file size(blocks, -f) 建议用户设置为 unlimited(无限制),此参数过小将导致数据库安装或初始化失败。
[dmdba@centos7 ~]$ ulimit -f
unlimited

open files(-n) 建议用户设置为 65536 以上或 unlimited(无限制)。
[dmdba@centos7 ~]$ ulimit -n
1024

virtual memory (kbytes, -v) 建议用户设置为 1048576(即 1GB)以上或 unlimited(无限制),此参数过小将导 致数据库启动失败。
[dmdba@centos7 ~]$ ulimit -v
unlimited

优化参数:以下建议来自https://eco.dameng.com/document/dm/zh-cn/start/install-dm-linux-prepare.html

[root@centos7 ~]# vi /etc/security/limits.conf
dmdba hard nofile 65536
dmdba soft nofile 65536
dmdba hard stack 32768
dmdba soft stack 16384

[dmdba@centos7 ~]$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 3756
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 65536
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 16384
cpu time (seconds, -t) unlimited
max user processes (-u) 3756
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited

1.4 挂载镜像

[root@centos7 ~]# mount -o loop dm8_20230104_x86_rh6_64.iso /mnt
mount: /dev/loop0 写保护,将以只读方式挂载

1.5 新建安装目录

默认安装目录:/home/dmdba/dmdbms,如需换目录需改属主,如:

[root@centos7 ~]# mkdir /opt/dm8
[root@centos7 ~]# chown dmdba:dinstall -R /opt/dm8

2 数据库安装

2.1 图形化安装

[root@centos7 ~]# su - dmdba
[dmdba@centos7 ~]$ cd /mnt
[dmdba@centos7 mnt]$ ./DMInstall.bin

image.png
image.png
image.png

点击【安装】后,等待 1~2 分钟即可安装完成,安装完成后弹出执行配置脚本页面,按照页面要求执行该脚本即可。
image.png

重新打开一个终端,切换到 root 用户,执行弹出页面中的脚本。

[root@centos7 ~]# /home/dmdba/dmdbms/script/root/root_installer.sh
移动 /home/dmdba/dmdbms/bin/dm_svc.conf 到/etc目录
创建DmAPService服务
Created symlink from /etc/systemd/system/multi-user.target.wants/DmAPService.service to /usr/lib/systemd/system/DmAPService.service.
创建服务(DmAPService)完成
启动DmAPService服务

脚本执行完成后,点击执行配置脚本页面中的【完成】,弹出提示框,提示是否关闭窗口,选择是,提示数据库安装完成,再点击【完成】按钮,完成数据库安装。

2.2 命令行安装

[dmdba@centos7 ~]$ cd /mnt
[dmdba@centos7 mnt]$ ./DMInstall.bin -i

请选择安装语言(C/c:中文 E/e:英文) [C/c]:
解压安装程序..........
欢迎使用达梦数据库安装程序

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

是否设置时区? (Y/y:是 N/n:否) [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 典型安装]:
所需空间: 1667M

请选择安装目录 [/home/dmdba/dmdbms]:
可用空间: 29G
是否确认安装路径(/home/dmdba/dmdbms)? (Y/y:是 N/n:否) [Y/y]:

安装前小结
安装位置: /home/dmdba/dmdbms
所需空间: 1667M
可用空间: 29G
版本信息:
有效日期:
安装类型: 典型安装
是否确认安装? (Y/y:是 N/n:否):y

2023-04-22 22:13:24
[INFO] 安装达梦数据库...
2023-04-22 22:13:24
[INFO] 安装 基础 模块...
2023-04-22 22:13:31
[INFO] 安装 服务器 模块...
2023-04-22 22:13:31
[INFO] 安装 客户端 模块...
2023-04-22 22:13:36
[INFO] 安装 驱动 模块...
2023-04-22 22:13:39
[INFO] 安装 手册 模块...
2023-04-22 22:13:40
[INFO] 安装 服务 模块...
2023-04-22 22:13:41
[INFO] 移动日志文件。
2023-04-22 22:13:41
[INFO] 安装达梦数据库完成。

请以root系统用户执行命令:
/home/dmdba/dmdbms/script/root/root_installer.sh

安装结束

[root@centos7 ~]# /home/dmdba/dmdbms/script/root/root_installer.sh
移动 /home/dmdba/dmdbms/bin/dm_svc.conf 到/etc目录
创建DmAPService服务
创建服务(DmAPService)完成
启动DmAPService服务

2.3 配置环境变量

安装完已默认配置LD_LIBRARY_PATH和DM_HOME,补充以下PATH配置。

[dmdba@centos7 ~]$ vi .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@centos7 ~]$ source .bash_profile

3 配置实例

3.1 图形化配置实例

3.1.1 创建数据库实例

image.png
image.png

3.1.2 指定数据库目录

image.png

3.1.3 配置数据库标识

image.png

3.1.4 控制文件

image.png

3.1.5 数据文件

image.png

3.1.6 日志文件

image.png

3.1.7 初始化日志

image.png

3.1.8 初始化参数

点击【下一步】,配置初始化参数,注意簇大小、页大小、字符集以及大小写敏感确定后不可修改,默认配置即可,如下图所示:
image.png
image.png

3.1.9 口令管理

image.png

3.1.10 创建示例库

image.png

3.1.11 创建摘要

image.png

数据库名: DAMENG
实例名: DMSERVER
数据库目录: /home/dmdba/dmdbms/data
端口: 5236

控制文件:
/home/dmdba/dmdbms/data/DAMENG/dm.ctl

数据文件:
/home/dmdba/dmdbms/data/DAMENG/SYSTEM.DBF
/home/dmdba/dmdbms/data/DAMENG/ROLL.DBF
/home/dmdba/dmdbms/data/DAMENG/TEMP.DBF
/home/dmdba/dmdbms/data/DAMENG/MAIN.DBF

日志文件:
/home/dmdba/dmdbms/data/DAMENG/DAMENG01.log
/home/dmdba/dmdbms/data/DAMENG/DAMENG02.log

ELOG:
/home/dmdba/dmdbms/data/DAMENG/

簇大小: 16页
页大小: 8K
日志文件大小: 256M
时区设置: +08:00
页面检查: 不启用
字符集: GB18030
USBKEY-PIN:
页分片大小: 4096
标识符大小写敏感: 是
VARCHAR以字符为单位: 否
空格填充模式: 否
改进的字符串HASH算法: 是
启用日志文件加密: 否
启用全库加密: 否

启用加密: 否

修改 SYSDBA的口令
修改 SYSAUDITOR的口令

创建示例库BOOKSHOP
创建示例库DMHR

3.1.12 注册服务过程

image.png

[root@centos7 ~]# mv /home/dmdba/dmdbms/bin/DmServiceDMSERVER.service /usr/lib/systemd/system/DmServiceDMSERVER.service

[root@centos7 ~]# systemctl enable DmServiceDMSERVER.service
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceDMSERVER.service to /usr/lib/systemd/system/DmServiceDMSERVER.service.

[root@centos7 ~]# systemctl start DmServiceDMSERVER.service

image.png

image.png

[root@centos7 ~]# systemctl restart DmServiceDMSERVER.service

image.png

3.2 命令行配置实例

3.2.1 帮助信息

[dmdba@centos7 ~]$ dminit help
initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2024-01-03
version: 03134283968-20230103-178822-20033
格式: ./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, 64,单位:页
PAGE_SIZE 数据页大小(8),可选值:4, 8, 16, 32,单位:K
LOG_SIZE 日志文件大小(256),单位为:M,范围为:256M ~ 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],2[EVAL],3[ZB]
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)
BUFFER 系统缓存大小(100),单位M
TIME_ZONE 设置时区(+08:00)
PAGE_CHECK 页检查模式(1),可选值:0/1/2
PAGE_HASH_NAME 设置页检查HASH算法
EXTERNAL_CIPHER_NAME 设置默认加密算法
EXTERNAL_HASH_NAME 设置默认HASH算法
EXTERNAL_CRYPTO_NAME 设置根密钥加密引擎
RLOG_ENCRYPT_NAME 设置日志文件加密算法,若未设置,则不加密
USBKEY_PIN 设置USBKEY PIN
PAGE_ENC_SLICE_SIZE 设置页加密分片大小,可选值:0、512、4096,单位:Byte
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)
ELOG_PATH 指定初始化过程中生成的日志文件所在路径
AP_PORT_NUM 分布式环境下协同工作的监听端口
DFS_FLAG 初始化时设置dm.ini中的DFS_INI(0)
DFS_PATH 启用dfs时指定数据文件的缺省路径
DFS_HOST 指定连接分布式系统DFS的服务地址(localhost)
DFS_PORT 指定连接分布式系统DFS的服务端口号(3332)
DFS_COPY_NUM 指定分布式系统的副本数(3)
DFS_DB_NAME 指定分布式系统的中数据库名(默认与DB_NAME一致)
SHARE_FLAG 指定分布式系统中该数据库的共享属性(0)
REGION_MODE 指定分布式系统中该数据库的系统表空间数据文件的区块策略(0) 0:微区策略 1:宏区策略
HUGE_WITH_DELTA 是否仅支持创建事务型HUGE表(1) 1:是 0:否
RLOG_GEN_FOR_HUGE 是否生成HUGE表REDO日志(1) 1:是 0:否
PSEG_MGR_FLAG 是否仅使用管理段记录事务信息(0) 1:是 0:否
CHAR_FIX_STORAGE CHAR是否按定长存储(N),可选值:Y/N,1/0
SQL_LOG_FORBID 是否禁止打开SQL日志(N),可选值:Y/N,1/0
DPC_MODE 指定DPC集群中的实例角色(0) 0:无 1:MP 2:BP 3:SP,取值1/2/3时也可以用MP/BP/SP代替
HELP 打印帮助信息

3.2.2 注意要点

需要注意的是页大小 (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。
可以使用默认参数初始化实例,需要附加实例存放路径。此处以初始化实例到 /dm/data 目录下为例(执行初始化命令前,需要使用 root 用户授予 /dm/data 目录相应权限,可以参考修改目录权限),初始化命令如下:

3.2.3 配置案例

[dmdba@centos7 ~]$ dminit path=/home/dmdba/dmdbms/data PAGE_SIZE=8 EXTENT_SIZE=16 CASE_SENSITIVE=y CHARSET=1 DB_NAME=DMDB INSTANCE_NAME=DBSERVER PORT_NUM=5236 SYSDBA_PWD=123456789
initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2024-01-03
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL

 log file path: /home/dmdba/dmdbms/data/DMDB/DMDB01.log
 log file path: /home/dmdba/dmdbms/data/DMDB/DMDB02.log

write to dir [/home/dmdba/dmdbms/data/DMDB].
create dm database success. 2023-04-22 22:27:53

4 注册服务

4.1 图形化注册服务

详见:3.1.12 注册服务过程
image.png
image.png
实例名可更改。

4.2 命令行注册服务

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

[root@centos7 ~]# cd /home/dmdba/dmdbms/script/root

注册服务,如下所示:

[root@centos7 root]# ./dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/dmdbms/data/DMDB/dm.ini -p DMSERVER
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceDMSERVER.service to /usr/lib/systemd/system/DmServiceDMSERVER.service.
创建服务(DmServiceDMSERVER)完成

[root@centos7 root]# systemctl start DmServiceDMSERVER
[root@centos7 root]# systemctl status DmServiceDMSERVER
● DmServiceDMSERVER.service - DM Instance Service(DmServiceDMSERVER).
   Loaded: loaded (/usr/lib/systemd/system/DmServiceDMSERVER.service; enabled; vendor preset: disabled)
   Active: active (running) since 六 2023-04-22 22:37:08 CST; 29s ago
  Process: 11107 ExecStart=/home/dmdba/dmdbms/bin/DmServiceDMSERVER start (code=exited, status=0/SUCCESS)
 Main PID: 11131 (dmserver)
    Tasks: 66
   CGroup: /system.slice/DmServiceDMSERVER.service
           └─11131 /home/dmdba/dmdbms/bin/dmserver path=/home/dmdba/dmdbms/data/DMDB/dm.ini -noconsole

4月 22 22:36:53 centos7.6 systemd[1]: Starting DM Instance Service(DmServiceDMSERVER)....
4月 22 22:37:08 centos7.6 DmServiceDMSERVER[11107]: [39B blob data]
4月 22 22:37:08 centos7.6 systemd[1]: Started DM Instance Service(DmServiceDMSERVER)..


5 启动、停止数据库

5.1 图形化启停数据库

[dmdba@centos7 ~]$ dmservice.sh
image.png

5.2 命令行启停数据库

服务注册成功后,启动数据库,如下所示:
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

https://eco.dameng.com

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服