Linux部署达梦数据库


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

一、安装

参考相关文章:
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为例介绍。
AIt

解压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.安装

进入:cd /home/admin/dameng
执行:./DMInstall.bin -i

按照如下提示一步步填写:
AIt
安装结束之后,需要sudo 执行一次脚本:

sudo /home/admin/dmdbms/script/root/root_installer.sh

AIt
看到如下目录安装完成。
AIt

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

AIt
参数解读:

参数含义
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

看到如下目录初始化数据库完成。
AIt

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 服务后缀名
AIt

5.启动服务

进入:cd /home/admin/dmdbms/bin
执行:./DmServiceDMSERVER start

AIt

6.查看服务进程

执行:ps -ef|grep dmserver

AIt

7.连接测试

进入:cd /home/admin/dmdbms/bin
执行:./disql sysdba    #密码默认为:SYSDBA
查询:select *from v$instance

注:若设置端口号为其他,通过以下方式执行:./disql user/pass@ip:port
如果密码有特殊字符要加上'```',eg:./disql '''user'''/'''pass'''@ip:port
AIt

二、卸载

参考相关文章:
https://blog.csdn.net/D15306354614/article/details/109677234
https://blog.csdn.net/weixin_42942173/article/details/131353754

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

AIt
2. sudo执行sh文件

执行:sudo /home/admin/dmdbms/root_uninstaller.sh

AIt
3. 删除数据库文件
AIt

三、相关报错

1.解决4080 group by 报错问题

参考相关文章:
https://blog.csdn.net/qq_37898570/article/details/126951104

报错:
AIt
解决方法:修改dm.ini的COMPATIBLE_MODE参数为4,然后重启数据库。

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

AIt
查看是否修改成功:

查询: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_ ;

AIt

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
  • 15
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值