[Linux服务器] Linux部署达梦数据库

1516 0
Honkers 2025-3-8 14:48:57 | 显示全部楼层 |阅读模式


提示:以下是本篇文章正文内容,下面案例可供参考

一、安装

参考相关文章:
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权限。如果有普通用户,此步骤可省略:

  1. 创建用户:adduser admin
  2. 编辑密码:passwd admin123
  3. 把admin添加到sudoer组里去,先切换到root用户:su root
  4. 编辑文件:vim /etc/sudoers
    找到文件中的 “root ALL=(ALL) ALL” 这一行,然后在下面一行添加普通用户的信息,格式为:
    admin ALL=(ALL) ALL
    保存文件,退出即可,执行::wq!
  5. 参看所有用户:cat /etc/passwd |cut -d: -f 1-3

2.安装

  1. 进入:cd /home/admin/dameng
  2. 执行:./DMInstall.bin -i
复制代码

按照如下提示一步步填写:


安装结束之后,需要sudo 执行一次脚本:

  1. sudo /home/admin/dmdbms/script/root/root_installer.sh
复制代码


看到如下目录安装完成。

3.初始化实例

  1. 进入数据库bin执行目录:cd /home/admin/dmdbms/bin
  2. 执行:./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(在安装的数据库默认路径下)

  1. 进入:cd /home/admin/dmdbms/script/root
  2. 执行: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.启动服务

  1. 进入:cd /home/admin/dmdbms/bin
  2. 执行:./DmServiceDMSERVER start
复制代码

6.查看服务进程

  1. 执行:ps -ef|grep dmserver
复制代码

7.连接测试

  1. 进入:cd /home/admin/dmdbms/bin
  2. 执行:./disql sysdba #密码默认为:SYSDBA
  3. 查询: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

  1. 卸载DM8数据库,进入bin目录下停止达梦数据库服务,再退出bin目录执行卸载。
  1. 进入:cd /home/admin/dmdbms/bin
  2. 执行:./DmServiceDMSERVER stop
  3. 退出:cd ..
  4. 执行:./uninstall.sh -i
复制代码


2. sudo执行sh文件

  1. 执行: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,然后重启数据库。

  1. 执行:sp_set_para_value(2,'COMPATIBLE_MODE',4);
  2. 退出:quit
  3. 重启数据库:./DmServiceDMSERVER restart #需要在bin目录下
  4. 登录:./disql sysdba #密码默认为:SYSDBA
复制代码


查看是否修改成功:

  1. 查询:select para_name,para_value,file_value from v$dm_ini where para_name='COMPATIBLE_MODE';
  2. 查询: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,若设置端口号为其他,通过以下方式执行:

  1. ./disql user/pass@ip:port
复制代码

如果密码有特殊字符要加上’```’

  1. ./disql '''user'''/'''pass'''@ip:port
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2026 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行