暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

DM8达梦数据库单机安装问题

原创 达梦 2021-01-31
3715

bin 目录没有 disql 文件

【问题原因】

因为安装的时候未选择数据库服务组件,所以只有客户端组件,不包含相关的 DM 命令行工具。

【解决方法】

  • 方法一:从已经安装了 DM 数据库服务组件的安装文件下复制 bin 文件夹,覆盖当前安装目录下的 bin 文件夹。
  • 方法二:重新安装数据库,选择数据库服务组件。

选择组件

LD_LIBRARY_PATH 如何设置

当使用 DM 的驱动(如 unixodbc、dci、dpi、php_dm、pdo_dm 等)时可能需要依赖部分 DM 提供的动态链接库文件,用户需要设置系统环境变量 LD_LIBRARY_PATH,将 DM 数据库的执行码路径添加进去,以 linux 环境下 DM 数据库默认安装位置 /opt/dmdbms/bin 为例:

  • 方法一:LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/dmdbms/bin,退出当前终端后就失效
  • 方法二:修改 ~/.bashrc 或 ~/.bash_profile 或系统级别的 /etc/profile,添加 export LD_LIBRARY_PATH=$LD_
    LIBRARY_PATH:/opt/dmdbms/bin

修改完需执行 source 命令,例如:修改的是 /etc/profile 文件,改完后需执行 source /etc/profile 才能在当前会话使环境变量生效,或者重新启动一个新的会话,这些环境变量也会生效。

数据文件存放路径在哪里

DM 数据库数据文件存放路径是根据项目要求进行存放的,没有特定路径。一般情况下,达梦工程师安装部署完成数据库后,会提供相应部署文档,其中包含数据库文件路径信息,如果没有部署文档,请参考以下方法。

  • 方法一:询问数据库管理和维护人员,这是他们应该了解的最基本信息。
  • 方法二:如果是 Windows 或有图形化界面的 Linux,可以尝试通过“DM 服务查看器”工具,找到 DmService 开头的服务,鼠标右键选择【属性】,在【服务属性中-配置文件路径】项的路径即为数据文件路径。

配置文件路径

注意

如果在“DM 服务查看器”中找不到相应的服务,可能服务没有注册或通过其他方式启动数据库,请参考后面方法。

  • 无论 Window 还是 Linux 系统,均可在系统中搜索 MAIN.DBF 文件,以最新的文件为准,该文件所在的目录为数据库文件所在路径。
  • Linux 系统,通过执行 ps -ef|grep dmserver 命令查看进程的方式找到相应的路径。

查看进程

  • 通过查看 v$datafile 数据字典的 path 字段,可以得到数据文件的具体存放路径。
//DM 数据库目录说明

dmdbms 目录:数据库安装目录。
bin 目录:数据库核心文件目录。
data 目录:数据库实例文件存放目录。
doc 目录:数据库手册(安装手册,系统管理员手册,SQL 语言使用手册等)存放目录。
drivers 目录:数据库驱动存放目录。
log 目录:数据库日志文件存放目录。
samples 目录:配置文件样板(dmarch 归档文件,dmmal 通信文件等)存放目录。
tool 目录:数据库工具(管理工具,数据迁移工具,审计与分析工具等)存放目录。
web 目录:web 工具(DEM)的连接及配置手册存放目录。
license_en:英文《软件产品授权证书》概述。
license_zh:中文《软件产品授权证书》概述。
release_en:英文 DM 数据库管理系统版本号汇总。
release_zn:中文 DM 数据库管理系统版本号汇总。
uninstall.exe:数据库卸载,双击即可按照提示进行数据库的卸载。

安装目录

无法启动/没有图形化界面

执行./DMInstall.bin 报以下错误,有两种解决方法。

Exception in thread "main" java.lang.unsatisfiedLinkError: could not load SWT library.
Reasons:no swt…....No such file or directory

针对无法启动图形化的服务器,DM 数据库提供纯文本安装方式。安装过程如下:

  1. 执行安装文件选择安装语言
[dmdba@RS219 test]$ ./DMInstall.bin -i  

安装语言

如果当前操作系统中已存在 DM 数据库,终端会弹出提示,输入选项【y】,将进行下一步的命令行安装,否则退出命令行安装。如下图所示:

存在其他版本达梦数据库

  1. 验证 Key 文件

用户可以选择是否输入 Key 文件路径。不输入则进入下一步安装,输入 Key 文件路径,安装程序将显示 Key 文件的详细信息,如果是合法的 Key 文件且在有效期内,用户可以继续安装。如下图所示:

输入Key文件路径

  1. 输入时区

用户可以选择 DM 的【时区信息】。如下图所示:

设置时区

  1. 选择安装类型

命令行安装与图形化安装的选择的【安装类型】一样。如下图所示:

选择安装类型

用户选择安装类型需要手动输入,默认是【典型安装】。

如果用户选择【自定义安装】,将打印全部安装组件信息。用户通过命令行窗口输入要安装的组件序号,选择多个安装组件时需要使用空格进行间隔。输入完需要安装的组件序号后回车,将打印安装选择组件所需要的存储空间大小。

  1. 选择安装路径

用户可以输入 DM 数据库的安装路径,不输入则使用默认路径,默认值为 $HOME/dmdbms(如果安装用户为 root,则默认安装目录为 /opt/dmdbms,但不建议使用 root 用户来安装 DM 数据库)。 如下图所示:

选择安装目录

安装程序将打印当前安装路径的可用空间,如果空间不足,用户需重新选择安装路径。如果当前安装路径可用空间足够,用户需进行确认。不确认,则重新选择安装路径,确认,则进入下一步骤。

  1. 安装小结

安装程序将打印用户之前输入的部分安装信息。如下图所示:用户对安装信息进行确认。不确认,则退出安装程序,确认,进行 DM 数据库安装。

安装前小结

  1. 安装

安装

注意

安装完成后,终端提示请以 root 用户执行命令。由于使用非 root 用户进行安装,所以部分安装步骤没有相应的系统权限,需要用户手动执行相关命令,用户可根据提示完成相关操作。

  1. root 用户执行 root_installer.sh 脚本,数据库安装即可完成。

使用 root 用户,执行命令:/home/dmdba/script/root/root_installer.sh,显示内容如下:

移动 /home/dmdba/bin/dm_svc.conf 到/etc目录  
修改服务器权限
创建 DmAPService 服务
创建服务 (DmAPService) 完成
启动 DmAPService 服务

针对无法启动图形化的服务器,DM 数据库提供了 dminit 通过命令行初始化实例。

系统管理员可以利用该工具提供的各种参数,设置数据库存放路径、段页大小、是否对大小写敏感以及是否使用 unicode,创建出满足用户需要的初始数据库。该工具位于数据库安装路径 bin 目录下,举例如下:

[dmdba@ ~]#  cd /opt/dmdbms/bin  
[dmdba@ ~]# ./dminit path=/opt/dmdbms/data
注意

该工具的详细介绍及使用办法请详细参考《DM 系统管理员手册》-7.3 章节。手册位于数据库安装路径 /dmdbms/doc 文件夹。

数据库服务/实例名被占用

  • 数据库卸载默认不会删除 data 目录,这是为了保护数据,如确定不保留历史数据,可由管理员手动删除。
  • 数据库自带的 DM 服务查看器里里查看是否有 DMservice****的服务注册。
  • 管理员开启 CMD 命令行界面,然后执行:sc delete "服务名"。例如:sc delete DmServiceDMSERVER。

数据库的页大小如何修改,修改前需确定哪些参数

数据库的页大小只能通过重新初始化实例来进行修改。

需要事先确定好的参数有:页大小、簇大小(一般不涉及)、字符集、字符串大小写敏感和”VARCHAR 类型以字符为单位”,这些参数配置一定要安装前确认好,以免安装后不能修改造成不必要的麻烦。

设置簇大小和页大小的影响

簇是数据页的上级逻辑单元,由同一个数据文件中 16 个或 32 个连续的数据页组成。在 DM 数据库中,簇的大小由用户在创建数据库时指定,默认大小为 16。

假定某个数据文件大小为 32 MB,页大小为 8 KB,则共有 32 MB/8 KB/16=256 个簇,每个簇的大小为 8 KB*16=128 KB。和数据页的大小一样,一旦创建好数据库,此后该数据库的簇的大小就不能够改变。

数据页(也称数据块)是 DM 数据库中最小的数据存储单元。页的大小对应物理存储空间上特定数量的存储字节,在 DM 数据库中,页大小可以为 4 KB、8 KB、16 KB或者 32 KB,用户在创建数据库时可以指定,默认大小为 8 KB,一旦创建好了数据库,则在该库的整个生命周期内,页大小都不能够改变。

安装时提示写入权限不足

