注册
达梦DEM安装指导
专栏/技术分享/ 文章详情 /

达梦DEM安装指导

文橘本可 2026/07/23 77 0 0
摘要

一、环境与规划

服务器环境

  • 操作系统:CentOS 7(或其他Linux)
  • 达梦数据库服务器已安装:/home/dmdba/dmdbms

DEM 部署规划

  • Tomcat安装路径:/home/dmdba/tomcat9,端口 8888
  • DEM应用路径:/home/dmdba/tomcat9/webapps/dem
  • DEM后台数据库:新建独立实例 DEMDB,端口 5238,数据库名 DEMDB,数据目录 /data/dmdata/DEMDB/DEMDB
  • 元数据用户:直接使用 SYSDBA,密码 Wei050210(符合密码策略)
  • DEM访问地址:通过SSH隧道 http://localhost:8888/dem/dem.html

二、详细部署步骤(按文档顺序)

1. 准备安装介质

上传到服务器的文件:

  • apache-tomcat-9.0.120.tar.gz 放在 /home/dmdba/
  • dem_setup_20260702_x86_linux_64_9.0.1.zip 放在 /opt/

2. 部署Tomcat

# 切换到dmdba用户 su - dmdba cd /home/dmdba # 解压Tomcat tar -xzf apache-tomcat-9.0.120.tar.gz mv apache-tomcat-9.0.120 tomcat9 # 赋予权限(需root执行) su - root chown -R dmdba:dinstall /home/dmdba/tomcat9 chmod -R 755 /home/dmdba/tomcat9 exit

QQ20260722113523.png

配置Tomcat

# 修改端口为8888,并添加maxPostSize="-1"(避免大文件上传限制) sed -i 's|Connector port="8080"|Connector port="8888" maxPostSize="-1"|' /home/dmdba/tomcat9/conf/server.xml # 检查修改结果 grep "Connector port" /home/dmdba/tomcat9/conf/server.xml # 应显示:<Connector port="8888" maxPostSize="-1" protocol="HTTP/1.1" ...

QQ20260722113716.png

3. 解压DEM安装包(需要root权限)

su - root unzip -o /opt/dem_setup_20260702_x86_linux_64_9.0.1.zip -d /opt/ chown -R dmdba:dinstall /opt/dem_setup_20260702_x86_linux_64_9.0.1 exit

注意:解压后得到 /opt/dem_setup_20260702_x86_linux_64_9.0.1/source/ 目录,内含 dem.warresources/dem_init.sql

4. 创建DEM后台数据库实例

# 确保JAVA环境已设置(如果没设置) echo 'export JAVA_HOME=/home/dmdba/dmdbms/jdk' >> ~/.bash_profile echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bash_profile source ~/.bash_profile # 创建数据目录并初始化实例(大小写敏感CASE_SENSITIVE=Y,端口5238) mkdir -p /data/dmdata/DEMDB /home/dmdba/dmdbms/bin/dminit PATH=/data/dmdata/DEMDB DB_NAME=DEMDB PORT_NUM=5238 SYSDBA_PWD=Wei050210 SYSAUDITOR_PWD=Wei050210 CASE_SENSITIVE=Y

QQ20260722111915.png

# 按文档修改dm.ini参数(追加到文件末尾) echo "BUFFER = 1000" >> /data/dmdata/DEMDB/DEMDB/dm.ini echo "KEEP = 64" >> /data/dmdata/DEMDB/DEMDB/dm.ini echo "SORT_BUF_SIZE = 50" >> /data/dmdata/DEMDB/DEMDB/dm.ini

5. 启动数据库并初始化DEM元数据

# 启动DEMDB实例 nohup /home/dmdba/dmdbms/bin/dmserver /data/dmdata/DEMDB/DEMDB/dm.ini & sleep 5 # 验证端口(可能监听IPv6) ss -tlnp | grep 5238

在SQL>下执行:

SET CHAR_CODE UTF8; START /opt/dem_setup_20260702_x86_linux_64_9.0.1/source/resources/dem_init.sql COMMIT; EXIT;

耐心等待脚本执行完成

6. 部署dem.war(手动解压,避免自动覆盖配置)

# 清理旧应用(如果有) rm -rf /home/dmdba/tomcat9/webapps/dem rm -rf /home/dmdba/tomcat9/work/Catalina/localhost/dem # 手动解压war包 mkdir -p /home/dmdba/tomcat9/webapps/dem cd /home/dmdba/tomcat9/webapps/dem unzip -o /opt/dem_setup_20260702_x86_linux_64_9.0.1/source/webapp/dem.war cd ~

QQ20260722181109.png

7. 配置数据库连接(关键一步!)

