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

在东方通中间件环境中如何部署达梦企业管理工具(DEM)

390

 

前言

前面已部署了达梦数据库的单机环境,并分享了日常基本使用及巡检的相关内容。今天我将分享之前撰写的一篇文章,详细讲解使用东方通部署达梦企业管理工具(DEM)的教程。通常我们都采用Tomcat进行部署,但为何这里选择东方通呢?Tomcat作为开源产品,在某些场景下可能不完全符合安全规范,且频繁的版本升级可能会增加工作负担。相比之下,使用国产软件可以有效规避这些问题。

1.操作系统及中间件版本信息

中间件版本:
TongWeb7.0.4.7_Enterprise_Linux.tar.gz

DEM版本:6.2.1

JDK版本: open jdk

[root@dm95 ~]# java -version
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)
[root@dm95 ~]#

2.操作系统信息

[root@dm95 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.6 (Maipo)
[root@dm95 ~]# lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                3
On-line CPU(s) list:   0-2
Thread(s) per core:    1
Core(s) per socket:    3
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 62
Model name:            Intel(R) Xeon(R) CPU E5-2695 v2 @ 2.40GHz
Stepping:              4
CPU MHz:               2400.004
BogoMIPS:              4800.00
Hypervisor vendor:     VMware
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              30720K
NUMA node0 CPU(s):     0-2
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timeraes xsave avx f16c rdrand hypervisor lahf_lm ssbd ibrs ibpb stibp fsgsbase tsc_adjust smep arat spec_ctrl intel_stibp flush_l1d arch_capabilities
[root@dm95 ~]# free -g
              total        used        free      shared  buff/cache   available
Mem:              7           0           4           0           2           5
![](https://fastly.jsdelivr.net/gh/bucketio/img12@main/2025/02/09/1739110123903-202bd023-49ce-41d8-91ba-d297f458391d.png)

Swap:             7           0           7
[root@dm95 ~]#

2.中间件部署

2.1.中间件部署

7.4.4以后的版本只需要解压到当前目录即可

[dmdba@dm95 dmback]$ tar -zxvf TongWeb7.0.4.7_Enterprise_Linux.tar.gz
进去到中间件目录,拷贝授权文件到当前目录下
[dmdba@dm95 dmback]$ cd TongWeb7.0.4.7_Enterprise_Linux/
[dmdba@dm95 TongWeb7.0.4.7_Enterprise_Linux]$
[dmdba@dm95 TongWeb7.0.4.7_Enterprise_Linux]$ cp /dm/dmback/license.dat .

2.2.启动中间件服务

使用startservernohup.sh
后台启动中间件

[dmdba@dm95 bin]$ ./startservernohup.sh
[dmdba@dm95 bin]$ ps -ef|grep java
dmdba     58204  58110 99 08:58 pts/2    00:00:06 usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64/jre/bin/java -classpath usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64/jre/lib/tools.jar:/dm/dmback/TongWeb7.0.4.7_Enterprise_Linux/lib/bootstrap.jar:/dm/dmback/TongWeb7.0.4.7_Enterprise_Linux/lib/jdk-api.jar -Xms2048m -Xmx2048m -XX:CICompilerCount=6 -server -XX:+UnlockDiagnosticVMOptions -XX:+LogVMOutput -Djava.io.tmpdir=/dm/dmback/TongWeb7.0.4.7_Enterprise_Linux/temp -Duser.dir=/dm/dmback/TongWeb7.0.4.7_Enterprise_Linux/bin -Djava.security.egd=file:/dev/./urandom -XX:LogFile=/dm/dmback/TongWeb7.0.4.7_Enterprise_Linux/logs/jvm.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/dm/dmback/TongWeb7.0.4.7_Enterprise_Linux/logs/heap202210150858.hprof -Djava.security.policy=/dm/dmback/TongWeb7.0.4.7_Enterprise_Linux/conf/tongweb.policy -Djava.endorsed.dirs=/dm/dmback/TongWeb7.0.4.7_Enterprise_Linux/lib/endorsed -Djava.util.logging.manager=com.tongweb.log.TongwebLogManager -javaagent:/dm/dmback/TongWeb7.0.4.7_Enterprise_Linux/lib/ejb-agent.jar -Djava.awt.headless=true -Dibm.stream.nio=true -Djava.net.preferIPv4Stack=false -Dcom.tongweb.commons.logging.Log=com.tongweb.commons.logging.impl.Jdk14Logger -Dtongweb.restart.interval=1 -Dtongweb.java=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64/jre -Dtongweb.upload=/dm/dmback/TongWeb7.0.4.7_Enterprise_Linux/temp/upload -Dtongweb.app=/dm/dmback/TongWeb7.0.4.7_Enterprise_Linux/deployment -Dtongweb.sysapp=/dm/dmback/TongWeb7.0.4.7_Enterprise_Linux/applications -Dtongweb.base=/dm/dmback/TongWeb7.0.4.7_Enterprise_Linux -Dtongweb.home=/dm/dmback/TongWeb7.0.4.7_Enterprise_Linux -DcheckNonXADB=true -Dtongweb.jndi.lookup.relaxVersion=false -DWebserviceCXF.OFF=true -DgenSessionCookieNameForContext=console -DresLowversionLoad=false -DcompatibleWithWas=false -DTONGTECH_BC_JAR_PATH=/dm/dmback/TongWeb7.0.4.7_Enterprise_Linux/lib/bc/bcprov.jar -DWebModuleOnly=false -DShutdownSocketDisabled=false -Dstartup.secure=false -Dxss_defense=true -Dxss_apps=console,heimdall -DdisableVerCode=true -DdisableResourceCache=true -DLoadClassCache.Disabled=true -DuseBeanManagerInCompJNDI=false -DjvProfile=true -Dtongweb.X_Frame_Options=SAMEORIGIN -Denable_query_cache=false -Dcdi.passivate=false -Dpid_file_path=/dm/dmback/TongWeb7.0.4.7_Enterprise_Linux/tongweb.pid com.tongweb.web.thor.startup.ThorBootstrap start
dmdba     58228  57700  0 08:58 pts/2    00:00:00 grep --color=auto java
[dmdba@dm95 bin]$

2.3 登录测试

启动成功后,在浏览器输入http://localhost:9060/console/

浏览器打开地址:http://192.168.25.95:9060/console/

默认账号:thanos
默认密码:thanos123.com

注意:首次登录需要修改密码


配置完成保存之后,输入密码登录,信息如下

3.DEM环境准备

3.1.修改DEM数据库配置文件

3.1.1.war包路径一般部署路径web目录下

3.1.2.将war下载包本地修改后缀为rar


注意:这一步不能直接解压文件,然后在然后回来,会破坏war包结构导致异常

3.1.3.使用压缩工具打开文件,修改db.xml信息

3.1.4.修改为实际的用户信息,然后保存

3.1.5.根据压缩工具提示更新,然后将压缩包后缀修改.war格式


3.2.在数据库创建DEM所需要的基础信息

可以在disql直接运行直接执行dem_ini.sql文件,也可以编辑文件打开拷贝里面的内容去管理工具执行

注意使用配套的SQL初始化脚本,否则部署完成应用因版本的变化可能存在问题

4.应用部署

4.1.打开应用管理,点部署应用

4.2.选择本机,然后选择文件,等待上传完成

4.3.文件上传成功之后,开始部署

4.4.全部采用默认方式,下一步

4.5.配置基本属性

4.6.确认信息,没问题之后点完成开始部署


部署过程中报错以下信息
com.tongweb.deploy.interfaces.DeployException: com.tongweb.deploy.interfaces.DeployException: com.tongweb.web.thanos.startup.DeployInnerWebtierException: com.tongweb.web.thanos.startup.DeployInnerWebtierException: java.lang.IllegalStateException: ContainerBase.addChild: start: com.tongweb.tomee.catalina.TomEERuntimeException: com.tongweb.tongejb.OpenEJBException: Cannot unmarshall the web.xml file: file:/dm/dmback/TongWeb7.0.4.7_Enterprise_Linux/deployment/dem/WEB-INF/web.xml: Unexpected attribute {https://www.w3.org/2001/XMLSchema-instance}schemaLocation, expected [id, metadata-complete, version]--------this exception is deploy,exception occur is in exceptionWebtierInnerPhaserootcause is
java.lang.IllegalStateException: ContainerBase.addChild: start: com.tongweb.tomee.catalina.TomEERuntimeException: com.tongweb.tongejb.OpenEJBException: Cannot unmarshall the web.xml file: file:/dm/dmback/TongWeb7.0.4.7_Enterprise_Linux/deployment/dem/WEB-INF/web.xml: Unexpected attribute {https://www.w3.org/2001/XMLSchema-instance}schemaLocation, expected [id, metadata-complete, version]--------this exception is deploy,exception occur is in exceptionWebtierInnerPhaserootcause is
com.tongweb.web.thanos.startup.DeployInnerWebtierException: java.lang.IllegalStateException: ContainerBase.addChild: start: com.tongweb.tomee.catalina.TomEERuntimeException: com.tongweb.tongejb.OpenEJBException: Cannot unmarshall the web.xml file: file:/dm/dmback/TongWeb7.0.4.7_Enterprise_Linux/deployment/dem/WEB-INF/web.xml: Unexpected attribute {https://www.w3.org/2001/XMLSchema-instance}schemaLocation, expected [id, metadata-complete, version]--------this exception is deploy,exception occur is in exceptionWebtierInnerPhaserootcause is
java.lang.IllegalStateException: ContainerBase.addChild: start: com.tongweb.tomee.catalina.TomEERuntimeException: com.tongweb.tongejb.OpenEJBException: Cannot unmarshall the web.xml file: file:/dm/dmback/TongWeb7.0.4.7_Enterprise_Linux/deployment/dem/WEB-INF/web.xml: Unexpected attribute {https://www.w3.org/2001/XMLSchema-instance}schemaLocation, expected [id, metadata-complete, version]
at com.tongweb.deploy.TongWebDeployer.deploy(TongWebDeployer.java:344)

应用状态信息提示出错

解决办法
java.lang.IllegalStateException: ContainerBase.addChild: start: com.tongweb.tomee.catalina.TomEERuntimeException: com.tongweb.tongejb.OpenEJBException: Cannot unmarshall the web.xml file: file:/dm/dmback/TongWeb7.0.4.7_Enterprise_Linux/deployment/dem/WEB-INF/web.xml: Unexpected attribute

根据提示去DEM目录下对 web.xml 
处理,先备份文件


如下如标记部分注释掉,新加入,然后保存

4.7.重启东方通服务


检查server
日志信息,可以看见标记信息提示部署成功

登录东方通检查应用情况,可以看到状态是已启动

4.8.测试应用是否部署完成

点击标记http
访问,会跳转到应用登录页面

正常访问到页面,后续可以直接使用地址访问

检查功能也正常,至此DEM应用已部署完成

5.其他版本测试情况

5.1.东方通版本Install_TW7.0.4.2 部署DEM 5.3.2正常
5.2.东方通版本Install_TW7.0.4.7 部署DEM 6.2.1,部署错误按4.6步骤处理可以解决
5.3.东方通版本Install_TW7.0.4.7 部署DEM 6.4.3,部署错误按4.6步骤处理可以解决
5.4.东方通版本Install_TW7.0.4.4 部署DEM 6.4.3,部署错误按4.6步骤处理可以解决
提示:笔者在后面的项目中使用东方通8.0以上的版本时可以直接部署成功,无需按4.6步骤处理调整web.xml
信息

6.其他解压问题

注意: dem.war包更新文件时,建议不要直接解压。可以拷贝到本地修改之后上传处理。用java打包时需注意版本。避免部署完成之后,日志无明显错误,控制台也可以正常启停业务,访问DEM
时报错404问题

往期分享

安装部署

1.分享一个以前搭建主备集群遇到的一个路径乱码案例
2.给大家分享如何标准化部署达梦单机环境
3.DM达梦数据库中大写敏感介绍分享

数据迁移

1.分享工作中数据迁移的实用技巧与方法
2.Oracle迁移DM数据库实践
3.SQLark迁移实践分享(oracle-达梦数据库)

SQL调优

1.DM 传统行业SQL优化案例分享
2.DM数据库SQL优化案例分享
3.如何查询DM 数据库缓存执行计划与清理
4.使用ob_tools包收集分析oceanbase数据库oracle租户缓慢sql语句
5.使用format_obproxy_digest_log工具分析obproxy网络层耗时SQL
6.DM数据库回表优化案例
7.SQL优化案例分享

工具使用与日常处理

1.DataGrip访问国产数据库_datagrip 连接国产数据库
2.如何使用dbeaver连接达梦数据库
3.更新大字段提示-2201无效的对象问题
4.DM7读写分离部署问题总结
5.DM7读写分离集群备库数据不同步问题处理
6.达梦数据库DISQL工具部署及使用技巧
7.达梦数据库日常巡检方法分享
8.如何查询达梦数据库缓存执行计划与清理
9.达梦数据库运维工具分享


 

文章转载自国产数据库学堂,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论