环境版本配置:
系统为VM虚拟机环境下的 ubuntu-22.04.5,数据库版本为DM8,全程纯命令行操作。
可以直接跳转到第九部分迅速查找问题。
一、前置系统环境准备(root 用户执行)
1.1 基础目录创建与权限分配
1.2 配置 DM 环境变量并生效校验
二、DM8 安装包解压、镜像挂载(root 用户执行)
三、命令行安装 DM8(切换 dmdba 用户执行)
3.1挂载后查询文件是否存在
3.2命令行静默安装
四、安装完成后执行全局注册脚本
五、注册数据库实例系统服务(root 用户执行)
六、disql 工具登录数据库、创建管理员用户(dmdba 用户)
七、业务表空间、业务用户创建(SYSDBA 执行)
八、业务表创建、插入数据、查询校验(DMOA 用户)
8.1切换业务用户 DMOA 登录数据库(SYSDBA 会话内执行)
8.2创建,插入,查询
九、总结
第一次在 Ubuntu22.04 系统部署 DM8 遇到不少问题,实操下来整理了几个最容易遇到的,可以提前规避:
1、根目录创建文件夹权限问题
普通用户dmdba直接在根目录创建/dmdata、/soft这类目录时,会直接报Permission denied,因为 Linux 根目录默认只有 root 用户才有新建权限。
如果不提前修改目录归属,后续解压、安装、建库都会连续报权限不足。
执行:
#root用户创建目标目录
mkdir -p /dmdata/data
mkdir -p /soft
#修改目录归属给dmdba用户和dinstall组
chown -R dmdba:dinstall /dmdata
chown -R dmdba:dinstall /soft
2、dminit 初始化参数高频报错
初始化数据库时参数格式很容易写错,新手最常遇到三类问题:
(1)字符集参数报错
现象:[CHARSET] value error
原因:CHARSET不能直接写GB18030字符串,必须用数字对应:0=GB18030,1=UTF-8,2=EUC-KR
(2)强制要求设置管理员密码
现象:please set [SYSDBA_PWD] and [SYSAUDITOR_PWD]
原因:新版 DM8 初始化强制设置管理员密码,且密码必须满足复杂度:8 位以上,同时包含大写字母、小写字母、数字。
(3)重复初始化文件冲突
现象:FILE xxx has already existed, whether overwrite(Y/N)
原因:目标目录已经存在旧数据库文件,确认不需要就输入Y覆盖,否则更换新路径初始化。
3、disql 使用两类常见问题
(1)disql 命令找不到
现象:dmdba 用户直接输入disql报 “未找到命令”
原因:达梦 bin 目录没有加入系统环境变量
解决:临时用完整路径执行,或者配置永久环境变量
bash
运行
#临时生效
export DM_HOME=/app/dmdbms
export PATH=$ PATH:$DM_HOME/bin
#写入配置永久生效
echo “export DM_HOME=/app/dmdbms” >> ~/.bashrc
echo “export PATH=$PATH:$DM_HOME/bin” >> ~/.bashrc
source ~/.bashrc
(2)方向键 / 快捷键变成乱码
现象:按左右方向键、Ctrl 组合键移动光标会输出B、[[D这类字符
原因:达梦官方原生 disql 编译时未链接 readline,不支持光标移动、历史命令翻页
解决:用rlwrap工具包装 disql 启动
bash
运行
#root安装rlwrap工具
apt install rlwrap -y
#带行编辑功能启动disql
rlwrap disql SYSDBA/Dameng123@localhost:5234
4、创建用户密码复杂度报错
现象:新建用户时报[-2502]:密码不符合复杂度规则
原因:默认全局开启密码复杂度校验,所有用户密码都需要满足「大写 + 小写 + 数字 + 8 位以上」要求
两种解决方案:
A.直接设置符合复杂度的密码,例如Dameng_oa123
B.测试环境临时关闭复杂度校验
sql
SP_SET_PARA_VALUE(1, ‘PWD_POLICY’, 0);
5、长 SQL 输入语法错位问题
没有配置 rlwrap 的情况下,输入长 SQL 时光标容易错位,导致字段名截断、语法解析报错。
两种规避方法:
短 SQL 尽量单行写完,输错直接按Ctrl+u清空整行重输
长 SQL 提前写进.sql文件,用@文件路径批量执行
文章
阅读量
获赞
