达梦数据库管理系统(以下简称 DM)是基于客户/服务器方式的数据库管理系统,可以 安 装 在 多 种 计 算 机 操 作 系 统 平 台 上 , 典 型 的 操 作 系 统 有 :Windows(Windows2000/2003/XP/Vista/7/8/10/Server 等)、Linux、HP-UNIX、Solaris、FreeBSD 和 AIX 等。对于不同的系统平台,有不同的安装步骤。

在安装 DM 之前,请用户仔细阅读本手册,本手册包含了重要的安装指导信息。在安装开始之前,首先应该检查所得到的 DM 产品是否完整,并准备好 DM 所需的硬件环境、软件环境。

本章主要介绍在安装 DM 产品前需要进行的准备工作。

1. 创建安装用户组 dinstall  安装用户 dmdba。

groupadd dinstall
useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
echo passwd dmdba
echo "dmdba"|passwd dmdba --stdin


2. 检查操作系统限制 

echo "
dmdba soft data -1
dmdba hard data -1
dmdba soft fsize -1
dmdba hard fsize -1
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba soft memlock -1
dmdba hard memlock -1

dmdba soft stack 10240
dmdba hard stack 32768
dmdba soft nproc 16384
dmdba hard nproc 16384

root soft memlock -1
root hard memlock -1" >>/etc/security/limits.conf


3.  关闭防火墙  和  停掉不必要的服务

#setup selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

systemctl stop tuned.service
systemctl disable tuned.service
systemctl stop ktune.service
systemctl disable ktune.service
systemctl stop NetworkManager.service
systemctl disable NetworkManager.service
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl disable postfix.service
systemctl stop postfix.service
systemctl stop irqbalance.service
systemctl disable irqbalance.service
systemctl stop avahi-daemon
systemctl disable avahi-daemon


4. 创建安装目录 


mkdir -p /opt/app/dm7/dmdbms
mkdir -p /opt/dmdata/

chown -R dmdba.dinstall /opt/app /opt/dmdata/



5 .设置环境变量

echo "export PATH
export LD_LIBRARY_PATH=/opt/app/dm7/dmdbms/bin:$LD_LIBRARY_PATH
export DM_HOME=/opt/app/dm7/dmdbms
export PATH=\$DM_HOME/bin:\$PATH
export DM_INSTALL_TMPDIR=/tmp
set -o vi
stty erase ^h
if [ -t 0 ]; then
stty intr ^C
fi
umask 022" >>/home/dmdba/.bash_profile




6 安装 

给安装文件授权 


chmod 755 /opt/soft/DMInstall.bin


6.1 图形化安装
注:图形化安装略
# startx
# su - dmdba
$ export DISPLAY=10.85.10.3:0.0
$ xhost +
$ ./DMInstall.bin

#以root 用户执行
sh /opt/app/dm7/dmdbms/script/root/root_installer.sh


 6.2 命令安装

命令安装
./DMInstall.bin -i
#以root 用户执行
sh /opt/app/dm7/dmdbms/script/root/root_installer.sh


6.3 静默安装 

静默安装  :
./DMInstall.bin -q /opt/soft/dm_rsp.conf.xml
#以root 用户执行
sh /opt/app/dm7/dmdbms/script/root/root_installer.sh

详细安装如下:
[dmdba@test01 soft]$ ./DMInstall.bin -q /opt/soft/dm_rsp.conf.xml
Extract install files.........
2019-06-20 16:35:32
[INFO] Installing default Module...
2019-06-20 16:35:32
[INFO] Installing DM DBMS...
2019-06-20 16:35:34
[INFO] Installing server Module...
2019-06-20 16:35:34
[INFO] Installing client Module...
2019-06-20 16:35:35
[INFO] Installing drivers Module...
2019-06-20 16:35:35
[INFO] Installing manual Module...
2019-06-20 16:35:35
[INFO] Installing service Module...
2019-06-20 16:35:37
[INFO] Move ant log file to log directory.
2019-06-20 16:35:37
[INFO] Installed DM DBMS completely.

