Appearance
达梦数据库安装
磁盘挂载等内容不做说明,建议使用单独硬盘安装达梦数据库。
本次示例基于银河麒麟Kylin Linux Advanced Server V10 sp1,已挂载磁盘/dev/sdb,挂载类型lvm,挂载点/data,达梦安装目录/data/dmdbms,用户haiyi作为安装用户
上传并挂载安装文件
上传达梦安装包,此处以
dm8_20241018_x86_kylin10_64.iso
为例。创建文件夹用于挂载iso文件
bashmkdir /media/dm8 mount -o loop /home/haiyi/dm8/dm8_20241018_x86_kylin10_64.iso /media/dm8 chown -R haiyi:haiyi /media/dm8
检查并修改系统配置
达梦中推荐配置的各参数如下,运行
ulimit -a
命令进行查询:data seg size
data seg size (kbytes, -d) 建议用户设置为1048576(即1GB)以上或unlimited(无限制),此参数过小将导 致数据库启动失败。
file size
file size(blocks, -f) 建议用户设置为unlimited(无限制),此参数过小将导致数据库安装或初始化失败。
open files
open files(-n) 建议用户设置为65536以上或unlimited(无限制)。 编辑
/etc/security/limits.conf
文件增加以下两行重新登陆SSH会话后生效,参考conf* soft nofile 65536 * hard nofile 65536
virtual memory
virtual memory (kbytes, -v) 建议用户设置为1048576(即1GB)以上或unlimited(无限制),此参数过小将导 致数据库启动失败。 如果用户需要为当前安装用户更改 ulimit 的资源限制,请修改文件 /etc/security/limits.conf。
- 检查
Swap
空间
安装前需确保
Swap
空间已挂载,可使用grep SwapTotal /proc/meminfo
或free -g
命令检查- 检查
/tmp
空间
安装前确保
/tmp
至少有2Gb以上空间,使用命令df -h /tmp
命令检查,空间不足使用以下命令指定安装时临时目录bashmkdir -p /mount_point/ dir_name DM_INSTALL_TMPDIR=/mount_point/dir_name export DM_INSTALL_TMPDIR
安装数据库软件
- 执行安装命令bash开始安装选项配置
cd /media/dm8 chmod 755 ./DMInstall.bin ./DMInstall.bin -i
bash输入许可证位置(可选)安装语言: [1]: 简体中文 [2]: English 请选择安装语言 [1]: 1
bash设置时区是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:y 请输入Key文件的路径地址 [dm.key]:/home/haiyi/dm8/dm8_x86_sec_20250325.key
bash选择安装类型(典型安装包括客户端与服务端,仅安装服务端即可)是否设置时区? (Y/y:是 N/n:否) [Y/y]:y 请选择时区 [21]:21
bash指定数据库安装位置安装类型: 1 典型安装 2 服务器 3 客户端 4 自定义 请选择安装类型的数字序号 [1 典型安装]:2
bash确认安装请选择安装目录 [/home/haiyi/dmdbms]:/data/dmdbms 是否确认安装路径(/data/dmdbms)? (Y/y:是 N/n:否) [Y/y]:y
bashroot用户下执行安装后脚本是否确认安装? (Y/y:是 N/n:否):y
bashsh /data/dmdbms/script/root/root_installer.sh
- 执行安装命令
创建数据实例与服务进程
(推荐)使用
dminit
命令初始化数据库(完整参数参考《DM8_Linux服务脚本使用手册.pdf》)
bash/data/dmdbms/bin/dminit
完成输入参数如下
bash[haiyi@dm8-129 bin]$ ./dminit initdb V8 db version: 0x7000c License will expire on 2025-03-25 # 参数名:PATH ,初始数据库存放的路径 input system dir: /data/dmdbms # 参数名:DB_NAME ,数据库名 input db name: DAMENG # 参数名:PORT_NUM ,监听端口号 input port num: 5236 # 参数名:PAGE_SIZE ,数据页大小 input page size(4, 8, 16, 32): 8 # 参数名:EXTENT_SIZE ,数据文件使用的簇大小 input extent size(16, 32, 64): 16 # 参数名:SEC_PRIV_MODE ,权限管理模式 input sec priv mode(0, 1, 2, 3): 0 # 参数名:ENV_LABEL ,设置是否启用环境标记功能 input global env label flag? ([Y]es, [N]o): 0 # 参数名:ENABLE_MAC ,是否打开强制访问控制功能 input enable_mac? ([Y]es, [N]o): 0 # 参数名:TIME_ZONE ,初始化时区 input time zone(-12:59,+14:00): +8:00 # 参数名:CASE_SENSITIVE ,标识符大小写敏感,此处不使用默认值设置为不敏感 string case sensitive? ([Y]es, [N]o): n # 参数名:CHARSET ,字符集选项 which charset to use? (0[GB18030], 1[UTF-8], 2[EUC-KR]): 0 #开启全库加密 enable database encrypt? ([Y]es, [N]o): n # 参数名:PAGE_ENC_SLICE_SIZE ,设置页加密分片大小 input slice size(0, 512, 4096): 4096 # 参数名:PAGE_CHECK ,页检查模式 page check mode? (0/1/2/3): 3 # 参数名:SYSTEM_MIRROR_PATH ,SYSTEM 数据文件镜像路径 system mirror path: # 参数名:MAIN_MIRROR_PATH ,MAIN 数据文件镜像 main mirror path: # 参数名:ROLL_MIRROR_PATH ,回滚文件镜像路径 roll mirror path: # 参数名:ELOG_PATH ,指定初始化过程中生成的日志文件所在路径 input elog path: # 参数名:HUGE_WITH_DELTA ,是否仅支持创建事务型HUGE 表 only create huge table with delta? (0/1): 1 # 参数名:RLOG_GEN_FOR_HUGE ,是否生成HUGE 表REDO 日志 rlog generate for huge? (0/1): 1 # 参数名:PSEG_MGR_FLAG ,是否仅使用管理段记录事务信息 pseg_mgr_flag (0/1): 0 # 参数名:AUTO_OVERWRITE ,是否覆盖所有同名文件 auto_overwrite mode? (0/1/2): 2 # 参数名:CHAR_FIX_STORAGE ,CHAR 是否按定长存储 CHARACTER type fixed storage ? ([Y]es/1, [N]o/0): n # 参数名:SQL_LOG_FORBID, 是否禁止打开SQL 日志 SQL log forbid ? ([Y]es/1, [N]o/0): n # 参数名:USE_DB_NAME ,路径是否拼接DB_NAME input use_db_name: ([Y]es/1, [N]o/0): 1 Normal of FAST Normal of DEFAULT Normal of RECYCLE Normal of KEEP Normal of ROLL log file path: /data/dmdbms/DAMENG/DAMENG01.log log file path: /data/dmdbms/DAMENG/DAMENG02.log write to dir [/data/dmdbms/DAMENG]. create dm database success. 2024-11-27 22:29:45
同时可以在
dminit
命令后跟上参数完成初始化如:/data/dmdbms/bin/dminit PATH=/public/dmdb/dmData PAGE_SIZE=16
,参数名参考上方示例中的参数名
(可选)使用初始化配置文件初始化数据库
创建
dminit.ini
文件(完整参数参考《DM8_Linux服务脚本使用手册.pdf》)bash[DAMENG] # 初始数据库存放的相对路径 system_path = /data/dmdbms/ # 指定MAIN.DBF文件相对路径。 main = /data/dmdbms/DAMENG/dsc/main.dbf # 指定MAIN.DBF文件大小 main_size = 2509 # 指定SYSTEM.DBF文件相对路径 system = /data/dmdbms/DAMENG/dsc/system.dbf # 指定SYSTEM.DBF文件大小,取值范围为32~65534,单位MB system_size = 2509 # 指定ROLL.DBF文件相对路径 roll = /data/dmdbms/DAMENG/dsc/roll.dbf # 指定ROLL.DBF文件大小,取值范围为32~65534,单位MB roll_size = 2509 # 指定dm.ctl文件大小 ctl_path = /data/dmdbms/DAMENG/dsc/dm.ctl # 日志文件大小 log_size = 1024 # 日志文件地址 log_path = /data/dmdbms/DAMENG/log/log01.log log_path = /data/dmdbms/DAMENG/log/log02.log # 是否覆盖建库目录下所有同名文件,0:不覆盖,1:部分覆盖,2:完全覆盖 auto_overwrite =2
执行初始化命令
bash/data/dmdbms/bin/dminit CONTROL=/data/dmdbms/dminit.ini
注册服务并启动数据库
- root用户下注册数据库服务bash
/data/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /data/dmdbms/DAMENG/dm.ini -p DAMENG
- 启动数据bash
systemctl enable --now DmServiceDAMENG systemctl status DmServiceDAMENG
- 增加防火墙放行策略bash
firewall-cmd --zone=public --add-port=5236/tcp --permanent firewall-cmd --reload
- root用户下注册数据库服务
至此达梦数据库安装并初始化完成,数据库管理用户
SYSDBA
账号默认密码SYSDBA