cat > /home/dmdba/tomcat9/webapps/dem/WEB-INF/db.xml <<EOF <?xml version="1.0" encoding="UTF-8"?> <ConnectPool> <Server>[::1]</Server> <Port>5238</Port> <User>SYSDBA</User> <Password>Wei050210</Password> <InitPoolSize>5</InitPoolSize> <CorePoolSize>10</CorePoolSize> <MaxPoolSize>500</MaxPoolSize> <KeepAliveTime>60</KeepAliveTime> <DbDriver></DbDriver> <DbTestStatement>select 1</DbTestStatement> </ConnectPool> EOF

说明:因为本文是使用的IPv6地址,所以&lt;Server>必须用[::1],否则使用127.0.0.1会连接失败。

8. 启动Tomcat

# 先杀死可能残留的Tomcat进程 ps -ef | grep tomcat | grep -v grep | awk '{print $2}' | xargs -r kill -9 # 启动 /home/dmdba/tomcat9/bin/startup.sh tail -f /home/dmdba/tomcat9/logs/catalina.out # 看到 Server startup 后 Ctrl+C

9. 访问DEM

确保SSH隧道已建立(Windows PowerShell):

ssh -p 5235 -L 8888:localhost:8888 root@10.36.41.11

浏览器打开:http://localhost:8888/dem/dem.html

  • 账号:admin
  • 密码:admin888(若不对,试888888

三、踩坑总结与解决方案

坑1:dem.war自带错误配置

现象:部署后日志提示连接 10.156.20.10:5237 失败,用户名密码错误。
原因:war包内的 WEB-INF/db.xml 包含默认的数据库连接信息,指向开发环境。
解决:必须手动修改 db.xml。由于Tomcat每次启动都会重新解压war包并覆盖解压目录,所以需要采用手动解压到webapps/dem目录,然后直接修改该目录下的配置文件,这样不会被覆盖。

切记:不要直接修改war包本身,或修改后删除解压缓存,我们采用手动解压并写入配置最稳妥。

坑2:磁盘空间不足导致数据库初始化失败

现象:执行dminit时报错 No space left on device
原因:根分区剩余空间仅2~3G,初始化数据库需要创建日志文件(默认256MB),空间不足。
解决:清理无用文件:删除Tomcat安装包、DEM zip包(解压后可以删除)、yum缓存等。同时,dminitLOG_SIZE 参数最小为256MB,不能通过减小日志大小解决,必须释放足够空间。

建议:日常保持根分区有10G以上剩余空间。

坑3:初始化脚本dem_init.sql大量“对象已存在”错误

现象:执行START dem_init.sql时,出现大量 [-2124]:对象[xxx]已存在 错误。
原因:脚本包含 CREATE USERCREATE TABLE 等语句,如果之前执行过或DEM用户、表已存在,就会报错。
解决:使用新实例或者完全忽略这些错误,脚本会继续执行后续的插入和初始化数据。只要最终没有连接池错误,DEM就能正常使用。

注意:全新安装时这些错误不会出现,重复执行时才会出现。

坑4:Tomcat shutdown失败,端口8005冲突

现象:执行shutdown.sh时报 java.net.ConnectException: Connection refused,且8005端口已被占用。
原因:之前启动的Tomcat进程未正常退出,或多次启动导致8005端口被占用。
解决:直接用 kill -9 PID 杀死所有Tomcat进程,然后重新启动。或者在 server.xml 中修改 Server port="8005" 为其他端口。

坑5:权限问题导致Tomcat或数据库无法启动

现象:启动Tomcat时出现 Permission denied
原因:Tomcat目录或文件属主不是dmdba,或没有执行权限。
解决chown -R dmdba:dinstall /home/dmdba/tomcat9chmod -R 755。同样,DEM解压目录也应授权给dmdba。


四、最终文件与配置速查

  • Tomcat安装目录/home/dmdba/tomcat9
  • DEM应用目录/home/dmdba/tomcat9/webapps/dem
  • 数据库连接配置/home/dmdba/tomcat9/webapps/dem/WEB-INF/db.xml
  • DEM元数据库/data/dmdata/DEMDB/DEMDB/dm.ini,端口5238
  • 启动DEM数据库nohup /home/dmdba/dmdbms/bin/dmserver /data/dmdata/DEMDB/DEMDB/dm.ini &
  • 启动Tomcat/home/dmdba/tomcat9/bin/startup.sh
  • 停止Tomcat/home/dmdba/tomcat9/bin/shutdown.shkill -9 PID
  • SSH隧道命令ssh -p 5235 -L 8888:localhost:8888 root@10.36.41.11(Windows PowerShell)
  • 访问URLhttp://localhost:8888/dem/dem.html

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服