暂无图片
暂无图片
14
暂无图片
暂无图片
暂无图片

达梦 DM8 数据库安装详细手册(Windows+Linux+Docker)

原创 Lucifer三思而后行 2021-08-29
8018

大家好,这里是 Lucifer三思而后行,专注于提升数据库运维效率。

目录

🌲 前言

对于常年占据国产数据库排行榜前三的 达梦 数据库,早已 “垂涎已久” (¯﹃¯)!

正好趁着这次墨天轮和达梦合作举办的活动,可以入手好好研究一下!

要想学习一门数据库技术,第一步当然是要安装数据库,然后才能学习使用它,顺便记录下作者的安装初体验!❤️

💬 介绍

达梦数据库管理系统(以下简称DM)是基于客户/服务器方式的数据库管理系统,可以安装在多种计算机操作系统平台上,典型的操作系统有:Windows(Windows2000/2003/XP/Vista/7/8/10/Server等)、Linux、HP-UNIX、Solaris、FreeBSD和AIX等。对于不同的系统平台,有不同的安装步骤。

根据不同的应用需求与配置,DM提供了多种不同的产品系列:

  • 标准版Standard Edition
  • 企业版Enterprise Edition
  • 安全版Security Edition

相较于 Oracle 的全英文官方文档来说,达梦的官方文档就显得亲切多了,一眼看去就很喜欢!❤️

作为一款热门的国产数据库,对于平台的支持必然是广泛的。下面👇🏻列出一些安装部署基础要求:

名称 要求
CPU Intel Pentium4(建议Pentium 41.6G以上)处理器
内存 256M(建议512M以上)
硬盘 5G以上可用空间
网卡 10M以上支持TCP/IP协议的网卡
操作系统 Windows(简体中文服务器版sp2以上)/Linux(glibc2.3以上,内核2.6,已安装KDE/GNOME桌面环境,建议预先安装UnixODBC组件)

💦 安装介质下载

🔥 达梦8安装包

达梦官方提供的最新版本为DM8,可以直接下载:

达梦8的数据库安装介质下载地址:https://eco.dameng.com/download

💥 Centos7 box

Linux操作系统我选择的是 centos7,打算使用 vagrant 进行安装:

centos7 box镜像下载地址:https://app.vagrantup.com/luciferliu/boxes/centos7.9

至此,安装介质都准备好了!

🏆 Linux 下 DM 的安装

操作系统 CPU 数据库
CentOS7 x86_64 架构 dm8_20210630_x86_rh6_64_ent

🍭 Centos7 环境安装

vagrant 启动 centos7

进入自定义目录启动主机:

mkdir -p /Volumes/DBA/dm8 cd /Volumes/DBA/dm8 ## vagrant 初始化 vagrant init luciferliu/centos7.9 ## vagrant 创建并启动主机 vagrant up

如上图所示,Centos7.9 的主机就已经启动了,下面我们连接并且上传 DM8 安装包。

上传安装介质

将 DM8 安装包拷贝到当前 /Volumes/DBA/dm8 目录下,使用 vagrant ssh 连接主机:

## 拷贝 DM 安装包 cd /Volumes/DBA/dm8 cp /Users/lpc/Downloads/dm8_20210630_x86_rh6_64_ent.zip .

初始化配置

## 连接主机 vagrant ssh ## 修改 root 用户密码,密码为 dm echo dm | sudo passwd --stdin root ## 切换至 root 用户 su - root ## 修改主机名 hostnamectl set-hostname dm8 && exec bash ## 配置时区 timedatectl set-timezone Asia/Shanghai ## 配置系统中文 echo 'export LANG=zh_CN.UTF-8' >> /etc/profile ## 创建 DM 软件包目录 mkdir /soft ## 拷贝 DM 安装包至软件包目录 cp /vagrant/dm8_20210630_x86_rh6_64_ent.zip /soft ## 安装 unzip 和 lsb_release yum install -y unzip lsb* ## 解压 DM 安装包 cd /soft unzip dm8_20210630_x86_rh6_64_ent.zip

