达梦数据库在linux上的多种安装方式、详细步骤

本文详细指导了在CentOS 7.8系统上进行达梦8数据库的安装过程,包括环境检查、防火墙设置、用户组与权限管理、命令行安装、静默安装、资源限制调整和数据库卸载。特别关注了安装路径、内存限制及服务配置。
摘要由CSDN通过智能技术生成

1、安装规划

从达梦官网下载所需的数据库安装包【下载需要注册登录账户】
www.dameng.com

背景:
本次达梦8单机安装在Centos Linux7.8 64Bit系统上,采用了x86处理器,通过多种方式完成数据库安装。

数据库版本1-2-38-21.07.09-143359-10018-ENT Pack1
操作系统版本CentOS Linux release 7.8.2003 (Core)
CPU信息6核
服务器内存3800MB
IP地址192.168.3.99
服务器名称single2
备注192.168.3.99
软件安装路径/dmdb
数据文件路径/dmdata/dmtest
归档日志路径
备份文件路径

2、安装前置准备

2.1 环境检查

保证内存至少拥有1GB大小,磁盘剩余大小至少1GB。
getconf LONG_BIT
uname –a
cat /etc/redhat-release
lscpu

2.2 查看防火墙是否关闭

systemctl status firewalld (状态)
systemctl stop firewalld (关闭)
systemctl disable firewalld (开机不启动)

2.3 用root创建安装目录和安装用户组

创建安装目录: mkdir -p /dmdb
创建组 :groupadd dinstall
创建用户 :useradd -g dinstall dmdba
设置密码 :passwd dmdba
更改安装目录所有者: chown dmdba:dinstall -R /dmdb
更改数据盘目录所有者:chown dmdba:dinstall -R /dmdata

2.4 更改资源限制

在liunx中检查当前用户资源限制
$ ulimit –n

资源参数设置要求:

data seg size建议用户设置为 1048576(即 1GB)以上或 unlimited(无限制),此参数过小将导 致数据库启动失败。
file size建议用户设置为 unlimited(无限制),此参数过小将导致数据库安装或初始化失败。
open files建议用户设置为 65536 以上或 unlimited(无限制)。
virtual memory建议用户设置为 1048576(即 1GB)以上或 unlimited(无限制),此参数过小将导 致数据库启动失败。

如 果 用 户 需 要 为 当 前 安 装 用 户 更 改 ulimit 的 资 源 限 制 , 请 修 改 文 件
/etc/security/limits.conf。

本次单机安装只需要修改open files参数。
root用户在 /etc/security/limits.conf 添加如下内容:

dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba soft core unlimited
dmdba hard nproc 65536*

进dmdba用户查看open file是否生效

配置环境变量

su - dmdba
vim .bash_profile

PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DM_HOME/bin
export DM_HOME=/dmdb
export PATH=$PATH:$HOME/.local/bin:$HOME/bin:$DM_HOME/bin:$DM_HOME/tool

$ source .bash_profile

上传相应的安装包并解压挂载

$ unzip dm8_20210712_x86_rh6_64_ent.zip
# mount -o loop dm8_20210712_x86_rh6_64_ent_8.1.2.38_pack1.iso /mnt

3、命令行安装

3.1 进入到挂载目录进行命令行安装


(没有找到Key文件,先暂时忽略)




root用户执行:
/dmdb/script/root/root_installer.sh

3.2 初始化实例

数据库安装结束后,还需要初始化数据库实例才能正式运行达梦数据库,使用安装用户dmdba初始化数据库,切换到安装目录的bin目录下,输入./dminit help 查看详细信息,数据页大小,大小写敏感,字符集等初始化之后不能修改,请和客户确认之后再操作

本机初始化例子如下(实例安装到/dmdata目录下)

$ ./dminit PATH=/dmdata EXTENT_SIZE=32 PAGE_SIZE=16 CASE_SENSITIVE=n SYSDBA_PWD=sysdba123 DB_NAME=dmtest INSTANCE_NAME=dmtest PORT_NUM=5236

创建数据库服务
使用root用户创建数据库服务

# ./dm_service_installer.sh -t dmserver -p TEST -dm_ini /dmdata/dmtest/dm.ini


启动数据库服务:
# systemctl start DmServiceTEST
或安装bin目录下进行启动
# ./DmServiceTEST start

3.3 登录数据库

服务安装后,不需要进入安装目录中的bin目录即可进入数据库

未安装服务时另开一个窗口,服务器名加dm.ini文件所在路径亦可启动数据库,但启动界面关闭后数据库也会停止
一窗口执行服务运行操作
# ./dmserver /dmdata/dmtest/dm.ini
另开一窗口可正常进入数据库执行操作
#./disql SYSDBA/sysdba123@localhost:5236

