达梦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,数据库监控都正常
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
达梦数据库(DaMeng)是一种关系型数据库管理系统。如果你想在Docker中搭建达梦数据库,可以按照以下步骤进行操作。 首先,你需要在CentOS 7上安装Docker。你可以使用yum命令来安装Docker,并设置Docker的存储位置。默认情况下,Docker的存储位置是在系统盘下的/var/lib/docker目录。你可以通过以下步骤来修改存储位置: 1. 停止Docker服务: ``` systemctl stop docker ``` 2. 在大磁盘下创建一个目录,例如/udata/docker: ``` cd /udata mkdir docker ``` 3. 将/var/lib/docker目录移动到新创建的目录下: ``` cd /udata/docker mv /var/lib/docker . ``` 4. 修改Docker的配置文件,使用vim编辑/usr/lib/systemd/system/docker.service文件: ``` vim /usr/lib/systemd/system/docker.service ``` 5. 在ExecStart行的末尾添加--graph /udata/docker/docker参数,保存并退出编辑器。 6. 重新加载系统服务配置: ``` systemctl daemon-reload ``` 7. 启动Docker服务: ``` systemctl start docker ``` 现在,你已经成功修改了Docker的存储位置。 接下来,你可以使用Docker搭建达梦数据库。你可以使用Docker镜像来创建一个达梦数据库容器。具体的步骤可以参考引用[2]中提供的内容。 另外,如果你需要设置Docker的yum源,可以使用以下命令: ``` yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo ``` 你可以使用以下命令来查看所有可用的Docker版本,并选择特定版本进行安装: ``` yum list docker-ce --showduplicates | sort -r ``` 希望这些信息对你有帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值