达梦数据库安装
一、安装前准备
新建 dmdba 用户
注意
安装前必须创建 dmdba 用户,禁止使用 root 用户安装数据库。
- 创建用户所在的组,命令如下:
groupadd dinstall
- 创建用户,命令如下:
useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
- 修改用户密码,命令如下:
passwd dmdba
修改文件打开最大数
- 重启服务器后永久生效
使用 vim 编辑器打开 /etc/security/limits.conf
文件,命令如下:
vim /etc/security/limits.conf
在最后添加四条语句,需添加的语句如下:
dmdba hard nofile 65536
dmdba soft nofile 65536
dmdba hard stack 32768
dmdba soft stack 16384
切换到 dmdba 用户,查看是否生效,命令如下:
su - dmdba
ulimit -a
挂载镜像
切换到 root 用户,将 DM 数据库的 iso 安装包保存在任意位置,例如 /opt 目录下,执行如下命令挂载镜像:
# 本文上传路径为 /home/opt
mkdir -p /home/opt
# dm8_20230714_x86_kylin10_64.iso修改为实际的iso文件名
mount -o loop /home/opt/dm8_20230714_x86_kylin10_64.iso /mnt
新建安装目录
在根目录下创建 /dm8 文件夹,用来安装 DM 数据库。
mkdir -p /home/dm8
使用 root 用户建立文件夹,待 dmdba 用户建立完成后需将文件所有者更改为 dmdba 用户,否则无法安装到该目录下
修改安装目录权限
将新建的安装路径目录权限的用户修改为 dmdba,用户组修改为 dinstall。
chown dmdba:dinstall -R /home/dm8/
给安装路径下的文件设置 755 权限。
chmod -R 755 /home/dm8
二、数据库安装
安装
切换至 dmdba 用户下,在 /mnt 目录下使用命令行安装数据库程序,依次执行以下命令安装 DM 数据库。
su - dmdba
cd /mnt/
./DMInstall.bin -i
选择时区,默认为21【中国标准时间】
选择安装类型,指定安装路径后确认安装
等待安装完成
数据库安装完成后,需要切换至 root 用户执行上图中的命令 /dm8/script/root/root_installer.sh
创建 DmAPService,否则会影响数据库备份
/dm8/script/root/root_installer.sh
配置环境变量
切换到 root 用户进入 dmdba 用户的根目录下,配置对应的环境变量。DM_HOME 变量和动态链接库文件的加载路径在程序安装成功后会自动导入。
export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool
编辑 .bash_profile,使其最终效果如下图所示:
cd /home/dmdba/
vim .bash_profile
如果最后一行不存在,则手动加入
切换至 dmdba 用户下,执行以下命令,使环境变量生效。
su - dmdba
source .bash_profile
三、配置实例
使用 dmdba 用户配置实例,进入到 DM 数据库安装目录下的 bin 目录中,使用 dminit 命令初始化实例。
su - dmdba
cd /home/dm8/bin
dminit语法如下。
# ./dminit 参数=参数值 参数=参数值 ......
# 例如数据库实例化 初始数据库存放的路径为/home/dm8/data;端口为5432,命令如下
./dminit PATH=/home/dm8/data PORT_NUM=5432
创建数据库存数据存放路径
mkdir -p /home/dm8/data
修改目录权限并授权
chown dmdba:dinstall -R /home/dm8/data
chown dmdba:dinstall -R /home/dm8/data
切换至数据库安装用户
su - dmdba
进入到 DM 数据库安装目录下的 bin 目录中
cd /home/dm8/bin
执行初始化命令
./dminit PATH=/home/dm8/data CHARSET=1 PORT_NUM=5432
dminit 命令可设置多种参数,可执行如下命令查看可配置参数。
./dminit help
# 具体参数如下:
INI_FILE 初始化文件dm.ini存放的路径
PATH 初始数据库存放的路径
CTL_PATH 控制文件路径
LOG_PATH 日志文件路径
EXTENT_SIZE 数据文件使用的簇大小(16),可选值:16, 32, 64,单位:页
PAGE_SIZE 数据页大小(8),可选值:4, 8, 16, 32,单位:K
LOG_SIZE 日志文件大小(256),单位为:M,范围为:256M ~ 8G
CASE_SENSITIVE 大小敏感(Y),可选值:Y/N,1/0
CHARSET/UNICODE_FLAG 字符集(0),可选值:0[GB18030],1[UTF-8],2[EUC-KR]
SEC_PRIV_MODE 权限管理模式(0),可选值:0[TRADITION],1[BMJ],2[EVAL],3[ZB]
LENGTH_IN_CHAR VARCHAR类型长度是否以字符为单位(N),可选值:Y/N,1/0
SYSDBA_PWD 设置SYSDBA密码(SYSDBA)
SYSAUDITOR_PWD 设置SYSAUDITOR密码(SYSAUDITOR)
DB_NAME 数据库名(DAMENG)
INSTANCE_NAME 实例名(DMSERVER)
PORT_NUM 监听端口号(5236)
BUFFER 系统缓存大小(100),单位M
TIME_ZONE 设置时区(+08:00)
PAGE_CHECK 页检查模式(1),可选值:0/1/2
PAGE_HASH_NAME 设置页检查HASH算法
EXTERNAL_CIPHER_NAME 设置默认加密算法
EXTERNAL_HASH_NAME 设置默认HASH算法
EXTERNAL_CRYPTO_NAME 设置根密钥加密引擎
RLOG_ENCRYPT_NAME 设置日志文件加密算法,若未设置,则不加密
RLOG_POSTFIX_NAME 设置日志文件后缀名,长度不超过10。默认为log,例如DAMENG01.log
USBKEY_PIN 设置USBKEY PIN
PAGE_ENC_SLICE_SIZE 设置页加密分片大小,可选值:0、512、4096,单位:Byte
ENCRYPT_NAME 设置全库加密算法
BLANK_PAD_MODE 设置空格填充模式(0),可选值:0/1
SYSTEM_MIRROR_PATH SYSTEM数据文件镜像路径
MAIN_MIRROR_PATH MAIN数据文件镜像
ROLL_MIRROR_PATH 回滚文件镜像路径
MAL_FLAG 初始化时设置dm.ini中的MAL_INI(0)
ARCH_FLAG 初始化时设置dm.ini中的ARCH_INI(0)
MPP_FLAG Mpp系统内的库初始化时设置dm.ini中的mpp_ini(0)
CONTROL 初始化配置文件(配置文件格式见系统管理员手册)
AUTO_OVERWRITE 是否覆盖所有同名文件(0) 0:不覆盖 1:部分覆盖 2:完全覆盖
USE_NEW_HASH 是否使用改进的字符类型HASH算法(1)
ELOG_PATH 指定初始化过程中生成的日志文件所在路径
AP_PORT_NUM 分布式环境下协同工作的监听端口
DFS_FLAG 初始化时设置dm.ini中的DFS_INI(0)
DFS_PATH 启用dfs时指定数据文件的缺省路径
DFS_HOST 指定连接分布式系统DFS的服务地址(localhost)
DFS_PORT 指定连接分布式系统DFS的服务端口号(3332)
DFS_COPY_NUM 指定分布式系统的副本数(3)
DFS_DB_NAME 指定分布式系统的中数据库名(默认与DB_NAME一致)
SHARE_FLAG 指定分布式系统中该数据库的共享属性(0)
REGION_MODE 指定分布式系统中该数据库的系统表空间数据文件的区块策略(0) 0:微区策略 1:宏区策略
HUGE_WITH_DELTA 是否仅支持创建事务型HUGE表(1) 1:是 0:否
RLOG_GEN_FOR_HUGE 是否生成HUGE表REDO日志(1) 1:是 0:否
PSEG_MGR_FLAG 是否仅使用管理段记录事务信息(0) 1:是 0:否
CHAR_FIX_STORAGE CHAR是否按定长存储(N),可选值:Y/N,1/0
SQL_LOG_FORBID 是否禁止打开SQL日志(N),可选值:Y/N,1/0
DPC_MODE 指定DPC集群中的实例角色(0) 0:无 1:MP 2:BP 3:SP,取值1/2/3时也可以用MP/BP/SP代替
HELP 打印帮助信息
四、注册服务
注册服务需使用 root 用户进行注册。使用 root 用户进入数据库安装目录的 /script/root
下
cd /home/dm8/script/root
注册服务
./dm_service_installer.sh -t dmserver -dm_ini /home/dm8/data/DAMENG/dm.ini -p DMSERVER
可根据自己的环境更改 dm.ini 文件的路径以及服务名,如下所示:
./dm_service_installer.sh -h
如需为其他实例注册服务,需打开 dbca 工具,进行注册服务,如下所示:
cd /dm8/tool
./dbca.sh
五、启数据库启动、停止
服务注册成功后,启动数据库
systemctl start DmServiceDMSERVER.service
停止数据库
systemctl stop DmServiceDMSERVER.service
重启数据库
systemctl restart DmServiceDMSERVER.service
查看数据库服务状态
systemctl status DmServiceDMSERVER.service
可前台启动,进入 DM 安装目录下的 bin 目录下,命令如下:
./dmserver /dm/data/DAMENG/dm.ini
该启动方式为前台启动,若想关闭数据库,则输入 exit 即可。
也可进入 DM 安装目录下的 bin 目录下,启动/停止/重启数据库,如下所示:
./DmServiceDMSERVER start/stop/restart
查看数据库状态,如下所示:
./DmServiceDMSERVER status
安装过程
[root@localhost home]# su - dmdba
上一次登录: 四 1月 25 10:15:15 CST 2024 pts/1 上
[dmdba@localhost ~]$ cd /mnt/
[dmdba@localhost mnt]$ ls
'DM8 Install.pdf' DMInstall.bin
[dmdba@localhost mnt]$ ./DMInstall.bin -i
请选择安装语言(C/c:中文 E/e:英文) [C/c]:
解压安装程序..........
欢迎使用达梦数据库安装程序
是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:请输入Key文件的路径地址 [dm.key]:/home/opt/dm7401094993.key
/tmp/DMInstall/install/install_zh_UTF.sh:行235: 警告:命令替换:忽略输入中的 null 字节
有效日期: 2024-06-25
服务器颁布类型: 企业版
发布类型: 试用版
用户名称: 达梦公司产品试用
授权用户数: 无限制
并发连接数: 无限制
是否设置时区? (Y/y:是 N/n:否) [Y/y]:y
设置时区:
[ 1]: GTM-12=日界线西
[ 2]: GTM-11=萨摩亚群岛
[ 3]: GTM-10=夏威夷
[ 4]: GTM-09=阿拉斯加
[ 5]: GTM-08=太平洋时间(美国和加拿大)
[ 6]: GTM-07=亚利桑那
[ 7]: GTM-06=中部时间(美国和加拿大)
[ 8]: GTM-05=东部部时间(美国和加拿大)
[ 9]: GTM-04=大西洋时间(美国和加拿大)
[10]: GTM-03=巴西利亚
[11]: GTM-02=中大西洋
[12]: GTM-01=亚速尔群岛
[13]: GTM=格林威治标准时间
[14]: GTM+01=萨拉热窝
[15]: GTM+02=开罗
[16]: GTM+03=莫斯科
[17]: GTM+04=阿布扎比
[18]: GTM+05=伊斯兰堡
[19]: GTM+06=达卡
[20]: GTM+07=曼谷,河内
[21]: GTM+08=中国标准时间
[22]: GTM+09=汉城
[23]: GTM+10=关岛
[24]: GTM+11=所罗门群岛
[25]: GTM+12=斐济
[26]: GTM+13=努库阿勒法
[27]: GTM+14=基里巴斯
请选择设置时区 [21]:
安装类型:
1 典型安装
2 服务器
3 客户端
4 自定义
请选择安装类型的数字序号 [1 典型安装]:1
所需空间: 2068M
请选择安装目录 [/home/dmdba/dmdbms]:/home/dm8
可用空间: 81G
是否确认安装路径(/home/dm8)? (Y/y:是 N/n:否) [Y/y]:y
安装前小结
安装位置: /home/dm8
所需空间: 2068M
可用空间: 81G
版本信息: 企业版
有效日期: 2024-06-25
安装类型: 典型安装
是否确认安装? (Y/y:是 N/n:否):y
2024-01-25 10:48:40
[INFO] 安装达梦数据库...
2024-01-25 10:48:40
[INFO] 安装 基础 模块...
2024-01-25 10:48:42
[INFO] 安装 服务器 模块...
2024-01-25 10:48:42
[INFO] 安装 客户端 模块...
2024-01-25 10:48:43
[INFO] 安装 驱动 模块...
2024-01-25 10:48:44
[INFO] 安装 手册 模块...
2024-01-25 10:48:44
[INFO] 安装 服务 模块...
2024-01-25 10:48:44
[INFO] 移动日志文件。
2024-01-25 10:48:45
[INFO] 安装达梦数据库完成。
请以root系统用户执行命令:
/home/dm8/script/root/root_installer.sh
安装结束
[dmdba@localhost mnt]$ su root
密码:
[root@localhost mnt]# /home/dm8/script/root/root_installer.sh
移动 /home/dm8/bin/dm_svc.conf 到/etc目录
创建DmAPService服务
Created symlink /etc/systemd/system/multi-user.target.wants/DmAPService.service → /usr/lib/systemd/system/DmAPService.service.
创建服务(DmAPService)完成
启动DmAPService服务
[root@localhost mnt]#
[root@localhost dm8]# cd /home/dmdba/
[root@localhost dmdba]# vim .bash_profile
[root@localhost dmdba]#
[root@localhost dmdba]#
[root@localhost dmdba]#
[root@localhost dmdba]#
[root@localhost dmdba]#
[root@localhost dmdba]# mkdir -p /home/dm8/data
[root@localhost dmdba]# chown dmdba:dinstall -R /home/dm8/data
[root@localhost dmdba]# chown dmdba:dinstall -R /home/dm8/data
[root@localhost dmdba]# su - dmdba
上一次登录: 四 1月 25 10:25:16 CST 2024 pts/1 上
[dmdba@localhost ~]$ cd /home/dm8/bin
[dmdba@localhost bin]$ ./dminit PATH=/home/dm8/data CHARSET=1 PORT_NUM=5432
initdb V8
db version: 0x7000c
License will expire on 2024-06-25
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
log file path: /home/dm8/data/DAMENG/DAMENG01.log
log file path: /home/dm8/data/DAMENG/DAMENG02.log
write to dir [/home/dm8/data/DAMENG].
create dm database success. 2024-01-25 13:46:22
[dmdba@localhost bin]$ pwd
/home/dm8/bin
[dmdba@localhost bin]$ cd ..
[dmdba@localhost dm8]$ ll
总用量 36
drwxr-xr-x 9 dmdba dinstall 8192 1月 25 10:54 bin
drwxr-xr-x 2 dmdba dinstall 30 1月 25 10:48 bin2
drwxr-xr-x 3 dmdba dinstall 20 1月 25 13:46 data
drwxr-xr-x 3 dmdba dinstall 19 1月 25 10:48 desktop
drwxr-xr-x 2 dmdba dinstall 4096 1月 25 10:48 doc
drwxr-xr-x 14 dmdba dinstall 160 1月 25 10:48 drivers
drwxr-xr-x 2 dmdba dinstall 4096 1月 25 10:48 include
drwxr-xr-x 2 dmdba dinstall 94 1月 25 10:48 jar
drwxr-xr-x 7 dmdba dinstall 161 1月 25 10:48 jdk
-rwxr-xr-x 1 dmdba dinstall 1071 1月 25 10:48 license_en.txt
-rwxr-xr-x 1 dmdba dinstall 1146 1月 25 10:48 license_zh.txt
drwxr-xr-x 2 dmdba dinstall 176 1月 25 13:46 log
drwxr-xr-x 6 dmdba dinstall 92 1月 25 10:48 samples
drwxr-xr-x 3 dmdba dinstall 37 1月 25 10:48 script
drwxr-xr-x 8 dmdba dinstall 4096 1月 25 10:48 tool
drwxr-xr-x 3 dmdba dinstall 97 1月 25 10:48 uninstall
-rwxr-xr-x 1 dmdba dinstall 2208 1月 25 10:48 uninstall.sh
drwxr-xr-x 3 dmdba dinstall 102 1月 25 10:48 web
[dmdba@localhost dm8]$ exit
exit
[root@localhost home]# cd /home/dm8/script/root
[root@localhost root]# ./dm_service_installer.sh -t dmserver -dm_ini /home/dm8/data/DAMENG/dm.ini -p DMSERVER
Created symlink /etc/systemd/system/multi-user.target.wants/DmServiceDMSERVER.service → /usr/lib/systemd/system/DmServiceDMSERVER.service.
创建服务(DmServiceDMSERVER)完成
[root@localhost root]#
[root@localhost root]#
[root@localhost root]#
[root@localhost root]#
[root@localhost root]# ./dm_service_installer.sh -h
Usage: dm_service_installer.sh -t service_type [-p service_name_postfix] [-dm_ini dm_ini_file]
[-watcher_ini watcher_ini_file ] [-monitor_ini monitor_ini_file] [-cssm_ini cssm_ini_file]
[-server server_info] [-dcr_ini dcr_ini_file]
[-dmap_ini dmap_ini_file] [-dpc_mode SP|MP|BP] [-m open|mount] [-y dependent_service] [-auto true|false]
or dm_service_installer.sh [-s service_file_path]
or dm_service_installer.sh -h
-t 服务类型,包括dmimon,dmap,dmserver,dmwatcher,dmmonitor,dmcss,dmcssm,dmasmsvr,dmasmsvrm.
-p 服务名后缀,对于dmimon,dmap服务类型无效
-dm_ini dm.ini文件路径
-watcher_ini dmwatcher.ini文件路径.
-monitor_ini dmmonitor.ini文件路径.
-dcr_ini dmdcr.ini文件路径.
-cssm_ini dmcssm.ini文件路径.
-dmap_ini dmap.ini文件路径.
-dpc_mode DPC节点类型.
-server 服务器信息(IP:PORT)
-auto 设置服务是否自动启动,值为true或false,默认true.
-m 设置服务器启动模式open或mount,只针对dmserver服务类型生效,可选
-y 设置依赖服务,此选项只针对systemd服务环境下的dmserver,dmasmsvr,dmasmsvrm服务生效
-s 服务脚本路径,设置则忽略除-y外的其他参数选项
-h 帮助
[root@localhost root]#
[root@localhost root]#
[root@localhost root]#
[root@localhost root]#
[root@localhost root]# service DmServiceDMSERVER status
重定向至 /bin/systemctl status DmServiceDMSERVER.service
● DmServiceDMSERVER.service - DM Instance Service(DmServiceDMSERVER).
Loaded: loaded (/usr/lib/systemd/system/DmServiceDMSERVER.service; enabled; vendor preset: disabled)
Active: inactive (dead)
[root@localhost root]# systemctl start DmServiceDMSERVER.service
[root@localhost root]# service DmServiceDMSERVER status
重定向至 /bin/systemctl status DmServiceDMSERVER.service
● DmServiceDMSERVER.service - DM Instance Service(DmServiceDMSERVER).
Loaded: loaded (/usr/lib/systemd/system/DmServiceDMSERVER.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2024-01-25 14:09:55 CST; 2s ago
Process: 47733 ExecStart=/home/dm8/bin/DmServiceDMSERVER start (code=exited, status=0/SUCCESS)
Main PID: 47756 (dmserver)
Tasks: 66
Memory: 736.2M
CGroup: /system.slice/DmServiceDMSERVER.service
└─47756 /home/dm8/bin/dmserver path=/home/dm8/data/DAMENG/dm.ini -noconsole
1月 25 14:09:39 localhost.localdomain systemd[1]: Starting DM Instance Service(DmServiceDMSERVER)....
1月 25 14:09:55 localhost.localdomain DmServiceDMSERVER[47733]: [39B blob data]
1月 25 14:09:55 localhost.localdomain systemd[1]: Started DM Instance Service(DmServiceDMSERVER)..
[root@localhost root]#
[root@localhost root]#
本文参考 https://eco.dameng.com/document/dm/zh-cn/start/dm-directory.html