目录
硬件资料... 2
Linux环境... 2
安装前准备工作... 2
1. 关闭SELinux. 2
2.关闭防火墙并关闭开机自启动... 2
3.添加端口到白名单(不能关闭防火墙的话)... 2
4.检查网络信息... 3
5.磁盘规划及挂载... 3
6.测试磁盘IO.. 3
7.检查磁盘调度算法... 3
8.关闭SWAP. 4
9.检查NUMA是否关闭... 5
10.禁用透明大页... 5
11.创建数据库用户... 6
12.调整sysctl.conf参数... 7
13.调整limits.conf参数... 8
14.调整system.conf参数... 9
15.调整nproc.conf参数... 9
16.调整profile参数... 10
17.CPU超线程检查... 11
18.麒麟v10 SP1版本检查RemoveIPC参数设置... 12
19.调整login. 12
数据库安装(命令行)... 13
1.挂载镜像... 13
2.命令行安装... 13
配置实例(命令行)... 14
注册服务(命令行)... 14
启停数据库(命令行)... 14
Docker安装... 15
数据库目录结构介绍... 16
Windows环境... 18
安装前准备... 18
安装数据库... 18
硬件资料
虚拟机
操作系统:centos8
CPU:x86_64
数据库文件:dm8_20210927_x86_rh6_64_ent_8.1.2.70_pack2.iso
Linux环境
安装前准备工作
- 关闭SELinux(建议最好关掉,否则systemctl启动时会有问题)
- 关闭SELinux(建议最好关掉,否则systemctl启动时会有问题)
图 1
2.关闭防火墙并关闭开机自启动
图 2
3.添加端口到白名单(不能关闭防火墙的话)
图 3
4.检查网络信息
sar -n DEV 1 100
图 4
5.磁盘规划及挂载(由于是安装虚拟机测试,未规划)
6.测试磁盘IO
图 5
参数注释:
1.bs=设置块的读写大小2. if=文件名:输入文件名。3. of=文件名:输出文件名。4、count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。5、oflag指定写的方式,dsync读写数据采用同步IO;
7.检查磁盘调度算法
通过lsblk命令找到数据盘对应的物理盘
检查sda磁盘的调度算法
cat /sys/block/nvme0n1/queue/scheduler
vi /boot/grub2/menu.lst
kernel /boot/vmlinuz-2.6.32-504.el6 ro root=LABEL=/ elevator=deadline rhgb quiet
图 6
上图为失败截图,网络资料显示修改menu.lst是centOS6的方法;
CentOS7以上目前使用以下语句:
grubby --update-kernel=ALL --args="elevator=deadline"
重启后生效
图 7
8.关闭SWAP
关闭意义:在Linux下,SWAP的作用类似Windows系统下的“虚拟内存”。当物理内存不足时,拿出部分硬盘空间当SWAP分区(虚拟成内存)使用,从而解决内存容量不足的情况。
数据库系统一般都对响应延迟比较敏感,如果使用swap代替内存,数据库服务性能必然不可接受。
注:Swap的关闭需要视情况而定,内存充裕(较大)关闭,内存太小不关闭。
图 8
9.检查NUMA是否关闭
图 9
理解为较高内存占用压力下,自己Node下的内存不够用,会频繁触发内存回收机制,内耗严重;(联想到的业务场景是数据量较大的时候,单Node内存不够用;不知是否正确)
--编辑grub文件,如下图所示加上:numa=off
vi /etc/default/grub
图 10
--重新生成/etc/grub2.cfg 配置文件:
grub2-mkconfig -o /etc/grub2.cfg
图 11
--重启操作系统并确认
图 12
10.禁用透明大页
意义:如果存在频繁映射内存或者生命周期很短的现象,khugepaged会进行大量的拆分合并内存区域的无意义工作,可能会引起很高的CPU使用率,导致卡顿
图 13
关闭命令:vi /etc/default/grub 加上transparent_hugepage=never
图 14
--重新生成/etc/grub2.cfg 配置文件;
grub2-mkconfig -o /etc/grub2.cfg
--重启系统并再次确认
reboot
cat /sys/kernel/mm/transparent_hugepage/enabled
图 15
11.创建数据库用户
图 16
groupadd dinstall
useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
passwd dmdba
mkdir /dm8#创建安装目录
chown dmdba:dinstall -R /dm8/#更改所有者
chmod -R 755 /dm8#更改权限
图 17
12.调整sysctl.conf参数
参数文件介绍:/etc/sysctl.conf是一个允许改变正在运行中的Linux系统的接口,它包含一些TCP/IP堆栈和虚拟内存系统的高级选项,修改内核参数永久生效。
调整项介绍:
配置参数overcommit_memory表示系统的内存分配策略可以选值为0,1,2。
0,表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
1,表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
2,表示内核允许分配超过所有物理内存和交换空间总和的内存。
操作命令:
用root用户编辑配置文件编辑vim /etc/sysctl.conf
修改vm.overcommit_memory=0
然后执行sysctl -p 使配置文件生效
图 18
13.调整limits.conf参数
参数介绍:在Linux和 HP-UNIX 等系统中,操作系统默认会对程序使用操作系统资源进行限制。如果不取消对应的限制,那么数据库的性能将会受到影响。
图 19
命令:
vi /etc/security/limits.conf
在后边添加:
dmdba soft nproc 10240
dmdba hard nproc 10240
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba hard data unlimited
dmdba soft data unlimited
dmdba hard fsize unlimited
dmdba soft fsize unlimited
dmdba soft core unlimited
dmdba hard core unlimited
图 20
ulimit -a ##确认是否生效(此时如果未创建用户,不会生效;需要创建用户并重启后,切换用户查看)
14.调整system.conf参数
图 21
图 22
操作命令:
编辑配置文件/etc/systemd/system.conf
[root@dm~]# vim /etc/systemd/system.conf
添加配置:
DefaultLimitNOFILE=65536
DefaultLimitNPROC=10240
图 23
保存退出后需要重启服务器才能生效
15.调整nproc.conf参数
图 24
图 25
操作命令:
编辑配置文件/etc/security/limits.d/nproc.conf
[root@dm~]# vi /etc/security/limits.d/nproc.conf
添加配置:
dmdba soft nproc 65536
dmdba hard nproc 65536
如果是在/etc/security/limits.conf 修改最大用户进程数,那就注释掉/etc/security/limits.d/90-nproc.conf文件中的内容即可;(以上应该仅供老版本参考)
我这块是在/etc/security/limits.conf中修改过,内容如下
图 26
16.调整profile参数
图 27
图 28
操作命令:
su - dmdba
vi .bash_profile
export DM_HOME="/dm8"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/dm8/bin"
export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool
保存文件后执行source .bash_profile 生效
图 29
17.CPU超线程检查
图 30
图 31
18.麒麟v10 SP1版本检查RemoveIPC参数设置
图 32
19.调整login
图 33
操作命令:
[root@~]# vi /etc/pam.d/login
session required /lib64/security/pam_limits.so
session required pam_limits.so
图 34
安装前工作完毕
数据库安装(命令行)
1.挂载镜像
切换到 root 用户,将 DM 数据库的 iso 安装包保存在任意位置,例如 /opt 目录下,执行如下命令挂载镜像:
mount -o loop /opt/dm8_setup_rh7_64_ent_8.1.1.45_20191121.iso /mnt
2.命令行安装
su - dmdba
cd /mnt/
./DMInstall.bin -i(不带-i是图形化安装)
图 35
图 36
图 37
配置实例(命令行)
可以使用默认参数初始化实例,需要附加实例存放路径,命令如下:
./dminit path=/dm8/data(其中dm8是安装路径)
注册服务(命令行)
注册服务需使用 root 用户进行注册。使用 root 用户进入数据库安装目录的 /script/root 下,如下所示:
cd /dm8/script/root
注册服务,如下所示:
./dm_service_installer.sh -t dmserver -dm_ini /dm8/data/DAMENG/dm.ini -p DMSERVER
启停数据库(命令行)
服务注册成功后,启动数据库,如下所示:
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
图 38
安装结束,在bin/目录下运行disql进行使用
Docker安装
--进入安装目录
cd /dm8
--下载Docker
wget -O dm8_docker.tar -c https://download.dameng.com/eco/dm8/dm8_docker.tar
--下载完成后导入安装包
docker import dm8_docker.tar dm8:v01
--导入完查看导入的镜像
图 39
--启动容器
镜像导入后,使用 docker run 来启动容器,默认的端口 5236 默认的账号密码 ,启动命令如下:docker run -itd -p 5236:5236 --name dm8_01 dm8:v01 /bin/bash /startDm.sh
(一开始执行命令提示端口被占用了,将达梦数据库服务停了就能启动了)
图 40
查看日志,显示如下即为启动成功
--docker logs -f dm8_01
图 41
启停数据库命令:
停止命令:docker stop dm8_01
启动命令:docker start dm8_01
重启命令:docker restart dm8_01
数据库目录结构介绍
图 42
/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 为数据库实例目录,该目录存放各个实例的文件。
图 43
Windows环境
安装前准备
检查系统信息
Cmd下运行systeminfo
图 44
检查系统空闲内存,至少需要1GB以上
检查系统空闲磁盘,至少需要1GB以上;安装前规划好安装目录,数据目录及备份目录,预留足够的存储空间
安装数据库
点击setup.exe进行安装
典型安装即可,包括服务器、客户端、驱动、用户手册、数据库服务
图 45
安装后点击初始化,按标准模式直接安
图 46
初始化结果
图 47
在数据库安装目录的tool下运行dmservice.exe 程序可以查看到对应服务
以上为个人安装笔记,欢迎交流。
点击下方链接,也可进入达梦技术交流社区
达梦数据库 - 新一代大型通用关系型数据库 | 达梦云适配中心



