达梦DEM 部署
DEM 部署环境说明
DEM 部署需要准备:
• DEM WAR 包
• Tomcat
• 达梦数据库
其中 DEM WAR 包在达梦安装目录下/web/dem.war
Tomcat 需要自己准备,与要部署的机器版本匹配即可
DEM 部署步骤
1. 修改 DEM 后台数据库 dm.ini 参数配置,推荐配置:
MEMORY_POOL = 200
BUFFER = 1000
KEEP = 64
MAX_BUFFER = 2000
SORT_BUF_SIZE = 50
SQL> alter system set ‘SORT_BUF_SIZE’=50;
SQL> alter system set ‘BUFFER’=1000 spfile;
SQL> alter system set ‘KEEP’=64 spfile;
SQL> alter system set ‘MAX_BUFFER’=2000 spfile;
SQL> alter system set ‘SORT_BUF_SIZE’=50 spfile;
2.在 DEM 后台库中执行 SQL 脚本 dem_init.sql
dem_init.sql 路径为达梦数据库安装目录下的/web/dem_init.sql,此 SQL 脚本编码为 UTF-8
sql>set CHAR_CODE UTF8
sql>start dem_init.sql
3.配置 tomcat
/soft/apache-tomcat-9.0.40/conf
[root@dm3-60 conf]# vi server.xml
(1) 在 conf/server.xml 中<Connector port=“8080” protocol=“HTTP/1.1”… 追加属性字段
maxPostSize="-1"
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
maxPostSize= "-1"/> ##添加maxPostSize="-1"
修改 jvm 启动参数
Linux:
bin/catalina.sh ->追加
JAVA_OPTS="-server -Xms256m -Xmx1024m -XX:MaxPermSize=512m -Djava.library.path=/dm/bin"
Windows:
bin/catalina.bat 追加
set java_opts=
-server
-Xms40m
-Xmx1024m
-XX:MaxPermSize=512m -Djava.library.path=c:\dmdbms\bin;
复制dem war包到/opt/apache-tomcat-8.5.55/webapps下,并启动tomcat
cp /dm/web/dem.war /soft/apache-tomcat-9.0.40/webapps
ls
dem.war docs examples host-manager manager ROOT
[root@DaMengDB webapps]# cd …/bin
[root@DaMengDB bin]# ./startup.sh
##tomcat启动后会自动解压war包
修改dem包中的db.xml文件,更改为对应的值
[root@DaMengDB dem]# cd /soft/apache-tomcat-9.0.40/webapps/dem/WEB-INF
[root@DaMengDB WEB-INF]# vi db.xml
<?xml version="1.0" encoding="UTF-8"?>
<ConnectPool>
<Dbtype>dm8</Dbtype>
<Server>192.168.15.10</Server>
<Port>5236</Port>
<User>SYSDBA</User>
<Password>SYSDBA</Password>
<InitPoolSize>50</InitPoolSize>
<CorePoolSize>100</CorePoolSize>
<MaxPoolSize>500</MaxPoolSize>
<KeepAliveTime>60</KeepAliveTime>
<DbDriver></DbDriver>
<DbTestStatement>select 1</DbTestStatement>
<SSLDir>../sslDir/client_ssl/SYSDBA</SSLDir>
<SSLPassword></SSLPassword>
<!-- <Url>jdbc:dm://localhost:5236</Url> -->
</ConnectPool>
tomcat startup.bat乱码
打开tomcat文件夹到conf目录下
修改logging.properties
找到
java.util.logging.ConsoleHandler.encoding = utf-8这行
更改为
java.util.logging.ConsoleHandler.encoding = GBK
————————————————
4.通过web访问tomcat
http://172.168.3.60:8080/dem 或者 http://dm3-60:8080/dem/
默认用户名和密码:admin/888888
监控及告警
配置网络–保存并刷新
5.通过dem配置主备集群
注意不要有中文路径
修改dmagent配置文件 注意端口号
config.properties
http://127.0.0.1:9090/dem
启动(数据库3333 tomcat9090 和agent)
\apache-tomcat-7.0.78\bin\startup.bat
访问dem
http://127.0.0.1:9090/dem/
添加2个实例,不注册服务
添加主库备库
配置dmarch.ini为1
不部署监视器
上传156 window的bin目录
之后会出现汇总界面,可以导出配置
部署完之后,会启动4个窗口,分别是2个实例,两个dmwatcher
c:\DMDeploy1\dmwatcher4_0\bin>“c:\DMDeploy1\dmwatcher4_0\bin\dmserver.exe” c:\DMDeploy1\dmwatcher4_0\EP01\DAMENG\dm.ini mount
c:\DMDeploy1\dmwatcher4_0\bin>“c:\DMDeploy1\dmwatcher4_0\bin\dmserver.exe” c:\DMDeploy1\dmwatcher4_0\EP02\DAMENG\dm.ini mount
c:\DMDeploy1\dmwatcher4_0\bin>“c:\DMDeploy1\dmwatcher4_0\bin\dmwatcher.exe” c:\DMDeploy1\dmwatcher4_0\dmwatcher\EP02\dmwatcher.ini
c:\DMDeploy1\dmwatcher4_0\bin>“c:\DMDeploy1\dmwatcher4_0\bin\dmwatcher.exe” c:\DMDeploy1\dmwatcher4_0\dmwatcher\EP01\dmwatcher.ini
然后点击添加到监控,之后等待状态刷新
查看集群监视器
新建监控文件dmmonitor.ini
在部署目录C:\DMDeploy1\dmwatcher4_0\bin 新建监控文件dmmonitor.ini
MON_DW_CONFIRM = 0
[GRP1]
MON_INST_OGUID = 683850182
MON_DW_IP = 192.168.1.3:7537
MON_DW_IP = 192.168.1.3:7536
在CMD中启动监视器
C:\Users\bj>cd C:\DMDeploy1\dmwatcher4_0\bin
C:\DMDeploy1\dmwatcher4_0\bin>.\dmmonitor.exe .\dmmonitor.ini
[monitor] 2021-03-09 10:53:51: Received message from(EP02)
WTIME WSTATUS INST_OK INAME ISTATUS IMODE RSTAT N_OPEN FLSN CLSN
2021-03-09 10:53:51 OPEN OK EP02 OPEN STANDBY NULL 2 36689 36689
[monitor] 2021-03-09 10:53:51: Received message from(EP01)
WTIME WSTATUS INST_OK INAME ISTATUS IMODE RSTAT N_OPEN FLSN CLSN
2021-03-09 10:53:51 OPEN OK EP01 OPEN PRIMARY VALID 2 36689 36689
通过dem连接数据库实例
测试
create tablespace test datafile ‘2021年3月9日11:03:28.dbf’ size 200;
create table test storage(on test) as select level connect by level<=10000000;
监视器中show命令会发现数值变化明显
RSTAT FSEQ FLSN CSEQ CLSN
VALID 3941 107975 3941 108053
停止集群
login
SYSDBA
SYSDBA
stop group grp1
退出监视器 守护进程dmwatcher需要手动停止 EXIT
版本升级
复制172的bin目录文件
现在156的bin目录打个包,然后在复制172的bin
启动监视器
C:\DMDeploy1\dmwatcher4_0\bin>.\dmmonitor.exe .\dmmonitor.ini
启动守护进程dmwatcher
c:\DMDeploy1\dmwatcher4_0\bin>“c:\DMDeploy1\dmwatcher4_0\bin\dmwatcher.exe” c:\DMDeploy1\dmwatcher4_0\dmwatcher\EP02\dmwatcher.ini
c:\DMDeploy1\dmwatcher4_0\bin>“c:\DMDeploy1\dmwatcher4_0\bin\dmwatcher.exe” c:\DMDeploy1\dmwatcher4_0\dmwatcher\EP01\dmwatcher.ini
启动两个实例
c:\DMDeploy1\dmwatcher4_0\bin>“c:\DMDeploy1\dmwatcher4_0\bin\dmserver.exe” c:\DMDeploy1\dmwatcher4_0\EP01\DAMENG\dm.ini mount
c:\DMDeploy1\dmwatcher4_0\bin>“c:\DMDeploy1\dmwatcher4_0\bin\dmserver.exe” c:\DMDeploy1\dmwatcher4_0\EP02\DAMENG\dm.ini mount
监视器查看集群状态
主库在应用redo,升级中不要停止任务进程
主库一直 AFTER REDO
INAME INST_OK N_EP N_OK ISTATUS IMODE DSC_STATUS
EP01 OK 1 1 AFTER REDO PRIMARY DSC_OPEN
备库是OPEN的
INST_OK N_EP N_OK ISTATUS IMODE DSC_STATUS
OK 1 1 OPEN STANDBY DSC_OPEN
通过dem查看数据库状态是异常的
主库一直是AFTER REDO,我手动关闭了备库,(可能是启动时先启动备库导致的,下次先启动主库)
再次启动备库
show集群状态恢复正常,主备库都是open的
INST_OK N_EP N_OK ISTATUS IMODE DSC_STATUS
OK 1 1 OPEN PRIMARY DSC_OPEN
INST_OK N_EP N_OK ISTATUS IMODE DSC_STATUS
OK 1 1 OPEN STANDBY DSC_OPEN
通过dem查看数据库状态是异常
登录主库报错,没有CREATE SESSION权限
停止集群
登录监视器login
stop group grp1
[monitor] 2021-03-09 11:48:16: Notify instance(EP01) shutdown.
[monitor] 2021-03-09 11:50:13: Instance EP01[PRIMARY, OPEN, ISTAT_SAME:TRUE] shutdown
[monitor] 2021-03-09 11:50:13: Instance(EP01) shutdown success, please wait.
[monitor] 2021-03-09 11:50:13: Notify instance(EP02) shutdown.
[monitor] 2021-03-09 11:50:22: Instance(EP02) shutdown success, please wait.
[monitor] 2021-03-09 11:50:22: Notify group(GRP1)'s dmwatcher to do clear
[monitor] 2021-03-09 11:50:22: Clean request of dmwatcher processer EP02 success
[monitor] 2021-03-09 11:50:23: Clean request of dmwatcher processer EP01 success
[monitor] 2021-03-09 11:50:23: Exit all active instances in group(GRP1) success.
通过数据库cmd窗口查看,数据库是否停止
DM Database Server shutdown successfully.
再起通过监视器启动
startup group grp1
正常情况ep01 SYSTEM IS READY.之后有如下
iid page’s trxid[8125]
NEXT TRX ID = 8126
pseg_collect_mgr_items, total collect 0 active_trxs, 0 cmt_trxs, 0 pre_cmt_trxs, 0 active_pages, 0 cmt_pages, 0 pre_cmt_pages, 0 mgr pages, 0 mgr recs!
total 0 active crash trx, pseg_crash_trx_rollback sys_only(0) begin …
pseg_crash_trx_rollback end, total 0 active crash trx, include 0 empty_trxs, 0 empty_pages which only need to delete mgr recs.
pseg_crash_trx_rollback end
set EP[0]'s pseg state to inactive
pseg recv finished
nsvr_process_before_open begin.
nsvr_process_before_open success.
total 0 active crash trx, pseg_crash_trx_rollback sys_only(0) begin …
pseg_crash_trx_rollback end, total 0 active crash trx, include 0 empty_trxs, 0 empty_pages which only need to delete mgr recs.
pseg_crash_trx_rollback end
ep02 只有SYSTEM IS READY.
通过dem查看
通过工具再次连接主备集群 ,都可以进行正常连接,并且dem,数据库监控都正常