Linux 7 x86平台上安装达梦8数据库

1、环境描述

2、安装前准备

2.1 操作系统信息调研

Linux平台需要通过命令查看操作系统版本、位数、磁盘空间、内存等信息。
CPU信息

复制代码
[root@ray1 ~]# cat /proc/cpuinfo | grep -E "physical id|core id|cpu cores|siblings|cpu MHz|model name|cache size"|tail -n 7
model name      : AMD Ryzen 9 7945HX with Radeon Graphics
cpu MHz         : 2495.312
cache size      : 1024 KB
physical id     : 0
siblings        : 2
core id         : 1
cpu cores       : 2

操作系统位数

复制代码
[root@ray1 ~]# getconf LONG_BIT
64

内核版本

复制代码
[root@ray1 ~]# cat /proc/version
Linux version 3.10.0-1127.el7.x86_64 (mockbuild@x86-034.build.eng.bos.redhat.com) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) ) #1 SMP Tue Feb 18 16:39:12 EST 2020

操作系统版本

复制代码
[root@ray1 ~]# cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 7.8 (Maipo)
[root@ray1 ~]# 
[root@ray1 ~]# uname -a
Linux ray1 3.10.0-1127.el7.x86_64 #1 SMP Tue Feb 18 16:39:12 EST 2020 x86_64 x86_64 x86_64 GNU/Linux

内存信息

复制代码
[root@ray1 ~]# free -g
              total        used        free      shared  buff/cache   available
Mem:              3           0           3           0           0           3
Swap:             3           0           3

磁盘信息

复制代码
[root@ray1 ~]# df -Th
Filesystem            Type      Size  Used Avail Use% Mounted on
devtmpfs              devtmpfs  2.0G     0  2.0G   0% /dev
tmpfs                 tmpfs     2.0G     0  2.0G   0% /dev/shm
tmpfs                 tmpfs     2.0G   13M  2.0G   1% /run
tmpfs                 tmpfs     2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/mapper/rhel-root xfs        46G  3.9G   42G   9% /
/dev/sda1             xfs       997M  170M  828M  18% /boot
tmpfs                 tmpfs     394M     0  394M   0% /run/user/0

网卡信息