如上图所示,DM8 安装包已解压至至主机 /soft 目录下。

🍰 安装前准备

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

检查Linux(Unix)系统信息

## 获取系统位数 getconf LONG_BIT ## 查询操作系统release信息 lsb_release -a ## 查询系统信息 cat /etc/issue ## 查询系统名称 uname -a

创建安装用户

为了减少对操作系统的影响,用户不应该以root系统用户来安装和运行DM。用户可以在安装之前为DM创建一个专用的系统用户。

## 创建 dinstall 组 groupadd -g 12349 dinstall ## 创建 dmdba 用户 useradd -u 12345 -g dinstall -m -d /home/dmdba -s /bin/bash dmdba ## 修改 dmdba 用户密码 echo dmdba | passwd --stdin dmdba

创建安装目录及授权

mkdir /dm mkdir -p /dm{arch,bak,data} chown -R dmdba.dinstall /dm /soft /dmdata /dmarch /dmbak chmod -R 775 /dm{arch,bak,data} /dm

关闭防火墙和Selinux

## 关闭防火墙 systemctl stop firewalld.service systemctl disable firewalld.service ## 关闭selinux setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

关闭透明大页和numa

Linux6:

cat >>/etc/rc.d/rc.local <<EOF if test -f /sys/kernel/mm/transparent_hugepage/enabled; then echo never > /sys/kernel/mm/transparent_hugepage/enabled fi if test -f /sys/kernel/mm/transparent_hugepage/defrag; then echo never > /sys/kernel/mm/transparent_hugepage/defrag fi

Linux7:

sed -i 's/quiet/quiet transparent_hugepage=never numa=off/' /etc/default/grub grub2-mkconfig -o /boot/grub2/grub.cfg

配置系统参数

cat <<EOF >>/etc/sysctl.conf fs.aio-max-nr = 1048576 fs.file-max = 6815744 #kernel.shmall = 2097152 #kernel.shmmax = 536870912 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 vm.swappiness = 0 vm.dirty_background_ratio = 3 vm.dirty_ratio = 80 vm.dirty_expire_centisecs = 500 vm.dirty_writeback_centisecs = 100 EOF ## 激活参数配置 sysctl -p

配置操作系统限制

在Linux(Unix)系统中,因为ulimit命令的存在,会对程序使用操作系统资源进行限制。为了使DM能够正常运行,建议用户检查当前安装用户的ulimit参数。

## 配置pam.d cat <<EOF >>/etc/pam.d/login session required pam_limits.so session required /lib64/security/pam_limits.so EOF ## 查看 pam.d cat /etc/pam.d/login | grep -v "^$" | grep -v "^#" ## 查看操作系统资源限制 ulimit -a ## 解除 nice,as fsize,nproc,nofile,core,data 限制 cat <<EOF>>/etc/security/limits.conf dmdba - nice 0 dmdba - as unlimited dmdba - fsize unlimited dmdba - nproc 131072 dmdba - nofile 131072 dmdba - core unlimited dmdba - data unlimited root - nice 0 root - as unlimited root - fsize unlimited root - nproc 131072 root - nofile 131072 root - core unlimited root - data unlimited EOF ## 检查配置文件 cat /etc/security/limits.conf | grep -v "^$" | grep -v "^#" ## 查看 dmdba 用户的资源限制 su - dmdba -c "ulimit -a"

检查系统内存

为了保证DM的正确安装和运行,要尽量保证操作系统至少1GB的可用内存(RAM)。如果可用内存过少,可能导致DM安装或启动失败。

## 获取内存总大小 grep MemTotal /proc/meminfo ## 获取交换分区大小 grep SwapTotal /proc/meminfo ## 获取内存使用详情 free -m

检查存储空间

DM完全安装需要1GB的存储空间,用户需要提前规划好安装目录,预留足够的存储空间。用户在DM安装前也应该为数据库实例预留足够的存储空间,规划好数据路径和备份路径。