Please execute the commands by root:
/opt/app/dm7/dmdbms/script/root/root_installer.sh
2019-06-21 09:49:05
[INFO] Creating database...
2019-06-21 09:49:16
[INFO] Create database completed.

#以root 运行添加备份服务
[root@test01 ~]# /opt/app/dm7/dmdbms/script/root/root_installer.sh
Move /opt/app/dm7/dmdbms/bin/dm_svc.conf to /etc
Modify the files' mode of DM Server
Create the DmAPService service
Created symlink from /etc/systemd/system/multi-user.target.wants/DmAPService.service to /usr/lib/systemd/system/DmAPService.service.
Finished to create the service (DmAPService)
Start the DmAPService service

#以root运行添加实例服务
#参数说明 /opt/app/dm7/dmdbms/script/root/dm_service_installer.sh -help
[root@dameng-test root]# ./dm_service_installer.sh -help
Usage: dm_service_installer.sh -t service_type [-p service_name_postfix] [-i ini_file] [-d dcr_ini_file] [-m open|mount] [-y dependent_service]
or dm_service_installer.sh [-s service_file_path]
or dm_service_installer.sh -h
-t 服务类型,包括dmimon,dmap,dmserver,dmwatch,dmrww,dmwmon,dmwatcher,dmmonitor,dmcss,dmcssm,dmasmsvr
-p 服务名后缀,对于dmimon,dmap服务类型无效
-i ini文件路径,对于dmimon,dmap服务类型无效
-d dmdcr.ini文件路径,只针对dmserver服务类型生效,可选
-m 设置服务器启动模式open或mount,只针对dmserver服务类型生效,可选
-y 设置依赖服务,此选项只针对systemd服务环境下的dmserver和dmasmsvr服务生效
-s 服务脚本路径,设置则忽略除-y外的其他参数选项
-h 帮助
#添加实例服务 ./dm_service_installer.sh -t dmserver -p 实例名 -i 指定配置文件

[root@test01 root]# /opt/app/dm7/dmdbms/script/root/dm_service_installer.sh -t dmserver -p DMSERVER -i /opt/dmdata/data/DAMENG/dm.ini
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceDMSERVER.service to /usr/lib/systemd/system/DmServiceDMSERVER.service.
Finished to create the service (DmServiceDMSERVER)

查看服务:
[root@test01 system]# ls -lrt Dm* dm*
-r--r--r-- 1 root root 355 Aug 4 2016 dmraid-activation.service
-r--r--r--. 1 root root 248 Jun 29 2017 dm-event.socket
-r--r--r--. 1 root root 338 Jun 29 2017 dm-event.service
-rw-r--r-- 1 root root 319 Jun 21 09:49 DmAPService.service
-rw-r--r-- 1 root root 349 Jun 21 10:25 DmServiceDMSERVER.service

  开机启动

  [root@test01 root]# systemctl enable DmServiceDMSERVER.service

启动服务
[root@test01 root]# systemctl start DmServiceDMSERVER.service