4、拷贝安装

拷贝安装需要先确定源端目标端的系统环境,尽量保证版本的一致性且尽量保证数据文件目录名的一致性,如果数据文件目录名字发生变化,请修改dm.ini

本次安装安装软件目录从源库的/dmdb拷贝到/dm下

4.1 目标端建组建用户

创建安装目录: mkdir -p /dmdb
创建组 :groupadd dinstall
创建用户 :useradd -g dinstall dmdba
设置密码 :passwd dmdba
更改安装目录所有者: chown dmdba:dinstall -R /dmdb
更改数据盘目录所有者:chown dmdba:dinstall -R /dmdata

4.2 配置环境变量

su - dmdba
vim .bash_profile

PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DM_HOME/bin
export DM_HOME=/dm
export PATH=$PATH:$HOME/.local/bin:$HOME/bin:$DM_HOME/bin:$DM_HOME/tool

$ source .bash_profile

4.3 源端拷贝过去

scp -r /dmdb/* 192.168.3.88:/dm
初始化数据库成功

4.4 注册服务

因为安装目录位置改变,所以需要初始化注册服务脚本并手动修改
cp /dm/bin/service_template/DmService /dm/bin
vi /dm/bin/DmService

将上述的两个变量指向修改完成。
$ DmService start

总结:拷贝安装更适合于目录路径完全一致的情况,当路径不一致时服务会产生路径错误,需要手工修改才能够正常启动数据库

5、静默安装

前置准备按上述做好后,写好静默安装脚本,本次安装脚本如下

<?xml version="1.0"?>
<DATABASE>
<!-- 安装数据库的语言配置,安装中文版配置ZH,英文版配置EN,不区分大小写。不允许为空。 -->
<LANGUAGE>en</LANGUAGE>
<!-- 安装程序的时区配置,默认值为+08:00,范围:-12:59 ~ +14:00 -->
<TIME_ZONE>+08:00</TIME_ZONE>
<!-- key 文件路径 -->
<KEY></KEY>
<!-- 安装程序组件类型,取值0120 表示安装全部,1 表示安装服务器,2 表示安装客户端 。默认为0-->
<INSTALL_TYPE>0</INSTALL_TYPE>
<!--安装路径,不允许为空。 -->
<INSTALL_PATH>/dmdb</INSTALL_PATH>
<!--是否初始化库,取值Y/N、y/n,不允许为空。 -->
<INIT_DB>Y</INIT_DB>
<!-- 数据库实例参数 -->
<DB_PARAMS>
<!-- 初始数据库存放的路径,不允许为空 -->
<PATH>/dmdata</PATH>
<!-- 初始化数据库名字,默认是DAMENG,不超过128 个字符 -->
<DB_NAME>DATEST</DB_NAME>
<!-- 初始化数据库实例名字,默认是DMSERVER,不超过128 个字符 -->
<INSTANCE_NAME>TEST</INSTANCE_NAME>
<!-- 初始化时设置dm.ini中的PORT_NUM,默认5236,取值范围:1024~65534 -->
<PORT_NUM>5236</PORT_NUM>
<!-- 初始数据库控制文件的路径,文件路径长度最大为256 -->
<CTL_PATHS>
<CTL_PATH>/home/dmdba/dmdbms/data/DAMENG/dm.ctl</CTL_PATH>
</CTL_PATHS>
<!-- 初始数据库日志文件的路径,文件路径长度最大为256 -->
<LOG_PATHS>
<LOG_PATH>/dmdb/dmtest/TEST01.log</LOG_PATH>
<LOG_PATH>/dmdb/dmtest/TEST02.log</LOG_PATH>
</LOG_PATHS>
<!-- 数据文件使用的簇大小,只能是16页或32页之一,缺省使用16-->
<EXTENT_SIZE>32</EXTENT_SIZE>
<!-- 数据文件使用的页大小,缺省使用8K,只能是4K、8K、16K 或32K 之一 -->
<PAGE_SIZE>8</PAGE_SIZE>
<!-- 日志文件使用的簇大小,默认是512,取值范围642048之间的整数 -->
<LOG_SIZE>512</LOG_SIZE>
<!-- 标识符大小写敏感,默认值为 Y。 只能是’Y’, ’y’, ’N’, ’n’,1,0’之一 -->
<CASE_SENSITIVE>N</CASE_SENSITIVE>
<!-- 字符集选项 ,默认值为 00 代表GB18030,1 代表UTF -8,2 代表韩文字符集EUC-KR -->
<CHARSET>1</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,长度在648个字符之间 -->
<SYSDBA_PWD>sysdba123</SYSDBA_PWD>
<!-- 初始化时设置SYSAUDITOR的密码,默认为SYSAUDITOR,长度在 648个字符之间 -->
<SYSAUDITOR_PWD></SYSAUDITOR_PWD>
<!-- 初始化时设置SYSSSO的密码,默认为 SYSSSO,长度在648个字符之间,仅在安全版本下可见和可设置 -->
<SYSSSO_PWD></SYSSSO_PWD>
<!-- 初始化时设置SYSDBO的密码,默认为 SYSdbO,长度在648个字符之间,仅在安全版本下可见和可设置 -->
<SYSDBO_PWD></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></EXTERNAL_CIPHER_NAME>
<!-- 设置默认HASH算法,不超过128 个字符 -->
<EXTERNAL_HASH_NAME></EXTERNAL_HASH_NAME>
<!-- 设置根密钥加密引擎,不超过128 个字符 -->
<EXTERNAL_CRYPTO_NAME></EXTERNAL_CRYPTO_NAME>
<!-- 服务器主密钥,用于加密数据库主密钥,最长为32个字节 -->
<SVR_KEY></SVR_KEY>
<!-- 数据库主密钥,用于加密库内密钥,如用户加密密钥、列加密密钥,最长为32个字节 -->
<DB_KEY></DB_KEY>
<!-- 全库加密密钥 ,最长为32个字节 -->
<ENCRYPT_PWD></ENCRYPT_PWD>
<!-- 全库加密密钥使用的算法名。算法可以是DM内部支持的加密算法,或者是第三方的加密算法。默认使用"AES256_ECB"算法加密 ,最长为128 个字节 -->
<ENCRYPT_NAME></ENCRYPT_NAME>
<!-- 指定日志文件是否加密。默认值 N。取值Y/N,y/n,1/0 -->
<RLOG_ENC_FLAG>N</RLOG_ENC_FLAG>
<!-- 用于加密服务器根密钥,最长为48个字节 -->
<USBKEY_PIN></USBKEY_PIN>
<!-- 设置空格填充模式,取值01,默认为0 -->
<BLANK_PAD_MODE>0</BLANK_PAD_MODE>
<!-- 指定system.dbf文件的镜像路径,默认为空 -->
<SYSTEM_MIRROR_PATH></SYSTEM_MIRROR_PATH>
<!-- 指定main.dbf文件的镜像路径,默认为空 -->
<MAIN_MIRROR_PATH></MAIN_MIRROR_PATH>
<!-- 指定roll.dbf文件的镜像路径,默认为空 -->
<ROLL_MIRROR_PATH></ROLL_MIRROR_PATH>
<!-- 是否是四权分立,默认值为 0(不使用)。仅在安全版本下可见和可设置。只能是01 -->
<PRIV_FLAG>0</PRIV_FLAG>
</DB_PARAMS>
<!--是否创建数据库实例的服务,值 Y/N y/n ,不允许为空,不初始化数据库将忽略此节点。非root用户不能创建数据库服务。 -->
<CREATE_DB_SERVICE>Y</CREATE_DB_SERVICE>
<!--是否启动数据库,值 Y/N y/n,不允许为空,不创建数据库服务将忽略此节点。 -->
<STARTUP_DB_SERVICE>Y</STARTUP_DB_SERVICE>
</DATABASE>

进去挂载目录,执行下述命令
# ./DMInstall.bin -q /dmdata/install.xml
安装过程如下:

静默安装相比于拷贝安装更加方便快捷,一步直接讲数据库初始化、服务注册全部完成

6、安装后继调整

配置服务资源限制
编辑/usr/lib/systemd/system/DmServiceTEST.service文件,修改下列几个参数
[Service]
LimitNOFILE=65536
LimitCORE=infinity

运行下面命令生效
systemctl daemon-reload
systemctl restart DmServiceTEST.service

如做全局的配置,需要修改文件/etc/systemd/system.conf
修改了system.conf后,因为缺失文件,命令无法正常生效,需要重启系统才行。
vi /etc/systemd/system.conf
#增加参数
DefanltLimitNOFILE=65536

7、数据库卸载

先停止数据库服务:# systemctl stop DmServiceTEST

(这里用错用户,导致需要输入root用户密码才能停止)
卸载数据库服务:# ./dm_service_uninstaller.sh -n DmServiceTEST

查看是否还有服务 systemctl status DmServiceTEST

删除实例:rm -rf /dmdata/dmtest
卸载数据库:$ ./uninstall.sh -i

更多资讯请上达梦技术社区了解:https://eco.dameng.com

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值