在KylinV10安装DM8、卸载DM8

前言

因为近期,业外和几个朋友想搞点有趣的项目玩玩,既然不以盈利为主,就> 主推国产化,所以这篇记录一下,我在KylinV10安装dm8.写的博客可能有所披露,希望指正。

注意
dm8试用版只有一年试用期,所以开发版建议下载日期最新的,不然最后初始化实例时,你会发现都快过期了

下载
在这里插入图片描述

一、安装前准备

新建 dmdba 用户
安装前必须创建 dmdba 用户,禁止使用 root 用户安装数据库。
创建用户所在的组

groupadd dinstall

创建用户

useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba

修改用户密码

passwd dmdba

修改文件打开最大数,重启服务器后永久生效

vim /etc/security/limits.conf

在最后添加四条语句

dmdba hard nofile 65536
dmdba soft nofile 65536
dmdba hard stack 32768
dmdba soft stack 16384

先设置参数临时生效

su - dmdba
ulimit -n 65536

挂载镜像
切换到 root 用户
将dm8_20230104_x86_rh6_64.iso上传/usr/local/dm8

mount -o loop /usr/local/dm8/dm8_20230104_x86_rh6_64.iso /mnt

新建安装目录

mkdir /dm8

使用 root 用户建立文件夹,待 dmdba 用户建立完成后需将文件所有者更改为 dmdba 用户,否则无法安装到该目录下

修改安装目录权限
将新建的安装路径目录权限的用户修改为 dmdba,用户组修改为 dinstall。

chown dmdba:dinstall -R /dm8/

给安装路径下的文件设置权限 755或者777都行

chmod -R 755 /dm8

在这里插入图片描述

二、命令行安装

确保用户dmdba权限足的情况后

su - dmdba
cd /mnt/
./DMInstall.bin -i

在这里插入图片描述
按需求选择安装语言,默认为中文。本地安装选择【不输入 Key 文件】,选择【默认时区 21】。
在这里插入图片描述

选择【1-典型安装】,按已规划的安装目录 /dm8 完成数据库软件安装,不建议使用默认安装目录。
在这里插入图片描述
数据库安装大概 1~2 分钟
在这里插入图片描述
数据库安装完成后,需要切换至 root 用户执行上图中的命令 /dm8/script/root/root_installer.sh 创建 DmAPService,否则会影响数据库备份。

踩坑
踩坑一:请选择安装目录,输入自己的路径后,报“没有写入权限”
解决:
首先排查dmdba对你的路径操作权限是否充足,其他包括/tmp临时文件、挂载文件、mnt、安装文件dm8;
不足切换root则文件依次授权

chmod -R 777 /dm8

未解决,然后排查临时文件大小和安装文件dm8大小

//查看tmp大小
df -h
//重新设置临时文件tmp大小,然后重启生效
vim /etc/fstab
修改下面一行(没有的话加入这行)
tmpfs /tmp tmpfs nodev,nosuid,size=2G 0 0
将/tmp文件更改为2G的空间,此操作需要重启才能生效。

安装文件大小不足,则关机,重新设置大小
在这里插入图片描述
踩坑二:中断安装步骤后,或者直接报tmp临时文件内存不足
解决:重新设置tmp大小

//重新设置临时文件tmp大小,然后重启生效
vim /etc/fstab
修改下面一行(没有的话加入这行)
tmpfs /tmp tmpfs nodev,nosuid,size=2G 0 0
将/tmp文件更改为2G的空间,此操作需要重启才能生效。

踩坑三:银河麒麟系统安装达梦数据库选择时区报错处理
所需空间: Error occurred during initialization of VM

//安装时区
yum install libnsl

配置环境变量

切换到 root 用户进入 dmdba 用户的根目录下,配置对应的环境变量。DM_HOME 变量和动态链接库文件的加载路径在程序安装成功后会自动导入。
编辑 .bash_profile

cd /dm8
vim .bash_profile
//加入下面代码
export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool

在这里插入图片描述
切换至 dmdba 用户下,执行以下命令,使环境变量生效

su - dmdba
source .bash_profile

命令行配置实例

使用 dmdba 用户配置实例,进入到 DM 数据库安装目录下的 bin 目录中,使用 dminit 命令初始化实例。dminit 命令可设置多种参数,可执行如下命令查看可配置参数。

./dminit help