复制代码
[root@ray1 ~]# ifconfig -a
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.1  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::8e68:33f4:c4a:b8bf  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:3a:5f:91  txqueuelen 1000  (Ethernet)
        RX packets 1035  bytes 115699 (112.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 594  bytes 98878 (96.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 68  bytes 5448 (5.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 68  bytes 5448 (5.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:bb:76:33  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0-nic: flags=4098<BROADCAST,MULTICAST>  mtu 1500
        ether 52:54:00:bb:76:33  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

2.2 下载达梦数据库安装介质

可通过达梦官网根据操作系统类型、版本、CPU等信息下载相应版本的数据库安装介质。达梦官网下载链接为:https://eco.dameng.com/download/。

2.3 操作系统配置

2.3.1 配置主机名

复制代码
[root@ray1 ~]# hostnamectl set-hostname ray1
[root@ray1 ~]# vi /etc/hosts
添加:
192.168.0.1 ray1

2.3.2 关闭防火墙

复制代码
[root@ray1 ~]# systemctl stop firewalld
[root@ray1 ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@ray1 ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Wed 2024-08-14 14:35:51 CST; 7s ago
     Docs: man:firewalld(1)
  Process: 876 ExecStart=/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS (code=exited, status=0/SUCCESS)
 Main PID: 876 (code=exited, status=0/SUCCESS)
Aug 14 13:54:33 ray1 systemd[1]: Starting firewalld - dynamic firewall daemon...
Aug 14 13:54:34 ray1 systemd[1]: Started firewalld - dynamic firewall daemon.
Aug 14 14:35:51 ray1 systemd[1]: Stopping firewalld - dynamic firewall daemon...
Aug 14 14:35:51 ray1 systemd[1]: Stopped firewalld - dynamic firewall daemon.
[root@ray1 ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
[root@ray1 ~]# cat /etc/selinux/config 

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted
[root@ray1 ~]# getenforce 
Enforcing
[root@ray1 ~]# setenforce 0
[root@ray1 ~]# getenforce 
Permissive

2.3.3 关闭操作系统Transparent Huge Pages

复制代码
[root@ray1 ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never
[root@ray1 ~]# echo "[vm]">>/usr/lib/tuned/throughput-performance/tuned.conf
[root@ray1 ~]# echo "transparent_hugepages=never">>/usr/lib/tuned/throughput-performance/tuned.conf

重启操作系统后验证:

复制代码
[root@ray1 ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]

2.3.4 更改磁盘调度算法

Linux 6 上的默认磁盘调度算法为CFQ(完全公平排队I/O调度算法),该算法的I/O分配是基于进程/线程平均分配的,并不适用于数据库这样希望大部分I/O都应用到数据库进程的系统。DEADLINE算法(截止时间调度)确保一个截止时间内服务请求,更适用与数据库系统。但是LINUX 7已经将默认的磁盘调度算法更改为DEADLINE。查看磁盘的调度算法:

复制代码
[root@ray1 ~]# cat /sys/block/sda/queue/scheduler 
noop [deadline] cfq

若调度算法为cfq,需要更改为deadline,可通过如下命令:

复制代码
[root@ray1 ~]# echo "deadline" > noop anticipatory deadline [cfq]

2.3.5 关闭NUMA

NUMA(Non-Uniform Memory Access)架构是为了解决多CPU下内存访问冲突,简单来说不在将整个物理内存作为一个整体,而是根据不同的CPU区分不同的内存块,如2颗CPU每颗CPU使用64G内存。当NUMA参数zone_reclaim_mode在设置为1时,内核将要求多路CPU 尽量从距离较近的系统内存节点(服务器的整体内存在numa架构下将被分成若干个节点)分配内存而不是在整个服务器可访问内存的范围内进行内存分配,因此在较高内存占用压力下内存申请会触发内存频繁回收整理的机制严重影响了系统整体性能(长期处于内核态sys很高)。进而可能导致SQL卡顿问题的发生。

查看NUMA是否启用:

复制代码
[root@ray1 ~]# dmesg|grep -i numa
[    0.000000] NUMA: Node 0 [mem 0x00000000-0x0009ffff] + [mem 0x00100000-0x7fffffff] -> [mem 0x00000000-0x7fffffff]
#NUMA:Node 0表示NUMA已启用

关闭NUMA:

1、修改grub文件

复制代码
[root@ray1 ~]# vi /etc/default/grub

2、重建grub文件

复制代码
[root@ray1 ~]# grub2-mkconfig -o /etc/grub2.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-1127.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1127.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-5df2d14ceffd4a389d53b7508bc2bb0e
Found initrd image: /boot/initramfs-0-rescue-5df2d14ceffd4a389d53b7508bc2bb0e.img
done

3、重启操作系统后检查numa状态

复制代码
[root@ray1 ~]# dmesg | grep -i numa
[    0.000000] Command line: BOOT_IMAGE=/vmlinuz-3.10.0-1127.el7.x86_64 root=/dev/mapper/rhel-root ro rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet numa=off
[    0.000000] NUMA turned off
[    0.000000] Kernel command line: BOOT_IMAGE=/vmlinuz-3.10.0-1127.el7.x86_64 root=/dev/mapper/rhel-root ro rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quietnuma=off
[root@ray1 ~]# cat /proc/cmdline 
BOOT_IMAGE=/vmlinuz-3.10.0-1127.el7.x86_64 root=/dev/mapper/rhel-root ro rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet numa=off

2.3.6 创建用户组和用户

复制代码
[root@ray1 ~]# groupadd dinstall -g 2001
[root@ray1 ~]# useradd  -G dinstall -m -d /home/dmdba -s /bin/bash -u 2001 dmdba
[root@ray1 ~]# passwd dmdba
Changing password for user dmdba.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.

2.4 配置内核参数

复制代码
[root@ray1 ~]# vi /etc/security/limits.conf
添加:
dmdba  soft      nice       0
dmdba  hard      nice       0
dmdba  soft      as         unlimited
dmdba  hard      as         unlimited
dmdba  soft      fsize      unlimited
dmdba  hard      fsize      unlimited
dmdba  soft      nproc      65536
dmdba  hard      nproc      65536
dmdba  soft      nofile     65536
dmdba  hard      nofile     65536
dmdba  soft      core       unlimited
dmdba  hard      core       unlimited
dmdba  soft      data       unlimited
dmdba  hard      data       unlimited

重启后验证:

复制代码
[root@ray1 ~]# su - dmdba
Last login: Wed Aug 14 15:16:38 CST 2024 on pts/0
[dmdba@ray1 ~]$ ulimit -a
core file size          (blocks, -c) unlimited
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 20
file size               (blocks, -f) unlimited
pending signals                 (-i) 15594
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) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 65536
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

2.5 创建目录并赋权

  • 数据库软件安装目录:/dmdba/dmrdbms

  • 实例保存目录:/dmdba/data

  • 归档保存目录:/dmdba/arch

  • 备份保存目录:/dmdba/dmbak

    [root@ray1 ~]# mkdir -p /dmdba/dmrdbms
    [root@ray1 ~]# mkdir -p /dmdba/data
    [root@ray1 ~]# mkdir -p /dmdba/arch
    [root@ray1 ~]# mkdir -p /dmdba/dmbak
    [root@ray1 ~]# chown -R dmdba:dinstall /dmdba
    [root@ray1 ~]# chmod -R 775 /dmdba

2.6 挂载镜像

将下载好的达梦数据库安装介质传输至服务器,并解压.zip文件。

复制代码
[root@ray1 ~]# cd /soft/
[root@ray1 soft]# ll
total 1060656
-rw-r--r-- 1 root root 1086108981 Aug 14 12:52 dm8_20240712_x86_rh7_64.zip
[root@ray1 soft]# unzip dm8_20240712_x86_rh7_64.zip 
Archive:  dm8_20240712_x86_rh7_64.zip
  inflating: dm8_20240712_x86_rh7_64.README  
  inflating: dm8_20240712_x86_rh7_64.iso  
  inflating: dm8_20240712_x86_rh7_64.iso_SHA256.txt  
[root@ray1 soft]# ll
total 2138612
-rw-r--r-- 1 root root 1103818752 Jul 26 17:36 dm8_20240712_x86_rh7_64.iso
-rw-r--r-- 1 root root        100 Jul 26 17:37 dm8_20240712_x86_rh7_64.iso_SHA256.txt
-rw-r--r-- 1 root root        240 Jul 26 17:36 dm8_20240712_x86_rh7_64.README
-rw-r--r-- 1 root root 1086108981 Aug 14 12:52 dm8_20240712_x86_rh7_64.zip

将ISO文件挂载至光驱

复制代码
[root@ray1 soft]# mount -o loop dm8_20240712_x86_rh7_64.iso /mnt/
mount: /dev/loop0 is write-protected, mounting read-only
[root@ray1 soft]# df -Th
Filesystem            Type      Size  Used Avail Use% Mounted on
devtmpfs              devtmpfs  2.0G     0  2.0G   0% /dev
tmpfs                 tmpfs     2.0G     0  2.0G   0% /dev/shm
tmpfs                 tmpfs     2.0G   12M  2.0G   1% /run
tmpfs                 tmpfs     2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/mapper/rhel-root xfs        46G  5.9G   40G  14% /
/dev/sda1             xfs       997M  170M  828M  18% /boot
tmpfs                 tmpfs     394M     0  394M   0% /run/user/0
/dev/loop0            iso9660   1.1G  1.1G     0 100% /mnt

3、 数据库软件安装

3.1 图形界面安装

复制代码
[dmdba@ray1 ~]$ export DISPLAY=192.168.0.201:0.0
[dmdba@ray1 ~]$ cd /mnt/
[dmdba@ray1 mnt]$ ./DMInstall.bin 
Extract install files.........

选择需要的语言、时区,点击确定。

点击下一步。

接受许可协议,点击下一步。

选择key文件路径,点击下一步。

选择【典型安装】,点击下一步。

输入达梦数据库软件安装目录,点击下一步。

点击确定、下一步。

再次确认各项配置、所需资源等,确认无误点击安装。

等待安装结束。

以root用户运行脚本,运行完成后点击确定。

复制代码
[root@ray1 ~]# /dmdba/dmrdbms/script/root/root_installer.sh
移动 /dmdba/dmrdbms/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服务

点击完成。

3.2 配置环境变量

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

复制代码
[root@ray1 ~]# vi /home/dmdba/.bash_profile
添加:
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/dmdba/dmrdbms/bin"
export DM_HOME="/dmdba/dmrdbms"
export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool
[root@ray1 ~]# su - dmdba
Last login: Wed Aug 14 15:35:08 CST 2024 on pts/0
[dmdba@ray1 ~]$ source .bash_profile

3.3 图形界面初始化数据库实例

复制代码
[root@ray1 ~]# su - dmdba
Last login: Wed Aug 14 15:48:02 CST 2024 on pts/1
[dmdba@ray1 ~]$ export DISPLAY=192.168.0.201:0.0
[dmdba@ray1 ~]$ cd $DM_HOME/tool
[dmdba@ray1 tool]$ ./dbca.sh

选择创建数据库实例,点击开始。

选择一般用途、自动调整数据库性能参数、高性能,点击下一步。

选择数据库事先规划的数据库实例目录,点击下一步。

按需填入数据库名、实例名、端口号、是否需要路径拼接数据库名。点击下一步。



按需输入数据库各类文件路径、名称等,点击下一步。

按需设置簇大小、页大小、日志文件大小、字符集、大小写敏感等相关参数,点击下一步。

配置数据库口令,点击下一步。

是否要创建示例数据库,点击下一步。

再次确认数据库各项信息,点击完成。

等待数据库创建完成。

以root用户执行脚本,运行完成后点击确定。

复制代码
[root@ray1 ~]# mv /dmdba/dmrdbms/bin/DmServiceDMSERVER.service /usr/lib/systemd/system/DmServiceDMSERVER.service
[root@ray1 ~]# systemctl enable DmServiceDMSERVER.service
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceDMSERVER.service to /usr/lib/systemd/system/DmServiceDMSERVER.service.
[root@ray1 ~]# systemctl start DmServiceDMSERVER.service

脚本已经执行完成,点击是。

点击确定。

root用户执行脚本,重启数据库服务。

复制代码
[root@ray1 ~]# systemctl restart DmServiceDMSERVER.service

脚本执行完成后点击是。

数据库创建完成,点击完成。

3.4 图形界面注册数据库实例服务

通过dbca图形界面完成的初始化数据库实例,数据库实例服务会自动注册,无需单独执行注册数据库实例服务步骤。

至此,DM8数据库在RHEL7.8 x86 64bit上安装完成。

关于数据库连接、启停以及其他日常运维操作,参考其他篇博客,感谢关注。

相关推荐
PascalMing4 分钟前
ubuntu 24.04安装dotnet 10日志
linux·运维·ubuntu·dotnet10
optimistic_chen9 分钟前
【Docker入门】容器技术
linux·运维·服务器·docker·容器
Lueeee.11 分钟前
2.智梯云枢・全维管控广告系统——解决串口卡顿 + 优化稳定性
linux·运维·服务器
南行*12 分钟前
C语言Linux环境编程
linux·c语言·开发语言·网络安全
海清河晏11112 分钟前
Linux进阶篇:HTTP协议
linux·运维·http
June`14 分钟前
IO模型全解析:从阻塞到异步(高并发的reactor模型)
linux·服务器·网络·c++
正在走向自律17 分钟前
金仓数据库KingbaseES基础语法详解与实践指南
数据库·国产数据库·ddl·dml·kingbasees·sql语法·电科金仓
alonewolf_9918 分钟前
MySQL全局优化详解与8.0新特性全面解读
数据库·mysql
ASS-ASH20 分钟前
快速处理虚拟机磁盘扩容问题
linux·数据库·vmware·虚拟机·磁盘扩容
AI_567820 分钟前
零基础学Linux:21天从“命令小白”到独立部署服务器
linux·服务器·人工智能·github