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 数据库目录说明 |

无法启动/没有图形化界面
执行./DMInstall.bin 报以下错误,有两种解决方法。
Exception in thread "main" java.lang.unsatisfiedLinkError: could not load SWT library. |
针对无法启动图形化的服务器,DM 数据库提供纯文本安装方式。安装过程如下:
- 执行安装文件选择安装语言
[dmdba@RS219 test]$ ./DMInstall.bin -i |

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

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

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

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

用户选择安装类型需要手动输入,默认是【典型安装】。
如果用户选择【自定义安装】,将打印全部安装组件信息。用户通过命令行窗口输入要安装的组件序号,选择多个安装组件时需要使用空格进行间隔。输入完需要安装的组件序号后回车,将打印安装选择组件所需要的存储空间大小。
- 选择安装路径
用户可以输入 DM 数据库的安装路径,不输入则使用默认路径,默认值为 $HOME/dmdbms(如果安装用户为 root,则默认安装目录为 /opt/dmdbms,但不建议使用 root 用户来安装 DM 数据库)。 如下图所示:

安装程序将打印当前安装路径的可用空间,如果空间不足,用户需重新选择安装路径。如果当前安装路径可用空间足够,用户需进行确认。不确认,则重新选择安装路径,确认,则进入下一步骤。
- 安装小结
安装程序将打印用户之前输入的部分安装信息。如下图所示:用户对安装信息进行确认。不确认,则退出安装程序,确认,进行 DM 数据库安装。

- 安装

注意安装完成后,终端提示请以 root 用户执行命令。由于使用非 root 用户进行安装,所以部分安装步骤没有相应的系统权限,需要用户手动执行相关命令,用户可根据提示完成相关操作。
- root 用户执行 root_installer.sh 脚本,数据库安装即可完成。
使用 root 用户,执行命令:/home/dmdba/script/root/root_installer.sh,显示内容如下:
移动 /home/dmdba/bin/dm_svc.conf 到/etc目录 |
针对无法启动图形化的服务器,DM 数据库提供了 dminit 通过命令行初始化实例。
系统管理员可以利用该工具提供的各种参数,设置数据库存放路径、段页大小、是否对大小写敏感以及是否使用 unicode,创建出满足用户需要的初始数据库。该工具位于数据库安装路径 bin 目录下,举例如下:
[dmdba@ ~]# cd /opt/dmdbms/bin |
注意该工具的详细介绍及使用办法请详细参考《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,一旦创建好了数据库,则在该库的整个生命周期内,页大小都不能够改变。
安装时提示写入权限不足
提示写入权限不足,一般是操作系统层面的权限不足的问题。
- 确定使用的哪个用户进行安装 DM 数据库,一般是 dmdba 用户或者 root 用户。
- 查看相应的安装目录下是否有对应用户的权限,一般的 root 用户对应的目录是/opt/dmdbms;dmdba 用户对应的目录是/home/dmdba/dmdbms。
- 将对应目录的权限使用 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 环境:
- 停止数据库服务
打开 DM 服务查看器,如下图所示:

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

- 删除数据库实例或删除数据库服务
打开数据库配置助手,如下图所示:

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

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

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

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

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

进入数据库安装目录 /bin 目录下停止数据库服务,假设数据库安装目录 /opt/dmdbms/,则需进入 /opt/dmdbms/bin。
执行命令:service DmServiceDMSERVER stop(停止数据库服务),如下图所示:

- 删除数据库实例
进入数据库安装目录 /data 目录下删除数据库实例,假设数据库安装目录 /opt/dmdbms/,则需进入 /opt/dmdbms/data/。
执行命令:rm DAMENG –rf(删除数据库实例,-rf放在最后,以免手快误删除了),如下图所示:

- 卸载数据库
进入数据库的安装目录下卸载数据库。假设数据库安装目录 /opt/dmdbms/,则需进入 /opt/dmdbms/ 即可。
执行命令:./uninstall.sh(卸载数据库),如下图所示:

Linux 环境使用图形化界面卸载数据库:
- 停止数据库服务
进入数据库安装目录下的 tool 目录打开 DM 服务查看器。假设数据库安装目录 /opt/dmdbms/,则需进入 /opt/dmdbms/tool。
执行命令:./dmservice.sh(打开DM服务查看器),右键【DM 数据库实例服务】选择【停止】,如下图所示:

- 删除数据库实例或数据库服务
进入数据库安装目录下的 tool 目录打开 DM 数据库配置助手,假设数据库安装目录 /opt/dmdbms/,则需进入 /opt/dmdbms/tool。
执行命令:./dbca.sh(打开 DM 数据库配置助手),删除数据库实例或删除数据库服务,如下图所示:

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

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

- 卸载数据库
进入数据库的安装目录下卸载数据库,假设数据库安装目录 /opt/dmdbms/,则需进入 /opt/dmdbms/ 即可。
执行命令:./uninstall.sh(卸载数据库),如下图所示:

双击 setup.exe 没有反应
打开 cmd 也没有反应,管理员身份运行也不行,可能是进程卡住了,打开服务管理器,结束安装进程,再用管理员运行 setup.exe。
数据库安装完成后如何初始化实例
方法一:
dminit 是 DM 数据库初始化工具,可以利用 dminit 工具提供的各种参数,设置数据库存放路径、段页大小、是否对大小写敏感、以及是否使用 UNICODE 等,创建出满足用户需要的数据库。该工具位于安装目录的 /bin 目录下。
请参考《DM_dminit 使用手册》,手册位于数据库安装路径 /dmdbms/doc/special 文件夹下。
通过查看帮助说明能更好的去理解参数的使用,如下图所示:

- 示例
创建一个 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 目录下,如下图所示:

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











打开 DM 管理工具,执行:select * from V$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 工具。

若 Windows 注册 DM 服务失败,首先尝试重启操作系统解决。
安装或者初始化过程中卡死
【问题描述】:
安装 DM 数据库的时候,在创建快捷方式那一步卡机。启动运行大概 2/3 就卡住了,Windows 客户端使用 dbca 初始化实例时界面卡死,连续注册服务失败初始化实例截止不动。
【解决方法】:
- 可能被 360 安全卫士之类软件阻截了,重新初始化;
- 参考日志报错文件:
如果是 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
【解决方法】:
- glibc 版本不对,也就是操作系统版本跟安装的编译版本不一致
- glibc 的动态库版本不匹配,可以装一个对应版本的 glibc,用 dminit 工具初始化实例;路径选默认的。在 bin 目录下
.\dminit help可以查看参数。
Linux 上用无法启动管理工具
先得安装系统的图形化界面,然后执行 tool 下面的 manager。即:使用 manager 客户端,在 Linux 上执行 xhost +,或者使用 Windows 版本客户端进行远程连接。
如何修改 open files 限制
编辑 /etc/security/limits.conf,修改以下内容:
* soft nofile 65536 |
需要重新登录,或者重新打开 ssh 客户端连接,永久生效。
vi /etc/scurity/limits.conf,添加以下内容:
dmdba soft nofile 65535 |
注意需要注意,linux 操作系统中同时存在多个不同的文件对 limits 做配置。在配置完成后需要确认配置是否正常生效,若未生效建议可以在 .bash_profile 文件中加入 ulimit -n




