达梦数据库同步部署方案

一、部署方案简述

​ 达梦数据复制(DATA REPLICATION)是一个分担系统访问压力、加快异地访问响应速度、提高数据可靠性的解决方案。将一个服务器实例上的数据变更复制到另外的服务器实例。可以用于解决大、中型应用中出现的因来自不同地域、不同部门、不同类型的数据访问请求导致数据库服务器超负荷运行、网络阻塞、远程用户的数据响应迟缓的问题。

​ 服务部署采用分级部署,各地采用独立数据库,各所与局之间进行部分数据同步。

二、部署中涉及到的重要概念

1. 主服务器

发起复制操作的服务器,称为主服务器。

2. 从服务器

接收主服务器发送的数据并进行复制的服务器,称为从服务器。

3. 复制服务器(RPS)

在数据复制环境中,负责配置复制环境,定义复制关系的服务器。 RPS 有且仅有一台,它只负责配置和监控,并不参与到复制过程中。

三、部署方案

配置数据复制在 RPS (复制服务器)上进行。在配置数据复制之前,需要保证复制服务器和所有待配置节点的实例名各不相同,配置好其 MAL 系统并保证网络环境正常。按照复制组、复制关系、复制表映射的顺序配置复制环境。

1. 准备工作

首先准备一台复制数据库,三台需要数据同步的数据库(一个局级数据库,两个所级数据库,这个数据库的数量按照实际需求来)。这里默认所有的数据库已经安装完毕。

参与复制的数据库信息如下:

服务器 实例名 IP 地址 数据库端口号 MAL 端口号
复制服务器(数据库) JD_SERVER_212 192.168.7.212 5240 5241
局服务器(数据库) JD_SERVER_250 192.168.7.250 5240 5242
所服务器一(数据库) JD_SERVER_211 192.168.7.211 5240 5243
所服务器二(数据库) JD_SERVER_213 192.168.7.213 5240 5244

2. 修改dm.ini配置文件

修改对应数据库实例的dm.ini配置文件如下:

数据库 dm.ini 设置
复制服务器(数据库) INSTANCE_NAME = JD_SERVER_212 PORT_NUM = 5240 MAL_INI = 1
局服务器(数据库) INSTANCE_NAME = JD_SERVER_250 PORT_NUM = 5240 MAL_INI = 1
所服务器一(数据库) INSTANCE_NAME = JD_SERVER_211 PORT_NUM = 5240 MAL_INI = 1
所服务器二(数据库) INSTANCE_NAME = JD_SERVER_213 PORT_NUM = 5240 MAL_INI = 1

参数解释:

MAL_INI = 1 #打开MAL系统

注意,复制服务器所在数据库不能参与复制,应该是一个单独的数据库或者数据库实例。

3. 修改dmmal.ini 配置文件

MAL_CHECK_INTERVAL = 2
MAL_CONN_FAIL_INTERVAL = 5
[MAL_INST1]
MAL_INST_NAME = JD_SERVER_212
MAL_HOST = 192.168.7.212
MAL_PORT = 5241
MAL_INST_PORT = 5240
MAL_INST_HOST = 192.168.7.212
[MAL_INST2]
MAL_INST_NAME = JD_SERVER_250
MAL_HOST = 192.168.7.250
MAL_PORT = 5242
MAL_INST_PORT = 5240
MAL_INST_HOST = 192.168.7.250
[MAL_INST3]
MAL_INST_NAME = JD_SERVER_211
MAL_HOST = 192.168.7.211
MAL_PORT = 5243
MAL_INST_PORT = 5240
MAL_INST_HOST = 192.168.7.211
[MAL_INST4]
MAL_INST_NAME = JD_SERVER_213
MAL_HOST = 192.168.7.213
MAL_PORT = 5244
MAL_INST_PORT = 5240
MAL_INST_HOST = 192.168.7.213

每个节点的 dmmal.ini 配置必须一致,一个节点配置好后可直接拷贝到另外两个节点。

参数解释:

参数 解释
MAL_CHECK_INTERVAL MAL 链路检测时间间隔
MAL_CONN_FAIL_INTERVAL 判定 MAL 链路断开的时间
MAL_INST_NAME 实例名,和 dm.ini 中的 INSTANCE_NAME 一致
MAL_HOST MAL系统监听TCP连接的IP地址,即为当前机器的IP
MAL_PORT MAL系统监听TCP连接的端口,每个实例必须不一样
MAL_INST_HOST 实例的对外服务端口,和 dm.ini 中的 PORT_NUM 一致
MAL_INST_PORT 实例对应的守护进程监听 TCP 连接的端口

4. 复制服务器初始化

​ 通过执行系统函数SP_INIT_REP_SYS(create_flag)来初始化复制服务器。其主要作用是创建复制用户(SYSREP/SYSREP)和创建复制服务器上需要的系统表。SP_INIT_REP_SYS 的参数create_flag 为 1 时表示创建用户和系统表,为 0 时表示删除用户和系统表。

执行示例

SP_INIT_REP_SYS(1);

5.环境初始化

以上工作完成后,即可进行复制环境的配置了。

  1. 重新启动以上所有数据库,启动的顺序不分先后。

  2. 登录复制服务器数据库,保证服务器状态为 OPEN,开始复制配置。

  3. 创建复制组: REP_GRP_JD ,执行如下语句:

SP_RPS_ADD_GROUP('REP_GRP_JD', '主从同步复制');