[root@test01 root]# systemctl status DmServiceDMSERVER.service
● DmServiceDMSERVER.service - DmServiceDMSERVER
Loaded: loaded (/usr/lib/systemd/system/DmServiceDMSERVER.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2019-06-21 10:32:03 CST; 1min 18s ago
Process: 86596 ExecStart=/opt/app/dm7/dmdbms/bin/DmServiceDMSERVER start (code=exited, status=0/SUCCESS)
Main PID: 86638 (dmserver)
CGroup: /system.slice/DmServiceDMSERVER.service
‣ 86638 /opt/app/dm7/dmdbms/bin/dmserver /opt/dmdata/data/DAMENG/dm.ini -noconsole

Jun 21 10:31:47 test01 systemd[1]: Starting DmServiceDMSERVER...
Jun 21 10:31:47 test01 su[86622]: (to dmdba) root on none
Jun 21 10:31:48 test01 DmServiceDMSERVER[86596]: Starting DmServiceDMSERVER: stty: standard input: Inappropriate ioctl for device
Jun 21 10:31:48 test01 DmServiceDMSERVER[86596]: stty: standard input: Inappropriate ioctl for device
Jun 21 10:31:48 test01 DmServiceDMSERVER[86596]: Last login: Fri Jun 21 09:49:29 CST 2019
Jun 21 10:32:03 test01 DmServiceDMSERVER[86596]: [11B blob data]
Jun 21 10:32:03 test01 systemd[1]: Started DmServiceDMSERVER.
[root@test01 root]#

连接测试:
[dmdba@test01 bin]$ disql SYSDBA/SYSDBA@localhost

Server[localhost:5236]:mode is normal, state is open
login used time: 4.659(ms)
disql V7.1.6.46-Build(2018.02.08-89107)ENT
Connected to: DM 7.1.6.46
SQL>


/opt/soft/dm_rsp.conf.xml   响应内容,详细见附件
中文
东8区
全部安装
/opt/app/dm7/dmdbms
初始化实列

数据库名 :DAMENG
实列名:DMSERVER
数据文件簇大小:16
数据文件页大小:8
日志文件簇大小:256
大小写敏感:Y
字符集:GB18030
vachar长度单位:字节
hash:为改进hash
实始化时区:东八区
是否启用页面较验:不启用
创建实例服务 :N #非root用户安装,不能创建服务
是否启动数据库:N
SYSDBA, SYSAUDITOR, SYSSSO, SYSDBO 密码同帐号
#注 a.日志文件需大于2组以上
# b.日志文件,控制文件,要写全路径, 或者放在不同目录



7 .创建或删除实例 

    注:在安装软件时可以一起创建实例,也可以单独运行创建实例的脚本 ,

sh  /opt/app/dm7/dmdbms/tool/dbca.sh

以root 运行
mv /opt/app/dm7/dmdbms/bin/DmServiceDMSERVER.service /usr/lib/systemd/system/DmServiceDMSERVER.service
systemctl enable DmServiceDMSERVER.service
systemctl start DmServiceDMSERVER.service



8 .软件卸载

#进入 DM 安装目录
cd $DM_HOME
./uninstall.sh # 图形化卸载
./uninstall.sh -i #脚本命令行卸载

#/opt/app/dm7/dmdbms/root_uninstaller.sh #以root 用户运行



9 .最佳实践参数

参数文件  /opt/dmdata/DAMENG/dm.ini 

参数类型

        参数名

       推荐值

                                 参数说明

256G内存

16G内存

内存相关

MAX_OS_MEMORY

90

90

DM 数据库占用的内存占操作系统物 理内存和虚拟内存之和的百分比,一般推荐为 90%

MEMORY_POOL

1000

1000

系统内存池:一般配置为 1000M~4000M

BUFFER

120000

9000

用于缓存数据页,一般配置为操作系

统物理内存的 60%~80%

MAX_BUFFER

120000

9000

用于控制系统缓冲区的上限,一般配置为和

BUFFER 参数相等

BUFFER_POOLS

101

13

BUFFER

的分区数,一般配置为质数,

取值范围为 1~500,并发较大的系统

需要配置这个参数;此参数生效的前

提条件是 MAX_BUFFER = BUFFER

RECYCLE

5000

500

用于缓存排序、分组、临时表等产生的临时数据,一般在

OLAP 类型的应用系统中需要配置

CACHE_POOL_SIZE

1000

300

用于缓存

SQL、执行计划、结果集等,一般配置为 1000M~4000M

VM_POOL_SIZE

256

128

用于控制

PLSQL 虚拟机内存池大小, 系统中存储过程、函数较多时建议适当增大

DICT_BUF_SIZE

32

32

用于缓存数据字典,默认

5M,系统中对象个数较多时适当加大

IO相关

IO_THR_GROUPS

32

2

IO

线程组的个数,默认为 2,磁盘阵列性能较好时适当加大,此参数只在非 windows 操作系统下有效

CPU相关

WORKER_THREADS

32

8

工作线程个数,有效值范围

1~64,一般配置为 CPU 核数相等或其 2 倍

TASK_THREADS

32

8

任务线程个数,一般配置为与WORKER_THREADS

相等


10 .连接测试

[dmdba@test01 bin]$ disql SYSDBA/SYSDBA@localhost

Server[localhost:5236]:mode is normal, state is open
login used time: 4.659(ms)
disql V7.1.6.46-Build(2018.02.08-89107)ENT
Connected to: DM 7.1.6.46
SQL>





11 .附件 静默安装附件


<?xml version="1.0"?>
-<DATABASE>
<!--安装数据库的语言配置,安装中文版配置 ZH,英文版配置 EN,不区分大小写。不允许为空。-->
<LANGUAGE>zh</LANGUAGE>
<!--安装程序的时区配置,默认值为+08:00,范围:-12:59 ~ +14:00 -->
<TIME_ZONE>+08:00</TIME_ZONE>
<!-- key 文件路径 -->
<KEY/>
<!--安装程序组件类型,取值 0、1、2,0 表示安装全部,1 表示安装服务器,2 表示安装客户 端。默认为 0。 -->
<INSTALL_TYPE>0</INSTALL_TYPE>
<!--安装路径,不允许为空。 -->
<INSTALL_PATH>/opt/app/dm7/dmdbms</INSTALL_PATH>
<!--是否初始化库,取值 Y/N、y/n,不允许为空。 -->
<INIT_DB>Y</INIT_DB>
<!--数据库实例参数 -->
-<DB_PARAMS>
<!--初始数据库存放的路径,不允许为空 -->
<PATH>/opt/dmdata/data</PATH>
<!--初始化数据库名字,默认是 DAMENG,不超过 128 个字符 -->
<DB_NAME>DAMENG</DB_NAME>
<!--初始化数据库实例名字,默认是 DMSERVER,不超过 128 个字符 -->
<INSTANCE_NAME>DMSERVER</INSTANCE_NAME>
<!--初始化时设置 dm.ini 中的 PORT_NUM,默认 5236,取值范围:1024~65534 -->
<PORT_NUM>5236</PORT_NUM>
<!--初始数据库控制文件的路径,文件全路径,文件路径长度最大为 256 -->
<CTL_PATH>/opt/dmdata/data/DAMENG/control.ctl</CTL_PATH>
<!--初始数据库日志文件的路径,文件全路径,文件路径长度最大为 256 -->
-<LOG_PATHS>
<LOG_PATH>/opt/dmdata/data/DAMENG/redo01.log</LOG_PATH>
<LOG_PATH>/opt/dmdata/data/DAMENG/redo02.log</LOG_PATH>
<LOG_PATH>/opt/dmdata/data/DAMENG/redo03.log</LOG_PATH>
</LOG_PATHS>
<!--数据文件使用的簇大小,只能是 16 页或 32 页之一,缺省使用 16 页 -->
<EXTENT_SIZE>16</EXTENT_SIZE>
<!--数据文件使用的页大小,缺省使用 8K,只能是 4K、8K、16K 或 32K 之一 -->
<PAGE_SIZE>8</PAGE_SIZE>
<!--日志文件使用的簇大小,默认是 256,取值范围 64 和 2048 之间的整数 -->
<LOG_SIZE>256</LOG_SIZE>
<!--标识符大小写敏感,默认值为 Y。只能是’Y’, ’y’, ’N’, ’n’, ’1’, ’0’之一 -->
<CASE_SENSITIVE>Y</CASE_SENSITIVE>
<!--字符集选项,默认值为 0。0 代表 GB18030,1 代表 UTF-8,2 代表韩文字符集 EUC-KR-->
<CHARSET>0</CHARSET>
<!--设置为 1 时,所有 VARCHAR 类型对象的长度以字符为单位,否则以字节为单位。默认值为 0。 -->
<LENGTH_IN_CHAR>0</LENGTH_IN_CHAR>
<!--字符类型在计算 HASH 值时所采用的 HASH 算法类别。0:原始 HASH 算法;1:改进的HASH 算法。默认值为 1。 -->
<USE_NEW_HASH>1</USE_NEW_HASH>
<!--初始化时设置 SYSDBA 的密码,默认为 SYSDBA,长度在 9 到 48 个字符之间 -->
<SYSDBA_PWD/>
<!--初始化时设置 SYSAUDITOR 的密码,默认为 SYSAUDITOR,长度在 9 到 48 个字符之间 -->
<SYSAUDITOR_PWD/>
<!--初始化时设置 SYSSSO 的密码,默认为 SYSSSO,长度在 9 到 48 个字符之间,仅在安全版本下可见和可设置 -->
<SYSSSO_PWD/>
<!--初始化时设置 SYSDBO 的密码,默认为 SYSDBO,长度在 9 到 48 个字符之间,仅在安全版本下可见和可设置 -->
<SYSDBO_PWD/>
<!--初始化时区,默认是东八区。格式为:正负号小时:分钟,范围:-12:59 ~ +14:00-->
<TIME_ZONE>+08:00</TIME_ZONE>
<!--是否启用页面内容校验,0:不启用;1:简单校验;2:严格校验(使用 CRC16 算法生成校验码)。默认 0 -->
<PAGE_CHECK>0</PAGE_CHECK>
<!--设置默认加密算法,不超过 128 个字符 -->
<EXTERNAL_CIPHER_NAME/>
<!--设置默认 HASH 算法,不超过 128 个字符 -->
<EXTERNAL_HASH_NAME/>
<!--设置根密钥加密引擎,不超过 128 个字符 -->
<EXTERNAL_CRYPTO_NAME/>
<!--全库加密密钥使用的算法名。算法可以是 DM 内部支持的加密算法,或者是第三方的加密算法。默认使用"AES256_ECB"算法加密,最长为 128 个字节 -->
<ENCRYPT_NAME/>
<!--指定日志文件是否加密。默认值 N。取值 Y/N,y/n,1/0 -->
<RLOG_ENC_FLAG>N</RLOG_ENC_FLAG>
<!--用于加密服务器根密钥,最长为 48 个字节 -->
<USBKEY_PIN/>
<!--设置空格填充模式,取值 0 或 1,默认为 0 -->
<BLANK_PAD_MODE>0</BLANK_PAD_MODE>
<!--指定 system.dbf 文件的镜像路径,默认为空 -->
<SYSTEM_MIRROR_PATH/>
<!--指定 main.dbf 文件的镜像路径,默认为空 -->
<MAIN_MIRROR_PATH/>
<!--指定 roll.dbf 文件的镜像路径,默认为空 -->
<ROLL_MIRROR_PATH/>
<!--是否是四权分立,默认值为 0(不使用)。仅在安全版本下可见和可设置。只能是 0 或 1-->
<PRIV_FLAG>0</PRIV_FLAG>
<!--指定初始化过程中生成的日志文件所在路径。合法的路径,文件路径长度最大为 257(含结束符),不包括文件名-->
<ELOG_PATH>/tmp</ELOG_PATH> </DB_PARAMS>
<!--是否创建数据库实例的服务,值 Y/N y/n,不允许为空,不初始化数据库将忽略此节点。非 root 用户不能创建数据库服务。 -->
<CREATE_DB_SERVICE>N</CREATE_DB_SERVICE>
<!--是否启动数据库,值 Y/N y/n,不允许为空,不创建数据库服务将忽略此节点。 -->
<STARTUP_DB_SERVICE>N</STARTUP_DB_SERVICE>
</DATABASE>



                                                                                                                                                                                                                                                                                                                                   2019-06-21