## 查询目录 /dm 可用空间 df -h /dm ## /tmp目录保证1GB的存储空间 df -h /tmp

配置环境变量

## 配置 dmdba 环境变量 cat <<EOF>>/home/dmdba/.bash_profile umask 022 export TMP=/tmp export TMPDIR=\$TMP export DM_HOME="/dm" export LD_LIBRARY_PATH="\$LD_LIBRARY_PATH:\$DM_HOME/bin" export PATH=/usr/sbin:\$PATH export PATH=\$DM_HOME/bin:\$PATH export PS1="[\`whoami\`@\`hostname\`:"'\$PWD]\$ ' alias ds='disql sysdba' EOF ## 查看环境变量 cat /home/dmdba/.bash_profile | grep -v "^$" | grep -v "^#"

🍯 安装 DM8 数据库

安装同时支持图形化安装,命令行安装,静默安装三种方式。由于我没有安装图形化界面,因此使用 命令行安装 方式进行安装。

用户应登录或切换到安装系统用户,进行以下安装步骤的操作(注:不建议使用root系统用户进行安装)。

挂载 DM ISO 镜像

官网下载的 DM8 安装包解压下来是一个 ISO 镜像文件,因此需要挂载取出安装文件,才能开始安装。

## 挂载 DM iso 镜像文件 cd /soft/dm8_20210630_x86_rh6_64_ent mount -o loop dm8_20210630_x86_rh6_64_ent_8.1.2.18_pack7.iso /opt ## 拷贝安装文件至 /soft cp /opt/DM* /soft ## 取消挂载 umount /opt ## 目录授权 chown -R dmdba:dinstall /soft chmod -R 775 /soft ll /soft

命令行安装

1、执行安装命令:

## 切换至 dmdba 用户 su - dmdba cd /soft/ ## 执行命令行安装 ./DMInstall.bin -i

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

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

4、root 用户执行 root 脚本:

su - root /dm/script/root/root_installer.sh

命令行配置实例

使用 dmdba 用户配置实例,使用 dminit 命令初始化实例。

su - dmdba ## 使用默认参数初始化实例,需要附加实例存放路径 /dmdata dminit path=/dmdata

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

需要注意的是 页大小 (PAGE_SIZE)、簇大小 (EXTENT_SIZE)、大小写敏感 (CASE_SENSITIVE)、字符集 (CHARSET/UNICODE_FLAG)、VARCHAR类型长度(LENGTH_IN_CHAR) 这几个参数,一旦确定无法修改,需谨慎设置。

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

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

dminit path=/dmdata PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=1 DB_NAME=DMDB INSTANCE_NAME=LUCIFER

命令行注册服务

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

cd /dm/script/root ## 注册服务 ./dm_service_installer.sh -t dmserver -dm_ini /dmdata/DMDB/dm.ini -p DMSERVER ## 配置服务开机自启 systemctl enable DmServiceDMSERVER.service ## 开启服务 systemctl start DmServiceDMSERVER.service ## 查看服务状态 systemctl status DmServiceDMSERVER.service

命令行启停数据库

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

cd /dm8/bin ## 查看当前数据库服务状态 systemctl status DmServiceDMSERVER.service ## 关闭数据库 systemctl stop DmServiceDMSERVER.service ## 打开数据库 systemctl start DmServiceDMSERVER.service 或者 dmserver /dmdata/DMDB/dm.ini ## 重启数据库 systemctl restart DmServiceDMSERVER.service

也可以通过以下命令执行:

DmServiceDMSERVER start/stop/restart/status

连接访问数据库

disql sysdba

🥈 Docker 下 DM 的安装

🏈 安装前准备

软硬件 版本
终端 X86-64 架构
Docker 19.0 及以上版本

🏀 下载 Docker 安装包

