Linux平台达梦数据库V7单实例安装方式之静默方式

一 前言

我们在学习任何一个应用时,了解它的最初步骤通常是学会如何进行安装配置,后序才去关心如何使用,学习达梦数据库也是如此,而达梦数据库的安装提供了多种方式,接下来会一一介绍每种安装方式,达梦数据库支持多个操作系统平台的安装,本篇主要介绍Linux平台下的静默方式安装。

二 安装需求

2.1 硬件需求

用户应根据 DM 及应用系统的需求来选择合适的硬件配置,如 CPU 的指标、内存及磁盘容量等。档次一般应尽可能高一些,尤其是作为数据库服务器的机器,基于 Java 的程序运行时最好有较大的内存。其它设备如 UPS 等在重要应用中也应考虑。下面给出安装 DM 所需的硬件基本配置:

- CPU:Intel Pentium4(建议 Pentium 41.6G 以上)处理器
- 内存:256M(建议 512M 以上)
- 硬盘:5G 以上可用空间
- 网卡:10M 以上支持 TCP/IP 协议的网卡
- 光驱:32 倍速以上光驱
- 显卡支持:1024*768*256 以上彩色显示
- 显示器:SVGA 显示器
- 键盘/鼠标:普通键盘/鼠标

由于 DM 是基于客户/服务器方式的大型数据库管理系统,一般应在网络环境下使用,客户机与服务器分别在不同的机器上,所以硬件环境通常包括网络环境(如一个局域网)。如果仅有单台 PC,DM 也允许将所有软件装在同一台 PC 上使用。

2.2 软件需求

运行 DM 所要求的软件需求主要有:

- 操作系统:Windows(简体中文服务器版 sp2 以上)/Linux(glibc2.3 以上,内核 2.6,已安装 KDE/GNOME 桌面环境,建议预先安装 UnixODBC 组件)
- 网络协议:TCP/IP
- 系统盘:至少 1G 以上的剩余空间

此外,如要进行数据库应用开发,在客户端可配备 VC、VB、DELPHI、C++Builder、PowerBuilder、JBuilder、Eclipse、DreamWeaver、Visual Studio.NET 等应用开发工具。如要使用 DM ODBC 驱动程序,应确保 Windows 操作系统中已经安装有ODBC 数据源管理器,并能正常工作。

三 安装前的准备

本次安装的Linux平台为中标麒麟6.0 :

[ 桌面]$ cat /etc/issue
NeoKylin Linux General Server release 6.0  (Dhaulagiri)

3.1 操作系统信息检查

用户在安装 DM 前,需要检查当前操作系统的相关信息,确认 DM 安装程序与当前操作系统匹配,以保证 DM 能够正确安装和运行。用户可以使用以下命令检查操作系统基本信息。如下图所示:

-#获取系统位数
getconf LONG_BIT
-#查询操作系统 release 信息
lsb_release -a
-#查询系统信息
cat /etc/issue
-#查询系统名称
uname -a

Linux平台达梦数据库V7单实例安装方式之静默方式

3.2 防火墙与SELinux的关闭

对于中标麒麟6.0系统,防火墙与SELinux默认是关闭,如下图所示:

防火墙:
命令:system-config-firewall
SELinux:
[ etc]# getenforce 
Disabled

3.3 编辑hosts文件

修改/etc/hosts文件加入IP地址与主机名的对应:

[ etc]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.128.1.3  dm3

3.4 创建安装用户及组

为了减少对操作系统的影响,用户不应该以 root 系统用户来安装和运行 DM。用户可以在安装之前为 DM 创建一个专用的系统用户。

1. 创建安装用户组 dinstall。
groupadd dinstall
2. 创建安装用户 dmdba。
useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
3. 初始化用户密码。
passwd dmdba
4. 之后通过系统提示进行密码设置。

注意:创建安装系统用户完成后,安装手册之后的操作默认使用安装系统用户进行操作。

3.5 规划并创建安装目录

目录规划:

/usr/appsoft/dmdbms:达梦数据库软件安装位置
/usr/appsoft/dmdata:达梦数据库数据存储目录
/usr/appsoft/dmarch:达梦数据库归档日志目录
/usr/appsoft/dmbak:达梦数据库备份目录
[ ~]# mkdir -p /usr/appsoft/dmdbms
[ ~]# mkdir -p /usr/appsoft/dmdata
[roo ~]# mkdir -p /usr/appsoft/dmarch
[ ~]# mkdir -p /usr/appsoft/dmbak
[ ~]# chown -R dmdba:dinstall /usr/appsoft/dmdbms
[ ~]# chmod -R 775 /usr/appsoft/dmdbms
[ ~]# chown -R dmdba:dinstall /usr/appsoft/dmdata
[ ~]# chmod -R 775 /usr/appsoft/dmdata
[ ~]# chown -R dmdba:dinstall /usr/appsoft/dmarch
[ ~]# chmod -R 775 /usr/appsoft/dmarch
[ ~]# chown -R dmdba:dinstall /usr/appsoft/dmbak
[ ~]# chmod -R 775 /usr/appsoft/dmbak

3.6 检查配置操作系统资源限制

在 Linux(Unix)系统中,因为 ulimit 命令的存在,会对程序使用操作系统资源进行限制。为了使 DM 能够正常运行,建议用户检查当前安装用户的 ulimit 参数。运行 ulimit -a 进行查询。如下图所示:
Linux平台达梦数据库V7单实例安装方式之静默方式
参数 使用限制:

1. data seg size
data seg size (kbytes, -d)
建议用户设置为 1048576(即 1GB)以上或 unlimited(无限制),此参数过小将导致数据库启动失败。
2. file size
file size(blocks, -f)
建议用户设置为 unlimited(无限制),此参数过小将导致数据库安装或初始化失败。
3. open files
open files(-n)
建议用户设置为 65536 以上或 unlimited(无限制)。
4. virtual memory
virtual memory (kbytes, -v)
建议用户设置为 1048576(即 1GB)以上或 unlimited(无限制),此参数过小将导致数据库启动失败。
如 果 用 户 需 要 为 当 前 安 装 用 户 更 改 ulimit 的 资 源 限 制 , 请 修 改 文 件/etc/security/limits.conf。

3.7 配置环境变量

在/etc/profile或者dmdba用户的~/.bash_profile 里添加如下内容:

export DM_HOME="/usr/appsoft/dmdbms"
export LD_LIBRARY_PATH="$DM_HOME/bin:$LD_LIBRARY_PATH"
export PATH="$DM_HOME/bin:$PATH"

四 达梦数据库软件静默安装

插入达梦数据库安装光盘或者上传达梦数据库ISO文件到服务器,打开安装程序进行安装即可,下面以ISO文件为例:
挂载ISO文件:

[ ~]# mount -o loop dm7_setup_rh6_64_ent_7.6.0.171_20190704.iso /mnt
[ /]# cd /mnt
[ mnt]# ls
DMInstall.bin  DM_Install_en.pdf  DM_Install_zh.pdf  release_en.txt  release_zh.txt

为使dmdba用户可以执行安装操作,最好将安装文件复制到dmdba有足够权限的目录下,比如/home/dmdba,并将文件赋予dmdba相应的执行权限;
在某些特殊应用场景,用户可能需要非交互式的、通过配置文件进行 DM 的安装,这种情况我们可以采用以下静默安装的方式。在终端进入到安装程序所在文件夹,执行以下命令

./DMInstall.bin -q 配置文件全路径
[ /home/dmdba]$./DMInstall.bin -q /home/dmdba/auto_install.xml

其中配置文件的内容格式详见附录一。
安装过程如下:

[ mnt]$ ./DMInstall.bin -q /home/dmdba/auto_install.xml
Extract install files..........
2019-11-01 12:53:09
[INFO] Installing DM DBMS...
2019-11-01 12:53:10
[INFO] Installing BASE Module...
2019-11-01 12:53:16
[INFO] Installing SERVER Module...
2019-11-01 12:53:18
[INFO] Installing CLIENT Module...
2019-11-01 12:53:24
[INFO] Installing DRIVERS Module...
2019-11-01 12:53:25
[INFO] Installing MANUAL Module...
2019-11-01 12:53:25
[INFO] Installing SERVICE Module...
2019-11-01 12:53:28
[INFO] Move ant log file to log directory.
2019-11-01 12:53:28
[INFO] Installed DM DBMS completely.

Please execute the commands by root:
/usr/appsoft/dmdbms/script/root/root_installer.sh
2019-11-01 12:53:30
[INFO] Creating database...
2019-11-01 12:53:37
[INFO] Create database completed.
[ mnt]$

注意:

1.如果操作系统语言与配置文件中选择的安装数据库语言不一致,会出现如下错误:
[ mnt]$ ./DMInstall.bin -q /home/dmdba/auto_install.xml
Extract install files..........
Fail to parse the config file(/home/dmdba/auto_install.xml) of Auto Install!
The language of current OS is not chinese, Can not install chinese version. please modify the value of LANGUAGE in the config file.
此时需要调整语言一致。
2.静默安装不会进行目录创建,需要提前创建好,否则会提示如下错误:
[ mnt]$ ./DMInstall.bin -q /home/dmdba/auto_install.xml
Extract install files..........
Failed to get the owner of the directory(/home/dmdba/dmdbms1)!

打开窗口以root用户执行即可:

[ dmdba]# /usr/appsoft/dmdbms/script/root/root_installer.sh
移动 /usr/appsoft/dmdbms/bin/home/dmdba_svc.conf 到/etc目录
修改服务器权限
创建DmAPService服务
移动服务脚本文件(/usr/appsoft/dmdbms/bin/home/dmdbaAPService 到 /etc/rc.d/init.d/home/dmdbaAPService)
创建服务(DmAPService)完成
启动DmAPService服务
Starting DmAPService:                                      [ OK ]
[ dmdba]#

五 数据库服务的注册

在图形方式的安装中,进行图形方式的实例初始化的最后,会提示通过root用户进行服务的注册;而在静默方式下,服务不会自动进行注册,需要我们手动进行注册,使用到的工具:$DM_HOME/script/root/dm_service_installer.sh(关于本脚本工具的使用后面与实例的注册一起说明),方法如下:

[ dmdba]# /usr/appsoft/dmdbms/script/root/dm_service_installer.sh -s /usr/appsoft/dmdbms/bin/DmServiceIESDB
移动服务脚本文件(/usr/appsoft/dmdbms/bin/DmServiceIESDB 到 /etc/rc.d/init.d/DmServiceIESDB)
创建服务(DmServiceIESDB)完成
[ dmdba]#

此时已完成实例的初始化,可以通过disql工具进行连接测试:

[ tool]$ disql sysdba/SYSDBA

服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间: 60.245(毫秒)
disql V7.6.0.171-Build(2019.07.02-109059)ENT 
SQL> select * from v$version;

行号     BANNER                                                         
---------- ---------------------------------------------------------------
1          DM Database Server x64 V7.6.0.171-Build(2019.07.02-109059)ENT  
2          DB Version: 0x7000a

已用时间: 15.469(毫秒). 执行号:8.
SQL>

至此,达梦数据库V7单实例的三种安装方式介绍完毕,下一篇我们进行达梦数据库静dminit工具使用以及服务注册的介绍。

附录一

静默安装所需的配置文件如下:

<?xml version="1.0"?>
<DATABASE>
<!--安装数据库语言配置,中文版ZH,英文版EN,不分大小写。不允许为空-->
<LANGUAGE>zh</LANGUAGE>
<!--安装数据库时区配置,默认值+08:00,范围-12:59~+14:00-->
<TIME_ZONE>+08:00</TIME_ZONE>
<!--key文件路径-->
<KEY></KEY>
<!--安装组件类型,默认0,取值范围0、1、2,0表示全部安装,1表示安装服务器,2表示安装客户端-->
<INSTALL_TYPE>0</INSTALL_TYPE>
<!--安装路径,不允许为空-->
<INSTALL_PATH>/home/dmdba/dmdbms</INSTALL_PATH>
<!--是否初始化库,取值Y/N、y/n,不允许为空-->
<INIT_DB>Y</INIT_DB>
<!--数据库实例参数-->
<DB_PARAMS>
<!--初始化文件dm.ini存放的路径-->
<INI_FILE></INI_FILE>
<!--初始化数据库存放路径,不允许为空-->
<PATH>/home/dmdba/dmdbms/data</PATH>
<!--控制文件路径,文件路径长度不超过256字符-->
<CTL_PATHS >
<CTL_PATH ></CTL_PATH >        
<CTL_PATH ></CTL_PATH >                                
</CTL_PATHS>
<!--日志文件路径,文件路径长度不超过256字符-->
<LOG_PATHS>
<LOG_PATH ></LOG_PATH >
<LOG_PATH ></LOG_PATH >
</LOG_PATHS>
<!--数据文件使用的簇大小(16),可选值:16、32,单位:页-->
<EXTENT_SIZE>16</EXTENT_SIZE>
<!--数据页大小(8),可选值:4、8、16、32,单位:K-->
<PAGE_SIZE>32</PAGE_SIZE>
<!--日志文件大小(256),单位为:M,范围为:64M ~ 2G-->
<LOG_SIZE>2048</LOG_SIZE>
<!--大小敏感(Y),可选值:Y/N,1/0-->
<CASE_SENSITIVE>N</CASE_SENSITIVE>
<!--字符集(0),可选值:0[GB18030],1[UTF-8],2[EUC-KR]-->
<CHARSET>0</CHARSET>
<!--安全特权模式(0),可选值:0[传统],1[bmj]-->
<SEC_PRIV_MODE>0</SEC_PRIV_MODE>
<!--VARCHAR类型长度是否以字符为单位(N),可选值:Y/N,1/0-->
<LENGTH_IN_CHAR></LENGTH_IN_CHAR>
<!--设置SYSDBA密码(SYSDBA),密码长度为9到48-->
<SYSDBA_PWD>Dameng_123</SYSDBA_PWD>
<!--设置SYSAUDITOR密码(SYSAUDITOR),密码长度为9到48-->
<SYSAUDITOR_PWD> Dameng_123</SYSAUDITOR_PWD>
<!--数据库名(DAMENG),不超过128字符-->
<DB_NAME>TESTDB</DB_NAME>
<!--实例名(DMSERVER),不超过128字符-->
<INSTANCE_NAME>TESTDB</INSTANCE_NAME>
<!--监听端口号(5236)-->
<PORT_NUM>5236</PORT_NUM>
<!--设置时区(+08:00)-->
<TIME_ZONE></TIME_ZONE>
<!--页检查模式(0),可选值:0/1/2-->
<PAGE_CHECK></PAGE_CHECK>
<!--设置默认加密算法-->
<EXTERNAL_CIPHER_NAME></EXTERNAL_CIPHER_NAME>
<!--设置默认HASH算法-->        
<EXTERNAL_HASH_NAME></EXTERNAL_HASH_NAME>
<!--设置根密钥加密引擎-->
<EXTERNAL_CRYPTO_NAME></EXTERNAL_CRYPTO_NAME>
<!--设置日志文件是否加密(N),可选值:Y/N,1/0-->
<RLOG_ENC_FLAG></RLOG_ENC_FLAG>
<!--设置USBKEY PIN-->
<USBKEY_PIN></USBKEY_PIN>
<!--设置全库加密算法-->
<ENCRYPT_NAME></ENCRYPT_NAME>
<!--设置空格填充模式(0),可选值:0/1-->
<BLANK_PAD_MODE></BLANK_PAD_MODE>
<!--SYSTEM数据文件镜像路径-->
<SYSTEM_MIRROR_PATH></SYSTEM_MIRROR_PATH>
<!--MAIN数据文件镜像-->
<MAIN_MIRROR_PATH></MAIN_MIRROR_PATH>
<!--回滚文件镜像路径-->
<ROLL_MIRROR_PATH></ROLL_MIRROR_PATH>
<!--初始化时设置dm.ini中的MAL_INI(0)-->
<MAL_FLAG></MAL_FLAG>
<!--初始化时设置dm.ini中的ARCH_INI(0)-->
<ARCH_FLAG></ARCH_FLAG>
<!--Mpp系统内的库初始化时设置dm.ini中的mpp_ini(0)-->
<MPP_FLAG></MPP_FLAG>
<!--初始化配置文件(配置文件格式见系统管理员手册)-->
<CONTROL></CONTROL>
<!--是否覆盖所有同名文件(0) 0:不覆盖 1:部分覆盖 2:完全覆盖-->
<AUTO_OVERWRITE></AUTO_OVERWRITE>
<!--是否使用改进的字符类型HASH算法(1)-->
<USE_NEW_HASH></USE_NEW_HASH>
<!--是否是DCP代理模式(0)-->
<DCP_MODE></DCP_MODE>
<!--DCP代理模式下管理端口-->
<DCP_PORT_NUM></DCP_PORT_NUM>
<!--指定初始化过程中生成的日志文件所在路径-->
<ELOG_PATH></ELOG_PATH>
<!--在ECS模式下,AP监听器端口用于协同工作-->
<AP_PORT_NUM></AP_PORT_NUM>
</DB_PARAMS>
<!--是否创建数据库实例服务(Y/N、 y/n),不能为空,非root用户不能创建数据库服务-->
<CREATE_DB_SERVICE>N</CREATE_DB_SERVICE>
<!--是否启动数据库实例服务(Y/N、 y/n),不能为空,非root用户不能创建数据库服务-->
<STARTUP_DB_SERVICE>N</STARTUP_DB_SERVICE>
</DATABASE>

相关推荐