提示写入权限不足,一般是操作系统层面的权限不足的问题。

  1. 确定使用的哪个用户进行安装 DM 数据库,一般是 dmdba 用户或者 root 用户。
  2. 查看相应的安装目录下是否有对应用户的权限,一般的 root 用户对应的目录是/opt/dmdbms;dmdba 用户对应的目录是/home/dmdba/dmdbms。
  3. 将对应目录的权限使用 chmod 命令授权给相应的用户。

Openation not Permitted 错误

CentOS7 的 Docker 容器里面以静默方式安装 DM 数据库最后一步报错,Docker 添加 privileged 启动参数即可解决。

数据库安装前,是否需要预装 JDK

不需要另外安装 JDK,DM 数据库自带 JDK 环境。软件环境安装要求如下:

软件环境 要求
Windows 简体中文服务器版 sp2 以上
Linux glibc2.3 以上,内核 2.6,已安装 KDE/GNOME 桌面环境,预装 UnixODBC 组件
网络协议 TCP/IP
系统盘 1 GB 以上剩余空间

DM 服务如何进行注册

请参考《DM_Linux 服务脚本手册》,手册位于数据库安装路径 /dmdbms/doc 文件夹。

服务脚本手册

如何正确的卸载 DM 数据库

Windows 环境:

  1. 停止数据库服务

打开 DM 服务查看器,如下图所示:

服务查看器

点击 DM 数据库实例服务–>点击停止,如下图所示:

停止服务

  1. 删除数据库实例或删除数据库服务

打开数据库配置助手,如下图所示:

配置助手

选择【删除数据库实例】或【删除数据库服务】,如下图所示:

配置助手

选择需要删除的数据库实例点击【下一步】,如下图所示:

选择删除数据库实例

点击【完成】即可删除数据库实例,如下图所示:

删除数据库实例

  1. 卸载数据库

在数据库的安装目录 dmdbms 文件夹中点击【uninstall.exe】即可完成卸载,如下图所示:

安装目录卸载程序

Linux 环境:

  1. 停止数据库服务

查看数据库服务,执行命令:ps -ef|grep dmserver(查看数据库服务是否正在运行),如下图所示:

查看数据库服务

进入数据库安装目录 /bin 目录下停止数据库服务,假设数据库安装目录 /opt/dmdbms/,则需进入 /opt/dmdbms/bin。

执行命令:service DmServiceDMSERVER stop(停止数据库服务),如下图所示:

停止数据库服务

  1. 删除数据库实例

进入数据库安装目录 /data 目录下删除数据库实例,假设数据库安装目录 /opt/dmdbms/,则需进入 /opt/dmdbms/data/。

执行命令:rm DAMENG –rf(删除数据库实例,-rf放在最后,以免手快误删除了),如下图所示:

删除数据库实例

  1. 卸载数据库

进入数据库的安装目录下卸载数据库。假设数据库安装目录 /opt/dmdbms/,则需进入 /opt/dmdbms/ 即可。

执行命令:./uninstall.sh(卸载数据库),如下图所示:

卸载数据库

Linux 环境使用图形化界面卸载数据库:

  1. 停止数据库服务

进入数据库安装目录下的 tool 目录打开 DM 服务查看器。假设数据库安装目录 /opt/dmdbms/,则需进入 /opt/dmdbms/tool。

执行命令:./dmservice.sh(打开DM服务查看器),右键【DM 数据库实例服务】选择【停止】,如下图所示:

停止数据库实例服务

  1. 删除数据库实例或数据库服务

进入数据库安装目录下的 tool 目录打开 DM 数据库配置助手,假设数据库安装目录 /opt/dmdbms/,则需进入 /opt/dmdbms/tool。

执行命令:./dbca.sh(打开 DM 数据库配置助手),删除数据库实例或删除数据库服务,如下图所示:

打开配置助手

选择需要删除的数据库实例,如下图所示:

选择需要删除的数据库实例

点击【完成】即可删除数据库实例,如下图所示:

完成删除操作

  1. 卸载数据库

进入数据库的安装目录下卸载数据库,假设数据库安装目录 /opt/dmdbms/,则需进入 /opt/dmdbms/ 即可。

执行命令:./uninstall.sh(卸载数据库),如下图所示:

卸载数据库

双击 setup.exe 没有反应

打开 cmd 也没有反应,管理员身份运行也不行,可能是进程卡住了,打开服务管理器,结束安装进程,再用管理员运行 setup.exe。

数据库安装完成后如何初始化实例

方法一:

