达梦数据库安装与实例创建:命令行方式

发布于:2024-04-07 ⋅ 阅读:(126) ⋅ 点赞:(0)

准备工作

查看操作系统信息:Linux内核不能低于2.6。

[root@localhost ~]# cat /proc/version
Linux version 4.19.90-24.4.v2101.ky10.x86_64 (KYLINSOFT@localhost.localdomain) (gcc version 7.3.0 (GCC)) #1 SMP Mon May 24 12:14:55 CST 2021

[root@localhost ~]# uname -r
4.19.90-24.4.v2101.ky10.x86_64

检查CPU:根据CPU类型(X86、ARM架构),分别下载不同的数据库安装包(https://eco.dameng.com/download)。

[root@localhost ~]# lscpu
架构:                           x86_64
CPU 运行模式:                   32-bit, 64-bit
字节序:                         Little Endian
Address sizes:                   43 bits physical, 48 bits virtual
CPU:                             2
在线 CPU 列表:                  0,1
每个核的线程数:                 1
每个座的核数:                   1
座:                             2
NUMA 节点:                      1
厂商 ID:                        AuthenticAMD
CPU 系列:                       23
型号:                           104
型号名称:                       AMD Ryzen 5 5500U with Radeon Graphics
步进:                           1
CPU MHz:                        2096.062
BogoMIPS:                       4192.12
超管理器厂商:                   VMware
虚拟化类型:                     完全
L1d 缓存:                       64 KiB
L1i 缓存:                       64 KiB
L2 缓存:                        1 MiB
L3 缓存:                        16 MiB
...

[root@localhost ~]# cat /proc/cpuinfo
processor	: 0
vendor_id	: AuthenticAMD
cpu family	: 23
model		: 104
model name	: AMD Ryzen 5 5500U with Radeon Graphics
stepping	: 1
microcode	: 0x8608103
cpu MHz		: 2096.062
cache size	: 512 KB
physical id	: 0
siblings	: 1
core id		: 0
cpu cores	: 1
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 16
wp		: yes
...
bogomips	: 4192.12
TLB size	: 3072 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 43 bits physical, 48 bits virtual
power management:

processor	: 1
vendor_id	: AuthenticAMD
cpu family	: 23
model		: 104
model name	: AMD Ryzen 5 5500U with Radeon Graphics
stepping	: 1
microcode	: 0x8608103
cpu MHz		: 2096.062
cache size	: 512 KB
physical id	: 2
siblings	: 1
core id		: 0
cpu cores	: 1
apicid		: 2
initial apicid	: 2
fpu		: yes
fpu_exception	: yes
cpuid level	: 16
wp		: yes
...
bogomips	: 4192.12
TLB size	: 3072 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 43 bits physical, 48 bits virtual
power management:

检查内存:操作系统内存建议至少4G。

[root@localhost ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:          2.8Gi       606Mi       1.0Gi        13Mi       1.2Gi       2.0Gi
Swap:         3.0Gi          0B       3.0Gi

[root@localhost ~]# cat /proc/meminfo
MemTotal:        2957636 kB
MemFree:         1092800 kB
MemAvailable:    2054416 kB
Buffers:            3928 kB
Cached:          1155456 kB
SwapCached:            0 kB
Active:           974828 kB
Inactive:         584832 kB
Active(anon):     403312 kB
Inactive(anon):    10288 kB
Active(file):     571516 kB
Inactive(file):   574544 kB
Unevictable:          32 kB
Mlocked:              32 kB
SwapTotal:       3145724 kB
SwapFree:        3145724 kB
...

检查磁盘空间:tmp空间至少2G。

[root@localhost ~]# df -Th
文件系统              类型              容量  已用  可用 已用% 挂载点
devtmpfs              devtmpfs          1.4G     0  1.4G    0% /dev
tmpfs                 tmpfs             1.5G  4.0K  1.5G    1% /dev/shm
tmpfs                 tmpfs             1.5G  9.6M  1.5G    1% /run
tmpfs                 tmpfs             1.5G     0  1.5G    0% /sys/fs/cgroup
/dev/mapper/klas-root xfs                26G  7.7G   19G   30% /
tmpfs                 tmpfs             1.5G  280K  1.5G    1% /tmp
/dev/sda1             xfs              1014M  211M  804M   21% /boot
tmpfs                 tmpfs             289M   44K  289M    1% /run/user/0
/dev/sr0              iso9660            56M   56M     0  100% /run/media/root/VMware Tools
vmhgfs-fuse           fuse.vmhgfs-fuse  276G  162G  114G   59% /mnt/hgfs
/dev/loop0            iso9660           928M  928M     0  100% /mnt/dm
 
[root@localhost ~]# df -h /tmp
文件系统        容量  已用  可用 已用% 挂载点
tmpfs           1.5G  280K  1.5G    1% /tmp

检查系统软件版本:glibc版本不能低于2.3。

[root@localhost ~]# ldd --version
ldd (GNU libc) 2.28
Copyright (C) 2018 自由软件基金会。
这是一个自由软件;请见源代码的授权条款。本软件不含任何没有担保;甚至不保证适销性
或者适合某些特殊目的。
由 Roland McGrath 和 Ulrich Drepper 编写。
 
[root@localhost ~]# rpm -qa | grep gcc
libgcc-7.3.0-20190804.35.p02.ky10.x86_64
gcc-7.3.0-20190804.35.p02.ky10.x86_64
 
[root@localhost ~]# gcc --version
gcc (GCC) 7.3.0
Copyright © 2017 Free Software Foundation, Inc.
本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
包括没有适销性和某一专用目的下的适用性担保。

数据库安装与卸载

  • 数据库软件安装路径:/dm8
  • 数据库实例创建路径:/dmdata
  • 数据库安装用户:dmdba

创建安装用户和用户组:

groupadd dinstall

useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
passwd dmdba

创建安装目录:

mkdir /dm8
mkdir /dmdata
mkdir /dmtmp   # 确保该临时目录空间大于2G

chown -R dmdba:dinstall /dm8
chown -R dmdba:dinstall /dmdata
chown -R dmdba:dinstall /dmtmp

挂载镜像文件:

[root@localhost ~]# mkdir /mnt/dm

# 事先通过VMTool将dm8_20231109_x86_kylin10_64.iso挂载到/mnt/hgfs/路径下
[root@localhost ~]# mount /mnt/hgfs/VMToolShareData/dm8_20231109_x86_kylin10_64.iso /mnt/dm
mount: /mnt/dm: /mnt/hgfs/VMToolShareData/dm8_20231109_x86_kylin10_64.iso 已经挂载.

[root@localhost ~]# ll /mnt/dm
总用量 949396
-r-xr-xr-x 1 root root   2588819 119 09:03 'DM8 Install.pdf'
-r-xr-xr-x 1 root root 969591871 119 09:07  DMInstall.bin

配置环境变量 DM_INSTALL_TMPDIR

su - dmdba 
echo 'export DM_INSTALL_TMPDIR=/dmtmp' >> /home/dmdba/.bash_profile
source /home/dmdba/.bash_profile
echo $DM_INSTALL_TMPDIR

安装数据库

切换到dmdba用户进行安装:

[dmdba@localhost dm]$ cd /mnt/dm && ./DMInstall.bin -i
安装语言: 
[1]: 简体中文
[2]: English
请选择安装语言 [1]:1
解压安装程序..........
core file size          (blocks, -c) unlimited
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 11341
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
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) 11341
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

可打开文件数过少,建议至少设置为65536或更多。

欢迎使用达梦数据库安装程序

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

是否设置时区? (Y/y:是 N/n:否) [Y/y]:y
设置时区:
[ 1]: (GTM-12:00) 日界线西
[ 2]: (GTM-11:00) 萨摩亚群岛
[ 3]: (GTM-10:00) 夏威夷
[ 4]: (GTM-09:00) 阿拉斯加
[ 5]: (GTM-08:00) 太平洋时间(美国和加拿大)
[ 6]: (GTM-07:00) 亚利桑那
[ 7]: (GTM-06:00) 中部时间(美国和加拿大)
[ 8]: (GTM-05:00) 东部部时间(美国和加拿大)
[ 9]: (GTM-04:00) 大西洋时间(美国和加拿大)
[10]: (GTM-03:00) 巴西利亚
[11]: (GTM-02:00) 中大西洋
[12]: (GTM-01:00) 亚速尔群岛
[13]: (GTM) 格林威治标准时间
[14]: (GTM+01:00) 萨拉热窝
[15]: (GTM+02:00) 开罗
[16]: (GTM+03:00) 莫斯科
[17]: (GTM+04:00) 阿布扎比
[18]: (GTM+05:00) 伊斯兰堡
[19]: (GTM+06:00) 达卡
[20]: (GTM+07:00) 曼谷,河内
[21]: (GTM+08:00) 中国标准时间
[22]: (GTM+09:00) 首尔
[23]: (GTM+10:00) 关岛
[24]: (GTM+11:00) 所罗门群岛
[25]: (GTM+12:00) 斐济
[26]: (GTM+13:00) 努库阿勒法
[27]: (GTM+14:00) 基里巴斯
请选择时区 [21]:21

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

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

安装前小结
安装位置: /dm8
所需空间: 2037M
可用空间: 16G
版本信息: 
有效日期: 
安装类型: 典型安装
是否确认安装? (Y/y:是 N/n:否):y
2024-04-06 22:09:53 
[INFO] 安装达梦数据库...
2024-04-06 22:09:53 
[INFO] 安装 基础 模块...
2024-04-06 22:09:56 
[INFO] 安装 服务器 模块...
2024-04-06 22:09:56 
[INFO] 安装 客户端 模块...
2024-04-06 22:09:58 
[INFO] 安装 驱动 模块...
2024-04-06 22:09:59 
[INFO] 安装 手册 模块...
2024-04-06 22:09:59 
[INFO] 安装 服务 模块...
2024-04-06 22:09:59 
[INFO] 移动日志文件。
2024-04-06 22:10:00 
[INFO] 安装达梦数据库完成。

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

安装结束

根据提示使用root用户执行脚本。

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

卸载数据库

数据安装目录下执行脚本删除:

cd /dm8 && ./uninstall.sh -i

实例创建与删除

创建实例

在dmdba用户下使用dminit工具创建数据库实例:

[dmdba@localhost ~]$ cd /dm8/bin

[dmdba@localhost bin]$ ./dminit path=/dmdata db_name=DMTEST instance_name=DMTESTSVR sysdba_pwd=Dameng_123 port_num=5236 page_size=16

initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2024-11-08
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL

 log file path: /dmdata/DMTEST/DMTEST01.log


 log file path: /dmdata/DMTEST/DMTEST02.log

write to dir [/dmdata/DMTEST].
create dm database success. 2024-04-06 23:05:47

等待数据库实例创建完成后,使用root用户手动配置注册数据库服务。

[root@localhost ~]# cd /dm8/script/root
 
[root@localhost root]# ./dm_service_installer.sh -t dmserver -p DMTESTSVR -dm_ini /dmdata/DMTEST/dm.ini
Created symlink /etc/systemd/system/multi-user.target.wants/DmServiceDMTESTSVR.service → /usr/lib/systemd/system/DmServiceDMTESTSVR.service.
创建服务(DmServiceDMTESTSVR)完成
[root@localhost root]# 
[root@localhost root]# systemctl status DmServiceDMTESTSVR.service 
● DmServiceDMTESTSVR.service - DM Instance Service(DmServiceDMTESTSVR).
   Loaded: loaded (/usr/lib/systemd/system/DmServiceDMTESTSVR.service; enabled; vendor preset: disabled)
   Active: inactive (dead)

[root@localhost root]# systemctl enable DmServiceDMTESTSVR.service 
[root@localhost root]# systemctl start DmServiceDMTESTSVR.service 

dm_service_installer.sh脚本参数含义:

# -t               服务类型,包括dmimon,dmap,dmserver,dmwatcher,dmmonitor,dmcss,dmcssm,dmasmsvr,dmasmsvrm.
# -p               服务名后缀,对于dmimon,dmap服务类型无效
# -dm_ini          dm.ini文件路径

数据库实例文件结构如下:

[dmdba@localhost ~]$ ll /dmdata/DAMENG/
总用量 1003612
drwxr-xr-x 2 dmdba dinstall         6  46 22:25 bak
drwxr-xr-x 2 dmdba dinstall       294  46 22:28 ctl_bak
-rw-r--r-- 1 dmdba dinstall 268435456  46 22:40 DAMENG01.log
-rw-r--r-- 1 dmdba dinstall 268435456  46 22:28 DAMENG02.log
-rw-r--r-- 1 dmdba dinstall      6144  46 22:28 dm.ctl
-rw-r--r-- 1 dmdba dinstall 134217728  46 22:27 DMHR.DBF
-rw-r--r-- 1 dmdba dinstall     73673  46 22:25 dm.ini
-rw-r--r-- 1 dmdba dinstall       905  46 22:25 dminit20240406222519.log
-rw-r--r-- 1 dmdba dinstall       633  46 22:25 dm_service.prikey
drwxr-xr-x 2 dmdba dinstall         6  46 22:25 HMAIN
-rw-r--r-- 1 dmdba dinstall 134217728  46 22:28 MAIN.DBF
-rw-r--r-- 1 dmdba dinstall 134217728  46 22:40 ROLL.DBF
-rw-r--r-- 1 dmdba dinstall       714  46 22:25 sqllog.ini
-rw-r--r-- 1 dmdba dinstall  77594624  46 22:31 SYSTEM.DBF
-rw-r--r-- 1 dmdba dinstall  10485760  46 22:28 TEMP.DBF
drwxr-xr-x 2 dmdba dinstall         6  46 22:27 trace

配置dmdba环境变量(重要!!!):

[dmdba@localhost ~]$ echo $PATH
[dmdba@localhost ~]$ echo 'export PATH="$PATH:/dm8/bin:/dm8/tool"' >> /home/dmdba/.bash_profile
[dmdba@localhost ~]$ source /home/dmdba/.bash_profile
[dmdba@localhost ~]$ echo $PATH

删除实例

手动删除数据库服务:

cd $DM_HOME/scipt/root

## 注意这里是数据库服务的名字,不是数据库实例名
./dm_service_uninstaller.sh -n DmServiceDMTESTSVR

删除数据库实例推荐使用dbca.sh工具。