## 在根目录下创建 /dm8 文件夹,用来放置下载的 Docker 安装包。命令如下: mkdir -p /Volumes/DBA/dm8 ## 切换到 /dm8 目录,下载 DM Docker 安装包。命令如下: cd /Volumes/DBA/dm8 wget -O dm8_docker.tar -c https://download.dameng.com/eco/dm8/dm8_docker.tar

⚽️ 导入镜像

下载完成后,导入安装包,打开 docker ,使用如下命令:

docker import dm8_docker.tar dm8:v01

导入完成后,可以使用 docker images 来查看导入的镜像,命令如下:

docker images

查看结果如下:

⚾️ 启动容器

镜像导入后,使用 docker run 来启动容器,默认的端口 5236 默认的账号密码 ,启动命令如下:

docker run -itd -p 5236:5236 --name dm8_01 dm8:v01 /bin/bash /startDm.sh

容器启动完成后,使用 docker ps 来查看镜像的启动情况,命令如下:

docker ps

启动完成后,可以查看日志来查看启动情况,命令如下:

docker logs -f dm8_01

显示内容如下,则表示启动成功。

🎾 数据库启停

命令如下:

docker stop/start/restart dm8_01

🎱 连接 docker

## 获取容器 ID docker ps ## 连接容器 docker exec -it acd3a2211b52 /bin/bash ## 切换 dmdba 用户 su - dmdba ## 连接数据库 cd /dm8/bin ./disql

📢 注意:如果使用docker容器里面的 disql ,进入容器后,先执行 source /etc/profile 防止中文乱码。

🏅 Windows 下 DM 的安装

🍎 安装前准备

检查系统信息

用户在安装 DM 数据库前,需要检查当前操作系统的相关信息,确认 DM 数据库安装程序与当前操作系统匹配,以保证 DM 数据库能够正确安装和运行。

用户可以在终端通过 Win+R 打开运行窗口,输入 cmd,打开命令行工具,输入 systeminfo 命令进行查询,如下图所示:

检查系统内存

为了保证 DM 数据库的正确安装和运行,要尽量保证操作系统至少 1 GB 以上的可用内存 (RAM)。如果可用内存过少,可能导致 DM 数据库安装或启动失败。

用户可以通过【任务管理器】查看可用内存,如下图所示:

检查存储空间

DM 完全安装需要至少 1 GB 以上的存储空间,用户需要提前规划好安装目录,预留足够的存储空间。

用户在 DM 安装前也应该为数据库实例预留足够的存储空间,规划好数据路径和备份路径。

🍉 安装 DM8 数据库

上传安装包,解压挂载,复制出安装文件,开始安装!

选择语言与时区

双击运行【setup.exe】安装程序,请根据系统配置选择相应语言与时区,点击【确定】按钮继续安装。如下图所示:

安装向导

点击【下一步】按钮继续安装,如下图所示:

许可证协议

在安装和使用 DM 数据库之前,需要用户阅读并接受许可证协议,如下图所示:

查看版本信息

用户可以查看 DM 服务器、客户端等各组件相应的版本信息。

验证 Key 文件环节可跳过,如果没有 Key 文件,点击【下一步】即可。

选择安装组件

DM 安装程序提供四种安装方式:“典型安装”、“服务器安装”、“客户端安装”和“自定义安装”,此处建议选择【典型安装】,如下图所示:

  • 典型安装包括:服务器、客户端、驱动、用户手册、数据库服务。
  • 服务器安装包括:服务器、驱动、用户手册、数据库服务。
  • 客户端安装包括:客户端、驱动、用户手册。
  • 自定义安装包括:用户根据需求勾选组件,可以是服务器、客户端、驱动、用户手册、数据库服务中的任意组合。

选择安装目录

DM 默认安装在 C:\dmdbms 目录下,不建议使用默认目录,改为其他任意盘符即可,以 E:\dmdbs 为例,如下图所示:

这里我只有一个 C 盘,因此直接默认安装!

📢 注意:安装路径里的目录名由英文字母、数字和下划线等组成,不建议使用包含空格和中文字符的路径等。

安装前小结