dminit 是 DM 数据库初始化工具,可以利用 dminit 工具提供的各种参数,设置数据库存放路径、段页大小、是否对大小写敏感、以及是否使用 UNICODE 等,创建出满足用户需要的数据库。该工具位于安装目录的 /bin 目录下。

请参考《DM_dminit 使用手册》,手册位于数据库安装路径 /dmdbms/doc/special 文件夹下。

通过查看帮助说明能更好的去理解参数的使用,如下图所示:

查看help

  • 示例

创建一个 EMSDB 数据库,实例名 EMSDB,端口号 5238,页大小 16 KB,路径为 E:\dmdbms\data。如下图所示:

初始化库

执行命令:Dmserver.exe E:\dmdbms\data\EMSDB\dm.ini,前台启动实例,如下图所示:

前台启动实例

前台启动实例

执行 Disql.exe SYSDBA/SYSDBA@localhost:5238 进行验证,如下图所示:

验证

方法二:

通过 dbca 工具初始化实例,dbca 工具在 ..\dmdbms\tool 目录下,如下图所示:

dbca工具目录

依次按下图顺序,配置数据库库实例。

创建数据库实例

数据库模板

指定数据库目录

数据库标识

数据库文件

初始化参数

口令管理

创建示例库

创建摘要

创建

创建完成

打开 DM 管理工具,执行:select * from V$LICENSE 进行验证。

Manager工具验证

显示 license 信息如下图所示:

显示license信息

安装数据库报错:Os_file_create_normal error! Desc:permission denied,code:13

对应目录 dmdba 没有权限,安装后不要用 root 操作。

linux 下安装数据库,提示没有写入权限

【问题描述】

请选择安装目录 [/OPT/DMDBMS]: /HOME/DM 没有写入权限!

【解决方法】

  • 首先按照安装手册,建立一个 dminstall group,dmdba user 来安装数据库。给 /home/dm 授权 chown -R group:user /home/dm。
  • 如果用户权限都已获取,先判断数据库版本是否匹配,需要根据操作系统和 CPU 的类型去选择相应的安装包。

数据库安装步骤详见DM 数据库快速上手指南

删除 DM 注册的服务/注册 DM 服务失败

安装完数据库后自带 DM dbca 工具。

img

若 Windows 注册 DM 服务失败,首先尝试重启操作系统解决。

安装或者初始化过程中卡死

【问题描述】

安装 DM 数据库的时候,在创建快捷方式那一步卡机。启动运行大概 2/3 就卡住了,Windows 客户端使用 dbca 初始化实例时界面卡死,连续注册服务失败初始化实例截止不动。

【解决方法】

  1. 可能被 360 安全卫士之类软件阻截了,重新初始化;
  2. 参考日志报错文件:

如果是 out of memory,那有可能是初始化 buffer 太大;

比如:检查日志为报错启动实例内存不足。–修改 dm.ini 文件,缩小 buffer 值再重启。

安装的时候报错:无法执行二进制文件

【问题描述】

安装的时候报错:无法执行二进制文件 I Error message: cannot execute binary file:exe format error

【解决方法】

数据库版本和操作系统版本、CPU 型号不匹配,或者安装包不完整。在 Linux 系统下执行:uname -a 命令可以查看操作系统信息。

GLIBC_xxxx not found

【问题描述】

数据库安装的时候报错:`GLIBC_xxxx’ not found

【解决方法】

  1. glibc 版本不对,也就是操作系统版本跟安装的编译版本不一致
  2. glibc 的动态库版本不匹配,可以装一个对应版本的 glibc,用 dminit 工具初始化实例;路径选默认的。在 bin 目录下 .\dminit help 可以查看参数。

Linux 上用无法启动管理工具

先得安装系统的图形化界面,然后执行 tool 下面的 manager。即:使用 manager 客户端,在 Linux 上执行 xhost +,或者使用 Windows 版本客户端进行远程连接。

如何修改 open files 限制

编辑 /etc/security/limits.conf,修改以下内容:

* soft nofile 65536
* hard nofile 65536
* soft nproc 65565
* hard nproc 65565

需要重新登录,或者重新打开 ssh 客户端连接,永久生效。

vi /etc/scurity/limits.conf,添加以下内容:

dmdba soft nofile 65535
dmdba hard nofile 65535
注意

需要注意,linux 操作系统中同时存在多个不同的文件对 limits 做配置。在配置完成后需要确认配置是否正常生效,若未生效建议可以在 .bash_profile 文件中加入 ulimit -n

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论