6.在数据同步服务中执行初始化

部署数据同步服务,比如服务所在ip为30.29.5,那么可以调用如下接口执行初始化配置关系:

post 30.29.5:8090/strategy/init?defalutIp=192.168.7.250&defalutPort=5240

defaultIp指局数据库ip,defalutPort为对应的数据库实例端口

至此,数据库同步服务部署完成。

达梦数据库同步部署方案相关推荐

  1. 达梦数据库DM8-DEM部署

    达梦数据库DM8-DEM部署 DEM 与达梦数据库代理(简称 dmagent)需同时部署.dmagent 是 DEM 部署在远程主机上的代理,只有在主机上启动了 dmagent,达梦企业管理平台软件才 ...

  2. 送您一个国产达梦数据库安装部署教程

    达梦数据库已经推出多年,其通用关系型数据库已经发展到DM8版本.本文主要介绍下当前的DM8的数据库安装部署及配置的内容. 第一部分,达梦数据库的安装. 达梦数据库支持图形的方式进行安装,也支持命令行的 ...

  3. Java|达梦工作笔记-达梦数据库同步工具(JDBC)

    目录 前言 代码与实例 前言 最近数据库要用达梦,个人对达梦又有了新的认识.使用的是达梦7,这个数据库有很多BUG,官方提供的客户端,不仅卡,而且登录了后,使用Java JDBC操作更新时,是会被阻塞 ...

  4. 达梦数据库综合监控方案

    一.监控指标采集 1.慢日志采集 开启慢日志:将数据库配置文件dm.ini中的SVR_LOG参数设为1则打开慢日志,默认在数据库软件安装目录下的log目录下可以查看慢日志.慢日志的具体参数可通过sql ...

  5. 达梦数据库单机部署守护进程

    数据守护进程可以在数据库被关闭状态下拉起数据库服务 现在环境为已安装并初始化且注册数据库,未启动 目录为/home/dmdbms 1.进入dmdba用户 vi dm.ini 将MAL_INI和ARCH ...

  6. DM8:达梦数据库DEM--dmagent监控服务器代理部署(详细步骤)

    DM8:达梦数据库DEM部署dmagent代理环境(详细步骤) 1 dmagent代理下载部署 1.1通过web DEM下载代理包 1.2 从数据库服务器目录直接拷贝dmagent 2 部署JDK环境 ...

  7. 达梦数据库生产环境的单机部署

    首先进行部署前的检查 1 检查Oracle数据库的最大连接数: select value from v$parameter where name ='processes';-----2000 字符集: ...

  8. 达梦数据库之巡检之道

    达梦数据库安装部署上线之前对操作系统和实例初始化参数都需要进行相关配置与调整,诸多参数是达梦人经过长期积累和实践探索的宝贵知识财富,下边详细介绍相关设置和配置的原因及意义.linux全面调优请参考之前 ...

  9. 《达梦数据库运维实战》 发售了

    毕业以后一直从事数据库有关的工作,也一直在坚持技术分享,写了很多的博客,但博客有一定的局限性,所以这几年陆续出版了几本书,2019年和2020年写了2本Oracle 数据库有关的书籍,如下: < ...

  10. 纯国产环境JAVA程序(Springboot + Mybatis + 达梦数据库)搭建

    目录 JAVA程序搭建 前言 达梦数据库安装(WINDOWS) SpringBoot项目搭建 整合达梦数据库 源码 总结 JAVA程序搭建 前言 写在前面: 文章满满干货,每一步都是自己从零开始操作并 ...

最新文章

  1. 异步编程(asyncawait)
  2. C语言函数strstr()分析及实现
  3. 网站优化中导致关键词排名不稳定的原因有哪些?
  4. python 代码-我整理的Python代码规则
  5. 负载均衡在分布式架构中是怎么玩起来的?
  6. android分辨率比例成像,像素不是唯一 决定成像效果你必知的真相
  7. tensorFlow13卷积神经网络发展
  8. Buffer与Cache
  9. python 数据分析 实际案例_python在实际工作中运用的案例
  10. 基于图像查询的视频检索,代码已开源!
  11. saltsack之数据系统(三)
  12. 取枚举的参数c语言,求解:如何获得enum类型中枚举值的数量
  13. java生成excel文件步骤_java导出Excel文件的步骤全纪录
  14. python计算坐标点欧式距离_计算机视觉课堂笔记-4
  15. 沙雕动画资源素材大全/小白零基础快速入门沙雕动画/三天快速上手开始制作沙雕动画/
  16. java 修改文件编码_java中怎么获取、设置文件编码格式?
  17. putty连不上华为云服务器(Linux)怎么办?
  18. VUE3 子传父 父传子 双向传递
  19. 怎么给电脑重装Nvidia显卡驱动?
  20. Be awesome

热门文章

  1. 【算法专题】链表排序算法总结
  2. 隐马尔可夫模型(HMM)详解
  3. ArcGIS学习(一)——如何绘制一幅流域图
  4. java毕业设计和毕业论文怎么写,答辩流程是怎样的?
  5. 金仓数据库KingbaseES中 数据库实例命令
  6. 数字信号处理教程第五版答案
  7. NetApp存储设置时间报“date: cannot set date when NTP is running.”处理
  8. pr视频剪辑中工具栏功能详解
  9. 微信为什么不能下载apk以及微信下载APK的解决办法
  10. 详解js继承的那些事儿