一 前言
我们在学习任何一个应用时,了解它的最初步骤通常是学会如何进行安装配置,后序才去关心如何使用,学习达梦数据库也是如此,而达梦数据库的安装提供了多种方式,接下来会一一介绍每种安装方式,达梦数据库支持多个操作系统平台的安装,本篇主要介绍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 :
[[email protected] 桌面]$ 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
3.2 防火墙与SELinux的关闭
对于中标麒麟6.0系统,防火墙与SELinux默认是关闭,如下图所示:
防火墙:
命令:system-config-firewall
SELinux:
[[email protected] etc]# getenforce
Disabled
3.3 编辑hosts文件
修改/etc/hosts文件加入IP地址与主机名的对应:
[[email protected] 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:达梦数据库备份目录
[[email protected] ~]# mkdir -p /usr/appsoft/dmdbms
[[email protected] ~]# mkdir -p /usr/appsoft/dmdata
[[email protected] ~]# mkdir -p /usr/appsoft/dmarch
[[email protected] ~]# mkdir -p /usr/appsoft/dmbak
[[email protected] ~]# chown -R dmdba:dinstall /usr/appsoft/dmdbms
[[email protected] ~]# chmod -R 775 /usr/appsoft/dmdbms
[[email protected] ~]# chown -R dmdba:dinstall /usr/appsoft/dmdata
[[email protected] ~]# chmod -R 775 /usr/appsoft/dmdata
[[email protected] ~]# chown -R dmdba:dinstall /usr/appsoft/dmarch
[[email protected] ~]# chmod -R 775 /usr/appsoft/dmarch
[[email protected] ~]# chown -R dmdba:dinstall /usr/appsoft/dmbak
[[email protected] ~]# chmod -R 775 /usr/appsoft/dmbak
3.6 检查配置操作系统资源限制
在 Linux(Unix)系统中,因为 ulimit 命令的存在,会对程序使用操作系统资源进行限制。为了使 DM 能够正常运行,建议用户检查当前安装用户的 ulimit 参数。运行 ulimit -a 进行查询。如下图所示:
参数 使用限制:
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文件:
[[email protected] ~]# mount -o loop dm7_setup_rh6_64_ent_7.6.0.171_20190704.iso /mnt
[[email protected] /]# cd /mnt
[[email protected] 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 配置文件全路径
[[email protected] /home/dmdba]$./DMInstall.bin -q /home/dmdba/auto_install.xml
其中配置文件的内容格式详见附录一。
安装过程如下:
[[email protected] 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.
[[email protected] mnt]$
注意:
1.如果操作系统语言与配置文件中选择的安装数据库语言不一致,会出现如下错误:
[[email protected] 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.静默安装不会进行目录创建,需要提前创建好,否则会提示如下错误:
[[email protected] mnt]$ ./DMInstall.bin -q /home/dmdba/auto_install.xml
Extract install files..........
Failed to get the owner of the directory(/home/dmdba/dmdbms1)!
打开窗口以root用户执行即可:
[[email protected] 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 ]
[[email protected] dmdba]#
五 数据库服务的注册
在图形方式的安装中,进行图形方式的实例初始化的最后,会提示通过root用户进行服务的注册;而在静默方式下,服务不会自动进行注册,需要我们手动进行注册,使用到的工具:$DM_HOME/script/root/dm_service_installer.sh(关于本脚本工具的使用后面与实例的注册一起说明),方法如下:
[[email protected] 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)完成
[[email protected] dmdba]#
此时已完成实例的初始化,可以通过disql工具进行连接测试:
[[email protected] 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>