达梦数据库最新版安装过程
背景
好久不用达梦数据库了.
都是用的两年前安装好的数据库一直在跑(比较稳定,没太宕机)
今天有一个新的机器, 里面的达梦数据库版本实在是太低了.
想着升级一下版本. 本地删除重新搭建.
但是没想到, 两年没用全都忘记了.
之前记录的文档也是各种零散.
所以这次想着能够归集一下各种文档,作为一个完整的安装说明
下载
https://eco.dameng.com/download/
开发板 x86平台
下载之后就可以将文件上传到 CentOS8的机器上面了
安装
比如我这边下载的最新版是:
unzip dm8_20230418_x86_rh6_64.zip
然后 mkdir /dm
mount /dm8_20230418_x86_rh6_64.iso /dm
进入 dm 内部输入命令
./DMInstall.bin -i
#注意安装模块选择 1 2 3 4 不选择数据库, 数据库需要单独处理
安装完成后进行数据库初始化
./dminit path=/opt/dmdbms/data case_sensitive=1 charset=0 page_size=32
# 注意这个需要跟具体的要求有关系, 我这个是GB18030的字符集
注意 此时使用的是 root用户, 如果使用root用户启动的话. 达梦已经禁止了.
所以必须要 chown dmdba:dinstall /opt/dmdbms -R
然后可以启动服务了
默认的为:
systemctl enable --now DmServiceDMSERVER
问题解决
1. 提示: Starting DmServiceDMSERVER: libgcc_s.so.1 must be installed for pthread_cancel to work
解决办法: dmdbms/bin目录下面的 libproj.so 和 libxqilla.so 移动到其他目录然后再启动服务
2. 提示: fail to load libpmem.so, libpmem.so: cannot open shared object file
注意查看日志的文件为: /opt/dmdbms/log/dm_unknown_202306.log
解决办法 将文件夹的属主修改为 dmdba
chown dmdba:dinstall /opt/dmdbms -R
3. 注册为服务:
cd /opt/dmdbms/script/root
./dm_service_installer.sh -t dmserver -p DMSERVER -dm_ini /opt/dmdbms/data/DAMENG/dm.ini
4. 如果没有启动服务的文件-创建启动服务的配置文件
cat > /usr/lib/systemd/system/DmServiceDMSERVER.service <<EOF
[Unit]
Description=DM database instance service
After=network.target remote-fs.target
[Service]
Type=forking
PIDFile=/opt/dmdbms/bin/pids/DmServiceDMSERVER.pid
ExecStart=/opt/dmdbms/bin/DmServiceDMSERVER start
ExecStop=/opt/dmdbms/bin/DmServiceDMSERVER stop
PrivateTmp=true
User=dmdba
TasksMax=infinity
LimitCORE=infinity
LimitNOFILE=100000
LimitNPROC=100000
[Install]
WantedBy=multi-user.target
EOF
默认密码与修改
命令行安装完默认密码是 SYSDBA
修改密码的方式与 oracle基本一致
cd /opt/dmdbms/bin
./disql SYSDBA/SYSDBA
alter user SYSDBA identified by "Test@1xxx"
创建数据库的命令如下:
./disql SYSDBA/SYSDBA123 <<EOF
create user DM2211;
create tablespace DM2211 datafile '/opt/dmdbms/data/DM2211.dbf' size 2048 ;
grant dba,resource,vti to DM2211;
EOF