在这里插入图片描述
需要注意的是页大小 (page_size)、簇大小 (extent_size)、大小写敏感 (case_sensitive)、字符集 (charset) 这四个参数,一旦确定无法修改,需谨慎设置。

  • extent_size 指数据文件使用的簇大小,即每次分配新的段空间时连续的页数。只能是 16 页或 32 页或 64 页之一,缺省使用 16 页。
  • page_size 数据文件使用的页大小,可以为 4 KB、8 KB、16 KB 或 32 KB 之一,选择的页大小越大,则 DM 支持的元组长度也越大,但同时空间利用率可能下降,缺省使用 8 KB。
  • case_sensitive 标识符大小写敏感,默认值为 Y 。当大小写敏感时,小写的标识符应用双引号括起,否则被转换为大写;当大小写不敏感时,系统不自动转换标识符的大小写,在标识符比较时也不区分大小写,只能是 Y、y、N、n、1、0 之一。
  • charset 字符集选项。0 代表 GB18030;1 代表 UTF-8;2 代表韩文字符集 EUC-KR;取值 0、1 或 2 之一。默认值为 0。
    可以使用默认参数初始化实例,需要附加实例存放路径。此处以初始化实例到 /dm/data 目录下为例(执行初始化命令前,需要使用 root 用户授予 /dm/data 目录相应权限,可以参考修改目录权限)。
./dminit path=/dm8/data db_name=DM01 instance_name=DMSERVER01 port_num=5238 PAGE_SIZE=16 EXTENT_SIZE=16 CHARSET=1

踩坑一:
使用官文档的命令

./dminit path=/dm/data
//也可以自定义初始化实例的参数,参考如下示例:
//以下命令设置页大小为 32 KB,簇大小为 32 KB,大小写敏感,字符集为 utf_8,数据库名为 DMDB,实例名为 DBSERVER,端口为 5237。
./dminit path=/dm/data PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y
CHARSET=1 DB_NAME=DMDB INSTANCE_NAME=DBSERVER PORT_NUM=5237

失败。
解决:
不使用它的,自定义初始化

./dminit path=/dm8/data db_name=DM01 instance_name=DMSERVER01 port_num=5238 PAGE_SIZE=16 EXTENT_SIZE=16 CHARSET=1

在这里插入图片描述

命令行注册服务

注册服务需使用 root 用户进行注册。使用 root 用户进入数据库安装目录的 /script/root 下

cd /dm8/script/root

注册服务

./dm_service_installer.sh -t dmserver -dm_ini /dm8/data/DM01/dm.ini -p DMSERVER

用户可根据自己的环境更改 dm.ini 文件的路径以及服务名

./dm_service_installer.sh -h

如需为其他实例注册服务,需打开 dbca 工具,进行注册服务

cd /dm8/tool
./dbca.sh

踩坑
开始我安装的是19年开发版,后来发现使用时间还剩10来天,果断卸载,安装最新版开发版的

命令行启停数据库

服务注册成功后,启动数据库

systemctl start DmServiceDMSERVER.service

停止数据库

systemctl stop DmServiceDMSERVER.service

重启数据库

systemctl restart DmServiceDMSERVER.service

查看数据库服务状态

systemctl status DmServiceDMSERVER.service

可前台启动,进入 DM 安装目录下的 bin 目录下

./dmserver /dm/data/DM01/dm.ini

该启动方式为前台启动,若想关闭数据库,则输入 exit 即可。
也可进入 DM 安装目录下的 bin 目录下,启动/停止/重启数据库

./DmServiceDMSERVER start/stop/restart

查看数据库状态

./DmServiceDMSERVER status

踩坑:
启动报错
Job for DmServiceDMSERVER.service failed because the control process exited with error code.See "systemctl status DmServiceDMSERVER.service" and "journalctl -xe" for details.
解决:
把dmdbms/bin目录下面的libproj.so和libxqilla.so移动到其他目录然后再启动服务
在这里插入图片描述

卸载DM8

命令行卸载
DM 安装目录下执行./uninstall.sh -i 卸载 DM 数据库;

cd /dm8
./uninstall.sh -i

请确认是否卸载达梦数据库(/dm8/)? (y/Y:是 n/N:否):y
是否删除dm_svc.conf配置文件? (y/Y:是 n/N:否):y

使用root用户执行

/dm8/root_uninstaller.sh

删除DmAPService服务

rm -rf /etc/systemd/system/multi-user.target.wants/DmAPService.service.

删除/etc/dm_svc.conf文件

rm -rf  /etc/dm_svc.conf

删的干净点,找找是不是还有相关文件,找到就删了

whereis dm
find dm

猜你喜欢

转载自blog.csdn.net/qq_37432174/article/details/130380319