显示用户即将进行的数据库安装信息,例如产品名称、版本信息、安装类型、安装目录、可用空间、可用内存等信息,用户检查无误后点击【安装】按钮进行 DM 数据库的安装,如下图所示:

数据库安装

安装过程需耐心等待 1~2 分钟,如下图所示:

image.png

数据库安装完成

数据库安装完成后,请选择【初始化】数据库:

🍏 配置实例

选择操作方式

此处建议选择【创建数据库实例】,点击【开始】进入下一步骤,如下图所示:

创建数据库模板

此处建议选择【一般用途】即可,如下图所示:

选择数据库目录

本例中数据库安装路径为 C:\dmdbs,如下图所示:

输入数据库标识

输入数据库名称、实例名、端口号等参数,如下图所示:

数据库文件所在位置

此处选择默认配置即可,如下图所示:

用户可通过选择或输入确定数据库控制、数据库日志等文件的所在位置,并可通过右侧功能按钮,对文件进行添加或删除。

数据库初始化参数

此处选择默认配置即可,如下图所示:

用户可输入数据库相关参数,如簇大小、页大小、日志文件大小、选择字符集、是否大小写敏感等。

常见参数说明:

  • EXTENT_SIZE 数据文件使用的簇大小 (16),可选值: 16、 32、 64,单位:页
  • PAGE_SIZE 数据页大小 (8),可选值: 4、 8、 16、 32,单位: KB
  • LOG_SIZE 日志文件大小 (256),单位为: MB,范围为: 64 MB~2 GB
  • CASE_SENSITIVE 大小敏感 (Y),可选值: Y/N, 1/0
  • CHARSET/UNICODE_FLAG 字符集 (0),可选值: 0[GB18030], 1[UTF-8], 2[EUC-KR]

口令管理

此处选择默认配置即可,默认口令与登录名一致,如下图所示:

用户可输入 SYSDBA,SYSAUDITOR 的密码,对默认口令进行更改,如果安装版本为安全版,将会增加 SYSSSO 用户的密码修改。

选择创建示例库

此处建议勾选创建示例库 BOOKSHOP 或 DMHR,作为测试环境,如下图所示:

创建数据库摘要

在安装数据库之前,将显示用户通过数据库配置工具设置的相关参数。点击【完成】进行数据库实例的初始化工作,如下图所示:

安装完成

安装完成后将弹出数据库相关参数及文件位置。点击【完成】即可,如下图所示:

数据库启停

数据库安装路径下 tool 目录,双击运行 dmservice.exe 程序可以查看到对应服务,选择【启动】或【停止】服务。如下图所示:

当然,也可以通过 cmd 命令行进行启动:

cd C:\dmdbms\bin dmserver.exe C:\dmdbms\data\DAMENG\dm.ini

🎯 写在最后

达梦8 数据库安装总体来说,还算简单。但是有一说一,官方文档确实比较简单,不够细致,有待改进!


往期精彩文章

Oracle 一键巡检自动生成 Word 报告
Oracle 一键安装合集
Oracle一键安装脚本的 21 个疑问与解答
Oracle一键巡检脚本的 21 个疑问与解答
全网首发:Oracle 23ai 一键安装脚本(非 RPM)
Oracle 19C 最新 RU 补丁 19.24 ,一键安装!
Oracle Linux 7.9 一键安装 Oracle 19C
RedHat 9.4(aarch64) 一键安装 Oracle 19C
openEuler 22.03 LTS SP4 一键安装 Oracle 19C RAC
RHEL 7.9 一键安装 Oracle 19C 19.23 RAC
Oracle DataGuard GAP 修复手册
优化 Oracle:最佳实践与开发规范
DBA 必备:Linux 软件源配置全攻略
Linux 一键配置时钟同步全攻略


感谢您的阅读,这里是 Lucifer三思而后行,欢迎点赞+关注,我会持续分享数据库知识、运维技巧。

最后修改时间:2024-08-09 11:30:58
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
2人已赞赏
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论