love wife love life —Roger的Oracle/MySQL/PostgreSQL数据恢复博客

Phone:18180207355 提供专业Oracle/MySQL/PostgreSQL数据恢复、性能优化、迁移升级、紧急救援等服务

达梦数据库学习笔记 – dataWatch守护集群

本站文章除注明转载外,均为本站原创: 转载自love wife love life —Roger的Oracle/MySQL/PostgreSQL数据恢复博客

本文链接地址: 达梦数据库学习笔记 – dataWatch守护集群

对于达梦数据库而言,目前其高可用解决方案主要还是以主备守护集群维护,通过datawatch来实现。

我们知道Oracle 主备也是非常成熟的,几乎所有Oracle用户的容灾都使用dataguard/active dataguard来实现,同时我们也知道Oracle  standby的状态可以是mount或open read only 只读模式,这样可以进行读写分离。在Oracle 21c版本中,还支持多租户pdb

级别的read only 同步,这是非常牛。然而在达梦数据库中,standby不存在read only模式的说法,就是mount或者open,只是open时数据库角色是standby,仍然是可以进行只读查询的,不允许进行写操作。但从者来看,跟Oracle类似,只是感觉稍微有点别扭。

对于dm8的主备集群部署,相对来讲比较简单,这里我就简单列一下主备的配置情况:

1、主库dm.ini参数

这里主要修改mal_ini和arch_ini。

2、主库dmarch.ini归档相关参数

主库这里arch_dest目录地写standby 实例名称即可,arch_type选择实时同步模式。

3、dmmal.ini

对于dmmal.ini中的参数,主备保持参数一致。

4、dmwatcher.ini

对于dmwatcher.ini参数,主备保持一致即可。

5、dmmonitor.ini参数

同样,主备保持参数一致。

6、数据库设置oguid值,该参数大小随意

–主库设置OGUID值:
SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 1);
sp_set_oguid(666666);
alter database primary;
SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 0);

—备库

设置OGUID值:
SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 1);
sp_set_oguid(666666);
alter database standby;
SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 0);

对于oguid的设置,均将数据库实例启动到mount状态后,登录disql执行即可。oguid的参数设置要与dmwatcher和dmmonitor中的参数保持一致。

7、备份恢复standby

 

8、启动主备以及dmwatch和dmmonitor监控。

/opt/dm/dmdbms/bin/dmserver path=/opt/dm/data/enmotech/dm.ini mount &

dmwatcher /opt/dm/data/enmotech/dmwatcher.ini &
dmmonitor /opt/dm/data/enmotech/dmmonitor.ini &

也可以通过注册service的方式来启动数据库。

9、检查监控是否正常

查看/opt/dm/data/enmotech/log 中的dmmonitorlog 即可,如下:

 

从目前监控来看,现在的达梦主备守护集群正常,实际上我进行了多次kill进程测试,数据库很快会被自动拉起。说明主备集群还是比较稳定的。

经过多次benchmark压测,达梦主备集群整体来看还算稳定,性能波动在15-20%之间。

达梦数据库学习笔记 – dataWatch守护集群插图

 

期间监控发现操作系统sys%较高,虽然磁盘IO不是太理想,不过总感觉有一定的优化空间,通过perf top看了下,发现系统中断对性能影响似乎较大。

达梦数据库学习笔记 – dataWatch守护集群插图(1)

这里我就是简单测试一下达梦主备的稳定性,没有做过多深入研究测试。另外对于测试的虚拟机环境配置为:4c/16G memory.

参数优化参考了达梦官方的脚本:

 

Leave a Reply

You must be logged in to post a comment.