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

达梦数据库学习系列之基于CentOS7部署DM8单机版

麻瓜的DBA生活 2021-12-09
1168

达梦数据库作为国产数据库的佼佼者,已在各行各业信息系统中大量部署使用。本文主要讲解生产环境中,基于CentOS7规范部署DM8单机版数据库的步骤。

一.安装规划

在生产环境中(Linux 系统)中,规范化部署 DM8 数据库单机需对部署服务器硬件、操作系统版本进行详细规划,避免后期上线后踩坑。

1.服务器硬件配置建议

根据实际业务需求,服务器硬件配置参考如下:
硬件要求
物理内存>= 16 GB
交换区Swap 空间>=物理内存
/tmp大小> 1000 MB
网络物理机器建议配置 2 个1000M以上网卡,并做 band
磁盘根据实际应用系统需要挂载合适大小磁盘
时间服务器按机房要求配置连接时间服务器

2. 服务器操作系统要求

DM8 数据库支持在RHEL/CENTOS 6/7/8操作系统下安装部署,本文演示DM8在CentOS7.6操作系统下的安装部署过程。
3. 目录与存储规划
用途目录路径备注
数据库软件安装目录/dmdbms可用空间> 50 GB
实例安装目录/dmdata单独挂载性能最好的磁盘建议 SSD
归档日志存放目录/dmarch单独挂载磁盘
备份文件存放目录/dmbak单独挂载磁盘
二. 操作系统调整

1.操作系统内核查询

uname -a

log:

[dmdba@alldb ~]$ uname -a
Linux alldb 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

2.RPM包检查及安装

rpm -qa|grep glibc

yum install -y glibc*

log:

[dmdba@alldb ~]$ rpm -qa|grep glibc
glibc-headers-2.17-324.el7_9.x86_64
glibc-common-2.17-324.el7_9.x86_64
glibc-devel-2.17-324.el7_9.x86_64
glibc-2.17-324.el7_9.x86_64

3.创建安装相关目录

  • 在生产环境中,建议将除软件目录外的数据目录、归档目录、备份目录存放于存储设备中,以提升性能及数据安全性。


mkdir -p /dmdbms
mkdir -p /dmdata
mkdir -p /dmarch
mkdir -p /dmbak
chown -R dmdba:dinstall /dmdbms
chown -R dmdba:dinstall /dmdata
chown -R dmdba:dinstall /dmarch
chown -R dmdba:dinstall /dmbak
chmod -R 755 /dmdbms
chmod -R 755 /dmdata
chmod -R 755 /dmarch
chmod -R 755 /dmbak

4.用户与组

DM 数据库不应该使用 root 用户安装和维护。需要在安装之前为 DM 数据库创建一个专用的系统用户 (dmdba) 和用户组 (dinstall)。
执行以下命令,新建用户组 dinstall:
groupadd dinstall
执行以下命令,新建用户 dmdba:
useradd  -g dinstall -m -d /home/dmdba -s /bin/bash  dmdba
执行以下命令,修改 dmdba 用户密码:
passwd dmdba
输入密码并确认。
5. 用户资源限制
执行以下命令,修改 dmdba 用户资源限制:
vim /etc/security/limits.conf
文件末尾添加如下内容:
dmdba soft core unlimited
dmdba hard core unlimited
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba soft nproc 65536
dmdba hard nproc 65536
dmdba soft stack 65536
dmdba hard stack 65536
6.检查limit限制
[dmdba@alldb ~]$ ulimit -a|grep open
open files (-n) 65536
[dmdba@alldb ~]$
[dmdba@alldb ~]$
[dmdba@alldb ~]$ ulimit -a|grep stack
stack size (kbytes, -s) 65536
7.用户环境变量
执行以下命令,修改 dmdba 用户环境变量:
vi /home/dmdba/.bash_profile
文件末尾添加如下内容:
export DM_HOME=/dmdbms
export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DM_HOME/bin
8.防火墙设置
生产环境应该对特定客户端开放数据库监听端口,并修改 DM 数据库默认的 5236 监听端口,防火墙配置请自行参考操作系统手册。
至此,操作系统调整完毕。
二、安装数据库
1.软件下载
DM8安装介质可通过以下网址进行下载。
https://eco.dameng.com/download/
以 iso 文件安装包为例,安装包命名规则如下:
dm8_20210818_x86_rh7_64_ent_8.1.2.18_pack13.iso
命名规则:

dm8:数据库大版本为 dm8

20210818:数据库版本发布日期
x86:安装包匹配的 CPU 架构
rh7:安装包匹配的系统版本 (redhat 7)
ent:数据库为企业版
8.1.2.18:数据库详细版本号
2.安装数据库软件
将安装包上传到服务器后使用 root 用户挂载 iso 安装包文件到 /mnt
目录下:
mount -o loop dm8_20210818_x86_rh7_64_ent/dm8_20210818_x86_rh7_64_ent_8.1.2.18_pack13.iso /mnt
执行以下命令,切换到 dmdba 用户:
su - dmdba
执行以下命令,切换到 /mnt 目录下:
cd /mnt
执行以下命令,查看文件:
ll
执行后,结果如下:
[dmdba@alldb ~]$ cd /mnt
[dmdba@alldb mnt]$ ll
总用量 769244
-r-xr-xr-x 1 root root 2784248 8月 18 17:44 DM8 Install.pdf
-r-xr-xr-x 1 root root 784920869 8月 18 17:47 DMInstall.bin
执行 DMInstall.bin
文件开始安装,选择【-i】参数以命令行方式安装:
./DMInstall.bin -i
安装过程采用问答的方式进行安装,语言选择中文,输入Key文件路径,选择时区(21)中国标准时间,选择典型安装,确认即可完成安装。
  • 安装详细日志如下:


[dmdba@alldb mnt]$ ./DMInstall.bin -i
请选择安装语言(C/c:中文 E/e:英文) [C/c]:C
解压安装程序..........
欢迎使用达梦数据库安装程序

是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:Y
请输入Key文件的路径地址 [dm.key]:/opt/dm.key

有效日期: 无限制
服务器颁布类型: 企业版
发布类型: 正式版
用户名称: ****************
授权用户数: 无限制
并发连接数: 无限制

是否设置时区? (Y/y:是 N/n:否) [Y/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]:21

安装类型:
1 典型安装
2 服务器
3 客户端
4 自定义
请选择安装类型的数字序号 [1 典型安装]:1
所需空间: 1263M


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

安装前小结
安装位置: /dmdbms
所需空间: 1263M
可用空间: 118G
版本信息: 企业版
有效日期: 无限制
安装类型: 典型安装
是否确认安装? (Y/y:是 N/n:否):y
2021-11-30 15:00:06
[INFO] 安装达梦数据库...
2021-11-30 15:00:06
[INFO] 安装 基础 模块...
2021-11-30 15:00:11
[INFO] 安装 服务器 模块...
2021-11-30 15:00:12
[INFO] 安装 客户端 模块...
2021-11-30 15:00:15
[INFO] 安装 驱动 模块...
2021-11-30 15:00:16
[INFO] 安装 手册 模块...
2021-11-30 15:00:17
[INFO] 安装 服务 模块...
2021-11-30 15:00:18
[INFO] 移动日志文件。
2021-11-30 15:00:18
[INFO] 安装达梦数据库完成。

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

安装结束
安装完成后,按照系统提示使用 root 用户执行脚本。
/dmdbms/script/root/root_installer.sh
提示 DmAPService 服务启动成功
,则安装完成。
  • root脚本运行日志如下:


[root@alldb opt]# /dmdbms/script/root/root_installer.sh
移动 /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服务
[root@alldb opt]#
三. 创建数据库

DM8提供命令行工具dminit,图形界面工具dbca.sh进行建库,本次使用dbinit进行建库过程演示。

1. 使用 dminit 工具初始化实例
执行以下命令,切换到 /dmdbms/bin 目录。
cd /dmdbms/bin
./dminit path=/dmdata page_size=32
  • 操作日志如下:

[dmdba@alldb bin]$ ./dminit path=/dmdata page_size=32
initdb V8
db version: 0x7000c
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL


log file path: /dmdata/DAMENG/DAMENG01.log




log file path: /dmdata/DAMENG/DAMENG02.log


write to dir [/dmdata/DAMENG].
create dm database success. 2021-12-09 21:06:45


初始化参数中除了 path 参数必须指定,其它参数都有默认值,如果需求与默认值不同,初始化的时候请指定需要的值。因为部分参数初始化后是无法修改的例如:page_size(页大小),charset(字符集),case_sensitive(大小写敏感)等。更多参数./dminit help
查看,是否无法修改的参数可以查询 v$dm_ini 视图,para_type=’READ ONLY’ 表示无法修改。

2.注册服务器实例至操作系统服务
以系统服务方式启动实例,DM 提供脚本将数据库实例注册为操作系统服务。
root 用户下切换到 /dmdbms/script/root/
cd /dmdbms/script/root/
执行以下命令,执行脚本注册服务:
./dm_service_installer.sh -t dmserver -p dmserver -dm_ini /dmdata/DAMENG/dm.ini
服务名为 DmService+-p
参数后的内容,即 DmServicedmserver

操作日志如下:

[root@alldb ~]# cd /dmdbms/script/root
[root@alldb root]# ./dm_service_installer.sh -t dmserver -p dmserver -dm_ini /dmdata/DAMENG/dm.ini
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServicedmserver.service to /usr/lib/systemd/system/DmServicedmserver.service.
创建服务(DmServicedmserver)完成

提示

-t
指服务类型是 dmserver;-p
为服务名的后缀;-dm_ini
为实例的 dm.ini 文件的绝对路径。

3. 启动实例
执行以下命令,以服务方式启动实例:

systemctl start DmServicedmserver

4.关闭实例
对于以服务方式启动的实例,则以服务方式关闭实例:

systemctl stop DmServicedmserver

建议

每个实例都建议注册为操作系统服务,这样不仅方便启动和关闭实例,而且注册为服务后,在服务器重启时,实例将随系统启动而自动启动。

四. 连接数据库
执行以下命令,切换到 /dmdbms/bin
目录:
cd /dmdbms/bin
执行以下命令,使用 disql 工具连接数据库:
disql SYSDBA/SYSDBA@localhost:5236

登录成功,如下所示

[dmdba@alldb ~]$ disql SYSDBA/SYSDBA@localhost:5236


服务器[localhost:5236]:处于备库打开状态
登录使用时间 : 1.669(ms)
disql V8
SQL> select 'muggle' from dual;


行号 'muggle'
---------- --------
1 muggle


已用时间: 2.049(毫秒). 执行号:700.

提示

默认创建的实例,管理员用户 SYSDBA 的密码为 SYSDBA ,实例端口为 5236,字符集为 GB18030,大小写敏感。


至此,基于CentOS7操作系统部署DM8单机版的全部过程已完成,感兴趣的小伙伴一起动手学起来吧。
文章转载自麻瓜的DBA生活,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论