达梦DEM和DFM的介绍、搭建学习记录

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

相关推荐
小江的记录本7 小时前
【Kafka核心】Kafka 3.0+ KRaft模式(替代ZooKeeper)核心原理与优势
java·数据库·分布式·后端·zookeeper·kafka·rabbitmq
希冀1237 小时前
【CSS学习第十二篇】
css·学习·tensorflow
treacle田7 小时前
达梦数据库-数据库主备集群更改实例目录及相关目录步骤-记录总结
数据库·达梦数据库主备集群更改实例目录
楼田莉子7 小时前
C++17新特性:optional/variant/any/string_view
c++·后端·学习
会编程的土豆7 小时前
GORM 标签详解(数据库字段映射核心)
数据库·gorm
KaMeidebaby8 小时前
卡梅德生物技术快报|真核蛋白表达信号肽筛选实验全流程复盘
服务器·前端·数据库·人工智能·算法
水木流年追梦8 小时前
大模型入门-DPO 直接偏好优化
人工智能·学习·算法·机器学习·正则表达式
网络与设备以及操作系统学习使用者8 小时前
vi与vim在openEuler中的差异及应用
linux·运维·网络·学习·vim
malog_8 小时前
Milvus向量数据库:AI时代的搜索革命
数据库·人工智能·后端·milvus