文章目录
提示:以下是本篇文章正文内容,下面案例可供参考
一、安装
参考相关文章:
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.查看服务进程
执行:ps -ef|grep dmserver
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