达梦数据库管理系统(以下简称 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. 创建安装目录
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 安装
给安装文件授权
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>