达梦数据库是我国具有完全自主知识产权的数据库。达梦数据库管理系统和OracleRDBMS高度相似,非常适合熟悉Oracle运维人员快速上手。本文作者总结了近期的学习研究成果,从实际环境中提炼出运维操作精华,可以直接作为达梦数据库的运维指导入门手册。
本文的实验环境构建在中标麒麟V7操作系统和达梦数据库V8开发版之上。本文略去操作系统的安装步骤,略去数据库的运行原理,通过命令行和系统截图的方式讲解达梦数据库的安装和启停方法,直接给出实际操作命令,实用性强,可以快速上手操作。
一.安装前的准备

达梦数据库需要linux内核版本是2.6及以上,实验环境中的中标麒麟V7操作系统内核版本是3.1,满足安装要求。

1. 创建用户组 dinstall。
groupadd dinstall
2. 创建用户 dmdba。dmdba用户将作为安装数据库和启停操作系统的专用用户。
useradd -g dinstall -d home/dmdba -s bin/bash -m dmdba
3. 初始化用户密码。
passwd dmdba

4. 修改/etc/sysctl.d/99-sysctl.conf文件,配置加入内存参数。
kernal.shamax=68719476736
kernal.shmall=4294967296
kernal.msgmax=65536

5. 修改/etc/security/limits.d/20-nproc.conf文件,加入dmdba用户资源参数。

6. 创建相关目录并授权
创建数据库软件安装目录
mkdir dm8
创建数据文件存储目录
mkdir dm8data
创建数据库安装软件临时存放目录
mkdir -p home/dmdba/dm8
修改以上目录权限为dmdba:dinstall
chown dmdba:dinstall dm8
chown dmdba:dinstall dm8data
chown dmdba:dinstall home/dmdba/dm8
将达梦数据库安装光盘镜像文件挂载
mount -o loop dm8_x86_rh7_64_ent_8. iso cdrom
cd /cdrom
将安装包拷贝到指定位置
cp * /home/dmdba/dm8
修改达梦数据库安装文件DMInstall.bin的权限
cd /home/dmdba/dm8
chown dmdba:dinstall DM*
chmod 755 DMInstall.bin
二.安装数据库软件

1. 使用dmdba用户登录服务器,进入达梦安装包所在目录。
su - dmdba
cd /home/dmdba/dm8
达梦数据库软件安装支持图形模式和CLI命令行模式。鉴于图形模式需要操作系统GUI组件,对后期的系统性能和安全无益,因此操作系统通常不安装GUI。本文仅介绍CLI命令行交互模式安装数据库软件。
执行以下命令,使用字符交互模式安装。
./DMInstall.bin -i
达梦数据库的安装包囊括了服务器程序和客户端程序,可以按需选择安装。本文选择“典型安装”,即同时安装服务器和客户端。


安装完成后需要用root用户执行脚本,创建dmap服务,此服务的作用将在后续文章说明。

安装软件的过程中会自动修改dmdba用户的环境变量,但仍需手动确认环境变量是否配置正确:
export DM_HOME="/dm8"
PATH=$PATH:$HOME/.local/bin:$DM_HOME/bin
export PATH
务必确认将$DM_HOME/bin加入PATH中。
三.创建数据库

创建数据库的方式主要有图形化方式和CLI字符方式。本文主要介绍CLI字符方式通过命令行创建数据库。
1. 使用dmdba用户登录服务器,进入达梦数据库程序目录,使用dminit程序创建数据库。
cd $DM_HOME/bin
dminit创建数据库的命令如下:
./dminit path=/dm8data/sxzq db_name=sxzqinstance_name=sxzq port_num=5237
参数释义如下:
path=将要创建的数据库的数据文件、日志文件、控制文件等所在路径
db_name=数据库名
instance_name=实例名
port_num=将要创建的数据库的对外服务端口号。达梦数据库不存在监听程序,不同的数据库依靠不同的端口来区分。
以上命令表示,创建一个名叫sxzq的数据库,文件存储位置在/dm8data/sxzq

关于dminit,后面可以带多种参数,用户可以根据需求设定。
可以使用./dminit help查看具体参数的意义。


2. 用root用户注册数据库服务。
切换到root用户,使用dm_service_installer.sh脚本注册数据库,此脚本的位置在/数据库软件安装目录/ script/root/下。
cd /dm8/script/root
注册数据库服务:
./dm_service_installer.sh -t dmserver -p sxzq-dm_ini /dm8data/sxzq/sxzq/dm.ini
systemctl enable DmServicesxzq

至此,一个名叫sxzq的达梦数据库已经创建完成,并且成功注册到操作系统中。
四.启动和停止达梦数据库

1. 使用root用户,调用操作系统服务启停达梦数据库(不推荐)。
启动sxzq数据库:systemctlstart DmService数据库名
systemctl start DmServicesxzq
停止sxzq数据库:systemctlstop DmService数据库名
systemctl stop DmServicesxzq
2. 使用dmdba用户启停数据库。
为避免使用root账号,推荐使用dmdba启停,进而实现操作系统管理员和数据库管理员的分权分责。
进入$DM_HOME/bin目录,找到“DmService数据库名”程序,本文中的数据库名叫sxzq,因此一定会找到DmServicesxzq程序文件。
cd $DM_HOME/bin
启动sxzq数据库:
./DmServicesxzq start
sxzq数据库启动后,操作系统中会出现一个dmserver进程
使用ps -ef |grep dmserver命令可以确认sxzq数据库进程是否成功启动。

停止sxzq数据库:
./DmServicesxzq stop

五.总结

达梦数据库的版本分为四种:
开发版:官网可以自由下载的版本,有使用时间的限制和并发等限制。
标准版:不支持集群,商务渠道获取。
企业版:支持集群,不支持安全高级特性,商务渠道获取。
安全版:支持其他版本的所有特性,支持高级安全特性,商务渠道获取。
达梦数据库相比Oracle数据库而言,安装方法简单,中文界面友好。尤其在安装数据库软件时使用CLI字符交互模式友好方便,无需调用图形模式,这一点是达梦数据库的先进之处。达梦数据库的安装过程相比Oracle快很多,本文的所有操作加在一起不超过10分钟,使人感觉达梦是一款“轻量级”的数据库。
同一台主机可以安装多套单实例的达梦数据库。不同的数据库使用不同的端口对外服务,如5236、5237等。不同的数据库在$DM_HOME/bin目录下会有对应的程序,程序名为“DmService数据库名”,该程序可以用于数据库的启停。这一点和Oracle不同,Oracle使用专用的监听进程(默认使用1521端口)供客户端连接,不同的数据库可以注册到同一个监听程序内,区分不同数据库的手段是service_name或者SID。
达梦数据库是一种“单进程、多线程”的数据库,即一套数据库在一个操作系统内部只有一个进程,并且可以把达梦数据库进程注册到系统服务中随机启动。这一点和Oracle不同,Oracle的前后台进程可能多达几十个,体现出两种数据库管理系统的差异。




