提示:以下是本篇文章正文内容,下面案例可供参考
一、安装
参考相关文章: https://www.cnblogs.com/daiss314/p/14745937.html https://blog.csdn.net/qq_37358909/article/details/113343515
1.环境准备
注:最好用非root用户登录服务器,需要root用户执行的命令,直接sudo+命令即可。 数据库下载去http://www.dameng.com,这里以dm8_20240408_x86_rh7_64.iso为例介绍。
解压iso,后复制到服务器(这里放在/home/admin/dameng)。 这里用普通用户admin登录并赋予sudo权限。如果有普通用户,此步骤可省略:
- 创建用户:adduser admin
- 编辑密码:passwd admin123
- 把admin添加到sudoer组里去,先切换到root用户:su root
- 编辑文件:vim /etc/sudoers
找到文件中的 “root ALL=(ALL) ALL” 这一行,然后在下面一行添加普通用户的信息,格式为: admin ALL=(ALL) ALL 保存文件,退出即可,执行::wq! - 参看所有用户:cat /etc/passwd |cut -d: -f 1-3
2.安装 - 进入:cd /home/admin/dameng
- 执行:./DMInstall.bin -i
复制代码
按照如下提示一步步填写: 安装结束之后,需要sudo 执行一次脚本: - sudo /home/admin/dmdbms/script/root/root_installer.sh
复制代码
看到如下目录安装完成。
3.初始化实例 - 进入数据库bin执行目录:cd /home/admin/dmdbms/bin
- 执行:./dminit PATH=/home/admin/dmdbms/data PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=N LOG_SIZE=2048 CHARSET=1 LENGTH_IN_CHAR=Y DB_NAME=DMDB LOG_SIZE=2048 INSTANCE_NAME=DMSERVER_DMDB PORT_NUM=5236 SYSDBA_PWD=SYSDBA
复制代码
参数解读:
| 参数 | 含义 |
|---|
| PATH | 数据库初始化目录 | | SYSDBA_PWD | 初始化时设置SYSDBA的密码,默认为SYSDBA。密码长度为 9 到 48。 | | PAGE_SIZE=32 | 数据页大小 单位:KB | | EXTENT_SIZE=32 | 簇大小 单位:页 | | CASE_SENSITIVE=Y | 大小敏感(Y) | | CHARSET=0 | 字符集(0),可选值:0[GB18030],1[UTF-8],2[EUC-KR] | | LENGTH_IN_CHAR=Y | 默认N,建议Y,VARCHAR类型长度是否以字符为单位,可选值:Y/N | | DB_NAME=DAMENG | 数据库名(DAMENG) | | BLANK_PAD_MODE=0 | 设置空格填充模式(默认0), 可选值:0/1设置字符串比较时,结尾空格填充模式是否兼容 ORACLE。取值:1 兼容。 | | LOG_SIZE=2048 | 默认256,REDO日志文件大小 单位为:M | | INSTANCE_NAME=DMSERVER | 实例名(DMSERVER) | | PORT_NUM=5236 | 监听端口号,默认5236 |
看到如下目录初始化数据库完成。
4.注册服务
首先检查dm.ini的位置:/home/admin/dmdbms/data/DMDB(在安装的数据库默认路径下) - 进入:cd /home/admin/dmdbms/script/root
- 执行:sudo ./dm_service_installer.sh -t dmserver -dm_ini /home/admin/dmdbms/data/DMDB/dm.ini -p DMSERVER
复制代码
注:-t服务类型 dmserver -dm_ini ini文件路径 -p 服务后缀名
5.启动服务 - 进入:cd /home/admin/dmdbms/bin
- 执行:./DmServiceDMSERVER start
复制代码
6.查看服务进程
7.连接测试 - 进入:cd /home/admin/dmdbms/bin
- 执行:./disql sysdba #密码默认为:SYSDBA
- 查询:select *from v$instance
复制代码
注:若设置端口号为其他,通过以下方式执行:./disql user/pass@ip:port 如果密码有特殊字符要加上'```',eg:./disql '''user'''/'''pass'''@ip:port
二、卸载
参考相关文章: https://blog.csdn.net/D15306354614/article/details/109677234 https://blog.csdn.net/weixin_42942173/article/details/131353754
- 卸载DM8数据库,进入bin目录下停止达梦数据库服务,再退出bin目录执行卸载。
- 进入:cd /home/admin/dmdbms/bin
- 执行:./DmServiceDMSERVER stop
- 退出:cd ..
- 执行:./uninstall.sh -i
复制代码
2. sudo执行sh文件 - 执行:sudo /home/admin/dmdbms/root_uninstaller.sh
复制代码
3. 删除数据库文件
三、相关报错
1.解决4080 group by 报错问题
参考相关文章: https://blog.csdn.net/qq_37898570/article/details/126951104
报错: 解决方法:修改dm.ini的COMPATIBLE_MODE参数为4,然后重启数据库。 - 执行:sp_set_para_value(2,'COMPATIBLE_MODE',4);
- 退出:quit
- 重启数据库:./DmServiceDMSERVER restart #需要在bin目录下
- 登录:./disql sysdba #密码默认为:SYSDBA
复制代码
查看是否修改成功: - 查询:select para_name,para_value,file_value from v$dm_ini where para_name='COMPATIBLE_MODE';
- 查询:SELECT * FROM ACTIVITIDB.ACT_HI_VARINST WHERE ID_ ='1005002' GROUP BY PROC_INST_ID_ ;
复制代码
2.创建 SOCKET 连接失败/网络通讯异常
参考相关文章: https://blog.csdn.net/weixin_50694517/article/details/115876277
确认 dm.ini 文件中port_num端口号。 默认端口号为 5236,若设置端口号为其他,通过以下方式执行: - ./disql user/pass@ip:port
复制代码
如果密码有特殊字符要加上’```’ - ./disql '''user'''/'''pass'''@ip:port
复制代码 |