DEM和DFM的搭建
文章目录
大家想学习达梦数据库或者解决报错问题,可以去 达梦数据库社区( https://eco.dameng.com)
学习目标
1、掌握DEM和DFM搭建,搭建过程中的错误排查;
2、了解这两个监控平台能提供哪些监控指标。
一、DEM搭建
1.1 介绍
达梦企业管理器(DM Enterprise Manager,简称为 DEM )
数据库管理员可通过任意 Web 应用登录 DEM,从而对 DM 数据库进行管理和监控。
DEM 主要有集群部署、自动巡检、监控和告警等功能。
DEM 系统架构足组成(与zabbix相似都是CS架构收集信息数据,BS加架构展示数据):
DEM 服务器:指 DEM 应用服务器,负责处理客户端工具功能逻辑并存储 dmagent 收集到的数据到 DEM 存储数据库,同时向客户端展示监控数据。- DEM 存储数据库:存储 DEM 的元数据和 dmagent 收集到的监控数据。
- 数据库实例:需要被管理监控的数据库实例。
- 数据库代理服务(
dmagent):部署在远程机器上的代理,DEM 通过 dmagent 访问远程主机,同时 dmagent 收集监控信息发送给 DEM
DEM 所提供的功能包括:SQL 开发、数据迁移、集群部署、联机大盘、联机巡检、批量执行、资源监控、告警配置、自动备份、自定义监控、资源包和系统管理等。
DEM 主界面如下图所示:


1.2 安装部署
软件环境
DEM 监控工具可通过拨打达梦咨询热线 400 991 6599 申请获取。
(1)DEM WAR 包:申请获取;
(2)Tomcat:自备,要求与部署的系统环境相匹配;
(3)JAVA 1.8:DEM 和 dmagent 所在机器需要配置 JAVA 环境,JAVA 版本必须为 JAVA 1.8
bash
[dmdba@localhost ~]$ sh login.sh
服务器[127.0.0.1:5236]:处于普通打开状态
登录使用时间 : 2.245(ms)
disql V8
STATUS$
-------
OPEN
服务器[127.0.0.1:5236]:处于普通打开状态
登录使用时间 : 2.205(ms)
disql V8
SQL> start /home/dmdba/dem/dem_init.sql
SQL> /*======================================================================
File: dem_init.sql
配置tomcat
因为 DEM 服务器处理的是浏览器的请求,所以在安装 DEM 服务器之前,需要配置一个
WEB 应用服务器 tomcat。WEB 应用服务器专门处理 DEM 服务器和客户端(浏览器)之间的交互。
bash
# 确保有java8环境
[root@localhost conf]# java -version
openjdk version "1.8.0_312"
OpenJDK Runtime Environment Bisheng (build 1.8.0_312-b07)
OpenJDK 64-Bit Server VM Bisheng (build 25.312-b07, mixed mode)
#在 conf/server.xml 中<Connector port="8080" protocol="HTTP/1.1"... 追加属
性字段 maxPostSize="-1"
cd /opt/soft/tomcat/apache-tomcat-8.5.84/bin
vim server.xml
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
maxPostSize="-1"
redirectPort="8443" />
修改jvm启动参数
JAVA_OPTS="-server -Xms256m -Xmx1024m"
bash
修改/tomcat/bin/catalina.sh 脚本:
cd /home/apache-tomcat-8.5.84/bin
vi catalina.sh
# Add the JAVA 9 specific start-up parameters required by Tomcat
JDK_JAVA_OPTIONS="$JDK_JAVA_OPTIONS --add-opens=java.base/java.lang=ALL-UNNAMED"
JDK_JAVA_OPTIONS="$JDK_JAVA_OPTIONS --add-opens=java.base/java.io=ALL-UNNAMED"
JDK_JAVA_OPTIONS="$JDK_JAVA_OPTIONS --add-opens=java.base/java.util=ALL-UNNAMED"
JDK_JAVA_OPTIONS="$JDK_JAVA_OPTIONS --add-opens=java.base/java.util.concurrent=ALL-UNNAMED"
JDK_JAVA_OPTIONS="$JDK_JAVA_OPTIONS --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED"
export JDK_JAVA_OPTIONS
JAVA_OPTS="-server -Xms256m -Xmx1024m"
启动tomcat配置DEM项目
配置war包的配置文件
bash
[root@localhost dem]# pwd
/home/dmdba/dem
[root@localhost dem]# cp dem.war /opt/soft/tomcat/apache-tomcat-8.5.84/webapps/
[root@localhost dem]#
# 解压缩 dem.war 包,获取 db.xml。解压 dem.war 方式有两种:一启动 tomcat,自动解压缩 war 包。二不启动 tomcat,用户手动解压 dem.war 包。
# 启动tomcat
[root@localhost bin]# /opt/soft/tomcat/apache-tomcat-8.5.84/bin/startup.sh
Using CATALINA_BASE: /opt/soft/tomcat/apache-tomcat-8.5.84
Using CATALINA_HOME: /opt/soft/tomcat/apache-tomcat-8.5.84
Using CATALINA_TMPDIR: /opt/soft/tomcat/apache-tomcat-8.5.84/temp
Using JRE_HOME: /usr
Using CLASSPATH: /opt/soft/tomcat/apache-tomcat-8.5.84/bin/bootstrap.jar:/opt/soft/tomcat/apache-tomcat-8.5.84/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
[root@localhost bin]# ps -ef | grep tomcat
root 5430 1 99 10:22 pts/0 00:00:18 /usr/bin/java -Djava.util.logging.config.file=/opt/soft/tomcat/apache-tomcat-8.5.84/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -server -Xms256m -Xmx1024m -Dignore.endorsed.dirs= -classpath /opt/soft/tomcat/apache-tomcat-8.5.84/bin/bootstrap.jar:/opt/soft/tomcat/apache-tomcat-8.5.84/bin/tomcat-juli.jar -Dcatalina.base=/opt/soft/tomcat/apache-tomcat-8.5.84 -Dcatalina.home=/opt/soft/tomcat/apache-tomcat-8.5.84 -Djava.io.tmpdir=/opt/soft/tomcat/apache-tomcat-8.5.84/temp org.apache.catalina.startup.Bootstrap start
修改 DEM 服务器配置文件 db.xml
DEM 服务器通过 db.xml 文件来读取 DEM 存储数据库。db.xml 中登记了 DEM 存储数
据库的连接信息:ip、port、用户名、密码、连接池大小以及 SSL 登录信息等。
bash
[root@localhost WEB-INF]# pwd
/opt/soft/tomcat/apache-tomcat-8.5.84/webapps/dem/WEB-INF
[root@localhost WEB-INF]# vim db.xml
重启动 tomcat。
登录DEM
DEM 默认用户名和密码为 admin/888888。
bash
ALTER USER SYSDBA IDENTIFIED BY "Damen_123";
http://192.168.157.140:8080/dem/

部署 dmagent
获取 dmagent。dmagent 有两种获取方式:
(1)达梦数据库安装目录的 tool 下存有 dmagent。
(2)登录部署好的 DEM,在资源包中下载 dmagent 压缩包。
拷贝 dmagent 到要部署的机器上。
修改 dmagent 配置。配置 dmagent 目录下的 agent.ini:
bash
##dem 所在机器的地址
center_url = http://192.168.157.140:8080/dem
##dmagent所在服务器的地址
ip_list = [192.168.157.141]
启动dmagent
bash
# 手动生成key,可以使用默认的值,否则需要修改配置端的数
[root@localhost dmagent]# sh start.sh UNINSTALL_SERVICE_KEY 999999
tip: if using the deployment feature, it is recommended to start dmagent with th e '-d' parameter.
Agent-V7.9.1.47235-2026.02.12-DEV
Key file: "/opt/soft/dmagent/service.key" generated.
[root@localhost dmagent]# sh start.sh -d agent.ini
Starting dmagent.....
dmagent(pid: 41957) started successfully.

二、DFM搭建
2.1 介绍
**达梦数据融合管理(DMDFM)**平台是达梦为解决大型数据复制、数据集成项目管理运维问题,而推出的一款集安装配置、设计管理、监控运维于一体的软件。
使用 DMDFM 可以快速安装配置达梦数据复制软件(DMDRS)、达梦数据集成软件(DMDIS)以及达梦数据校验软件(DMDVS),支持各种复杂拓扑结构同步链路的拖拽设计,支持监控大 量的数据链路,极大地提升大型项目的实施和运维效率。
达梦 DMDIS 是自主研发的一站式数据处理与集成平台,它将传统 ETL 工具与分布式大数据技术结合,可实现数据同步、处理、交换共享,大幅降低大数据整合门槛,是构建数据中心、数据仓库等集成类应用的理想工具。
达梦数据校验软件(简称 DMDVS),在PostgreSQL数据库有开源的datacheck软件是一种用于同构或异构数据库数据差异识别,并支持对差异数据进行修复、备份与还原的数据校验软件。DMDVS 采用模块化的设计,实现多功能的数据校验服务,满足静态数据校验、动态数据校验和单向数据校验等多种场景下的数据校验业务需求。
达梦 DMDFM 平台,核心功能如下:
- 数据源管理:管理数据库连接与驱动适配
- 数据同步:工程配置、状态监控
- 数据校验:校验服务 / 任务管理、差异修复
- 运维管理:代理安装、拓扑可视化、告警监控

2.2 安装部署
为了减少对操作系统的影响,DMDFM不支持使用root用户安装,安装前请创建DMDFM安装用户。
注意:需要10GB的存储空间和3GB的/tmp空间
bash
# 上传安装包
[root@node2 dmdfm]# sha256sum dmdf_rev200572_x86_rh6_64_20250924.bin
bb2963290383113f58ed4681fbe5c87cbf8373d0f28f7b9ce8fb578f043edb0c dmdf_rev200572_x86_rh6_64_20250924.bin
[root@node2 dmdfm]# chown dmdba:dinstall dmdf_rev200572_x86_rh6_64_20250924.bin
[root@node2 dmdfm]# ll
#创建安装目录
[root@node2 dmdata]# mkdir -p /dmdata/dmdf
[root@node2 dmdata]# chown -R dmdba:dinstall /dmdata/dmdf
# 切到dmdba用户下执行安装命令
[dmdba@node2 dmdfm]$ ./dmdf_rev200572_x86_rh6_64_20250924.bin -i
Extract install files.........
Please select the installer's language (E/e:English C/c:Chinese)[E/e]:c
-----------欢迎使用达梦数据融合管理平台安装工具-----------
输入[exit]可退出安装。
-----------安装目录-----------
指定安装目录[/home/dmdba/dmdfm5]:
-----------许可证文件-----------
1.免费试用达梦数据融合管理平台(必须在试用期范围内使用,反复安装无效,使用时间为3个月)
2.使用许可证文件
指定许可证文件(1,2)[1]:1
免费试用许可证文件限制信息如下:
有效日期:2025-10-16
版本类型:试用版
许可证编号:dm66n367
授权顾客名称:DEVELOP USER
代理数:5
当前选择为免费试用,是否继续安装?[Y/y or N/n]:y
-----------配置-----------
达梦数据融合管理平台配置-管理平台端口[8080]:
注意:密码必须至少8个字符,并且满足以下条件中的任意[两项]:数字、大写字母、小写字母、特殊字符(如!@#$%^&*等)。
达梦数据融合管理平台配置-管理平台密码:
达梦数据融合管理平台配置-管理平台确认密码:
是否使用外置库(0:不使用 1:使用 )[0]:1
外置库配置-数据库服务IP:127.0.0.1
外置库配置-数据库端口[15236]:5236
外置库配置-用户名[SYSDBA]:DFM_TEST
外置库配置-密码[]:
-----------安装小结-----------
安装目录:[/home/dmdba/dmdfm5]
达梦数据融合管理平台IP:[127.0.0.1]
达梦数据融合管理平台端口:[8080]
外置库信息:
数据库IP:[127.0.0.1]
数据库端口:[5236]
用户名:[DFM_TEST]
密码:[******]
所需磁盘空间/可用磁盘空间:[1,021 MB/23,532 MB]
确认安装?[Y/y or N/n]:y
-----------安装中-----------
default 正在安装 ... default 安装完成.
web 正在安装 ... web 安装完成.
doc 正在安装 ... doc 安装完成.
安装成功
-----------系统服务-----------
达梦数据融合管理平台服务设置
1.注册系统服务
2.不注册系统服务
启动方式(1,2)[2]:1
正在创建达梦数据融合管理平台服务....
以下配置脚本需要以"root"用户的身份运行.
/home/dmdba/dmdfm5/scripts/root/root_installer.sh
是否已执行shell脚本?(Y/y or N/n)[Y/y]:y
-----------安装总结-----------
达梦数据融合管理平台V5安装完成
地址:http://127.0.0.1:8080
用户名/密码:admin/******
更多安装信息,请查看安装日志文件:/home/dmdba/dmdfm5/log/install.log
[root@node2 dmdata]# /home/dmdba/dmdfm5/scripts/root/root_installer.sh
创建DfmWebService服务
Created symlink /etc/systemd/system/multi-user.target.wants/DfmWebService.service → /usr/lib/systemd/system/DfmWebService.service.
创建服务(DfmWebService)完成
启动DfmWebService服务
安装过程中出现的故障:
解决办法:这种报错是因为dfm系统没有把表给创建到数据库,重新创建一个新的带管理员权限的用户即可。
或者能查询
SYS.DBA_SEGMENTS对象的查询权限
bash
确认安装?[Y/y or N/n]:y
-----------安装中-----------
default 正在安装 ... default 安装完成.
web 正在安装 ... web 安装完成.
doc 正在安装 ... doc 安装完成.
java.io.IOException: Stream closed
at java.io.BufferedInputStream.getBufIfOpen(BufferedInputStream.java:170)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:283)
at java.io.BufferedInputStream.read(BufferedInputStream.java:345)
at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284)
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)
at java.io.InputStreamReader.read(InputStreamReader.java:184)
at java.io.BufferedReader.fill(BufferedReader.java:161)
at java.io.BufferedReader.readLine(BufferedReader.java:324)
at java.io.BufferedReader.readLine(BufferedReader.java:389)
at com.dm.install.util.ProcessUtils$1.run(ProcessUtils.java:120)
安装成功
-----------系统服务-----------
达梦数据融合管理平台服务设置
日志报的错
[2026-05-22 09:57:28] TargetName-docTaskType-copy : Copying /tmp/DMDFMInstall202605220952421779414762/source/doc/dmdfm/static/docCenter/logo_dmdis.png to /dmdata/dmdf/doc/dmdfm/static/docCenter/logo_dmdis.png
[2026-05-22 09:57:28] TargetName-docTaskType-copy : Warning: /tmp/DMDFMInstall202605220952421779414762/source/samples not found.
[2026-05-22 09:57:30] [--------exec sql script----------] :true
[2026-05-22 10:02:30] [error][/tmp/DMDFMInstall202605220952421779414762/source/tempDisql.sh]
[2026-05-22 10:02:30] null
[2026-05-22 10:02:30] 第1 行附近出现错误:
无效的表或视图名[SYS_USER]
[2026-05-22 10:02:30] dm.jdbc.driver.DBError.throwException(DBError.java:679)
[2026-05-22 10:02:30] dm.jdbc.b.b.p.K(MSG.java:541)
[2026-05-22 10:02:30] dm.jdbc.b.b.p.H(MSG.java:501)
登录DFM

DRS安装包需要单独上传,安装DRS的时候可以顺带安装DFM
