1. 达梦数据库(DM8)简介
达梦数据库管理系统是武汉达梦公司推出的具有完全自主知识产权的高性能数据库管理系统,简称DM。达梦数据库管理系统目前最新的版本是8.0版本,简称DM8。
DM8是达梦公司在总结DM系列产品研发与应用经验的基础上,坚持开放创新、简洁实用的理念,推出的新一代自研数据库。DM8吸收借鉴当前先进新技术思想与主流数据库产品的优点,融合了分布式、弹性计算与云计算的优势,对灵活性、易用性、可靠性、高安全性等方面进行了大规模改进,多样化架构充分满足不同场景需求,支持超大规模并发事务处理和事务-分析混合型业务处理,动态分配计算资源,实现更精细化的资源利用、更低成本的投入。一个数据库,满足用户多种需求,让用户能更加专注于业务发展。
2. 环境准备
达梦数据库支持Windows、Linux和Unix操作系统,本次安装,将采用Linux操作系统(CentOS7),所以须事先准备一台已安装好CentOS7的Linux主机。
如果是个人学习使用,可以用Vmware虚拟机进行安装。
2.1 硬件环境需求
用户应根据DM及应用系统的需求来选择合适的硬件配置,下面给出安装DM所需的硬件最基本的配置:
名称 | 要求 |
CPU | Intel Pentium4(建议Pentium 41.6G以上)处理器 |
内存 | 256M (建议操作系统至少1GB的可用内存) |
硬盘 | 5G以上可用空间(DM完全安装需要1GB的存储空间) |
2.2 操作系统环境准备
确认操作系统版本
[root@biserver ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
创建安装用户dmdba和组dinstall,并设置用户密码
[root@biserver ~]# groupadd dinstall
[root@biserver ~]# useradd -s /bin/bash -m -d /home/dmdba -g dinstall dmdba
[root@biserver ~]# passwd dmdba
关闭防火墙
[root@biserver ~]# systemctl stop firewalld.service
[root@biserver ~]# systemctl disable firewalld.service
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.
[root@biserver ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
关闭SELinux,修改/etc/selinux/config文件,设置SELINUX=disabled
[root@biserver ~]# setenforce 0
[root@biserver ~]# vi /etc/selinux/config
[root@biserver ~]# cat /etc/selinux/config |grep ^SELINUX=
SELINUX=disabled
配置系统资源限制(ulimit参数),建议配置如下:
- data seg size: 建议设置为1048576(即1GB)以上或unlimited(无限制),此参数过小将导致数据库启动失败
- file size: 建议设置为unlimited(无限制),此参数过小将导致数据库安装或初始化失败
- open files: 建议设置为65536以上或unlimited(无限制)
- virtual memory: 建议设置为1048576(即1GB)以上或unlimited(无限制)
在/etc/security/limits.d目录下,用root用户创建配置文件dmdba.conf,配置如下:
[root@biserver ~]# cat /etc/security/limits.d/dmdba.conf
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba soft nproc 4096
dmdba hard nproc 63653
dmdba soft core unlimited
dmdba hard core unlimited
退出root用户,用dmdba用户登录系统,查看ulimit参数是否生效: ulimit -a(注意:要切换到dmdba用户进行查看)
[dmdba@biserver ~]$ ulimit -a
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 63428
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) 4096
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
3. 安装DM8
3.1 安装数据库
从达梦数据库官网下载安装介质,先在官网注册用户,进入菜单“服务与合作–>下载中心”,选择DM8开发版,选择CPU平台及操作系统后,点击立即下载。解压后,安装包是一个iso文件,把iso文件上传到Linux服务器。
创建数据库安装目录(根据实际磁盘空间情况创建安装目录)
[root@biserver ~]# mkdir -p /opt/db/dm
[root@biserver ~]# chown -R dmdba:dinstall /opt/db/dm
[root@biserver ~]# chmod -R 775 /opt/db/dm
[root@biserver ~]# ll /opt/db
总用量 0
drwxrwxr-x. 2 dmdba dinstall 6 6月 30 21:24 dm
挂载iso文件,这样就能像访问目录一样对iso镜像文件进行访问了。
[root@biserver mnt]# mkdir -p /mnt/cdrom
[root@biserver mnt]# mount /opt/software/dm8/dm8_20220525_x86_rh6_64_ent/dm8_20220525_x86_rh6_64.iso /mnt/cdrom
mount: /dev/loop0 写保护,将以只读方式挂载
[root@biserver mnt]# ll /mnt/cdrom
总用量 931825
-r-xr-xr-x. 1 root root 2802237 5月 25 15:31 DM8 Install.pdf
-r-xr-xr-x. 1 root root 951385360 5月 25 15:37 DMInstall.bin
mount命令说明,第一个参数是iso源文件名及路径,第二个参数是要挂载的目录
查看/mnt/cdrom目录中的内容(即iso镜像文件内容),可以看到有2个文件,一个pdf安装说明文档,另外一个就是bin安装程序。
把安装程序DMInstall.bin拷贝到安装目录,并修改用户和组
[root@biserver ~]# cd /opt/db/dm
[root@biserver dm]# cp /mnt/cdrom/DMInstall.bin /opt/db/dm/
[root@biserver dm]# ll
总用量 929088
-r-xr-xr-x. 1 root root 951385360 6月 30 22:01 DMInstall.bin
[root@biserver dm]# chown dmdba:dinstall DMInstall.bin
[root@biserver dm]# ll
总用量 929088
-r-xr-xr-x. 1 dmdba dinstall 951385360 6月 30 22:01 DMInstall.bin
接下来执行安装程序进行数据库安装。安装方式有两种,一种是图形化界面安装,另一种是命令行方式安装。
因为本次演示环境安装Linux时没有安装图形化界面,因此采用命令行方式进行安装。
图形化安装方式是执行命令:./DMInstall.bin
命令行安装方式是执行命令:./DMInstall.bin -i
安装DM,必须先切换到dmdba用户。
[root@biserver ~]# su - dmdba
[dmdba@biserver ~]$ cd /opt/db/dm
[dmdba@biserver dm]$ ll
总用量 929088
-r-xr-xr-x. 1 dmdba dinstall 951385360 6月 30 22:01 DMInstall.bin
[dmdba@biserver dm]$ ./DMInstall.bin -i
开始安装,语言选择中文,Key文件先不输入(没有key文件,默认使用一年后到期)
设置时区,选择:[21]: GTM+08=中国标准时间 ,这也是默认的选项。
接着,安装类型,选择典型安装,也是默认选项。
选择安装目录,用户可以输入自己规划的DM的安装路径,不输入则使用默认路径,默认值为$HOME/dmdbms
最后,显示安装前小结,确认没问题,输入y,确认安装。
安装结束后,提示用root用户,执行脚本: /opt/db/dm/dmdbms/script/root/root_installer.sh
[root@biserver dm]# sh /opt/db/dm/dmdbms/script/root/root_installer.sh
移动 /opt/db/dm/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服务
2.4 创建数据库实例
创建数据库实例,达梦也提供了两种工具支持。
一种是DBCA,数据库配置助手,但操作系统必须支持图形界面。另一种是命令行工具DMINIT,本次演示采用命令行工具DMINIT进行实例创建。
DMINIT配置程序在安装目录的bin目录中,可以把bin目录添加到环境变量的PATH中
[dmdba@biserver bin]$ cd $DM_HOME/bin
[dmdba@biserver bin]$ pwd
/opt/db/dm/dmdbms/bin
[dmdba@biserver bin]$ ./dminit PATH=/opt/db/dm/dmdbms/data DB_NAME=DMDB INSTANCE_NAME=DMDW PORT_NUM=5236
initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2023-05-25
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
log file path: /opt/db/dm/dmdbms/data/DMDB/DMDB01.log
log file path: /opt/db/dm/dmdbms/data/DMDB/DMDB02.log
write to dir [/opt/db/dm/dmdbms/data/DMDB].
create dm database success. 2022-06-30 23:17:33
注意:DBCA工具创建实例会自动注册服务,DMINIT工具不会自动创建服务,需要单独注册实例的服务。
注册实例服务的脚本: 安装目录/script/root/dm_service_installer.sh,必须切换到root用户执行。
[root@biserver root]# cd /opt/db/dm/dmdbms/script/root
[root@biserver root]# ll
总用量 48
-rwxr-xr-x. 1 dmdba dinstall 29117 6月 30 22:20 dm_service_installer.sh
-rwxr-xr-x. 1 dmdba dinstall 9624 6月 30 22:20 dm_service_uninstaller.sh
-rwxr-xr-x. 1 dmdba dinstall 683 6月 20 22:20 root_installer.sh
[root@biserver root]# ./dm_service_installer.sh -t dmserver -dm_ini /opt/db/dm/dmdbms/data/DMDB/dm.ini -p DMDW
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceDMDW.service to /usr/lib/systemd/system/DmServiceDMDW.service.
创建服务(DmServiceDMDW)完成
[root@biserver root]# systemctl start DmServiceDMDW.service
[root@biserver root]# ps -ef|grep dm.ini
dmdba 13615 1 5 23:29 ? 00:00:02 /opt/db/dm/dmdbms/bin/dmserver path=/opt/db/dm/dmdbms/data/DMDB/dm.ini -noconsole
root 13713 13464 0 23:30 pts/3 00:00:00 grep --color=auto dm.ini
脚本执行成功,提示:创建服务完成。
手工启动服务:systemctl start DmServiceDMDW.service
查看服务进程是否已存在:ps -ef|grep dm.ini,可以看到达梦数据库服务进程已成功启动。
2.5 登录数据库
达梦数据库提供了命令行客户端工具disql(类似oracle的sqlplus),用于连接数据库。
disql工具在安装目录的bin目录下,可以把bin目录添加到环境变量PATH中,dmdba用户下查看配置文件: ~/.bash_profile
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/opt/db/dm/dmdbms/bin"
export DM_HOME="/opt/db/dm/dmdbms"
export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool
接下来,登录数据库,查看实例状态,状态为4,数据库处于正常打开状态。
[dmdba@biserver DMDB]$ disql SYSDBA/SYSDBA
服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 1.468(ms)
disql V8
SQL> select status$ from v$database;
行号 STATUS$
---------- -----------
1 4
已用时间: 3.031(毫秒). 执行号:55200.
SQL> select count(*) from user_tables;
行号 COUNT(*)
---------- --------------------
1 2
已用时间: 22.384(毫秒). 执行号:55202.
SQL> select count(*) from user_objects;
行号 COUNT(*)
---------- --------------------
1 11
已用时间: 12.191(毫秒). 执行号:55203.
DM8数据库成功安装完成。