达梦数据库_DM8配置MPP主备
为了提高MPP系统可靠性,克服由于单节点故障导致整个系统不能继续正常工作,DM 在普通的MPP系统基础上,引入主备守护机制,将MPP节点作为主库节点,增加备库作为备份节点,必要时可切换为主库代替故障节点工作,提高系统的可靠性和可用性。
1、环境说明
本例配置2个MPP节点,每个节点作为主库,与其备库组成一个守护组,因此需要配置两个守护组,取名分别为GRP1、GRP2,主库名为GRP1_MPP_EP01/ GRP2_MPP_EP02,对应的备库实例名分别为GRP1_MPP_EP11/GRP2_MPP_EP22。
准备3台机器A、B、C,A和B用来交叉部署实例,C用来部署监视器。其中A和B 配置两块网卡,一块接入内部网络交换模块,一块接入到外部交换机,C接入内部网络。
机器事先都安装了DM,安装路径为’/dm’,执行程序保存在’/dm/bin’目录中,数据存放路径为’/dm/data/EP01’, ’/dm/data/EP02’。
表1.1 配置环境说明
|
机器名 |
IP地址 |
初始状态 |
操作系统 |
|
A |
192.168.46.141 10.90.10.2 |
主库GRP1_MPP_EP01 备库GRP2_MPP_EP22 |
CentOS7 |
|
B |
192.168.46.144 10.90.10.3 |
主库GRP2_MPP_EP02 备库GRP1_MPP_EP11 |
CentOS7 |
|
C |
10.90.10.8 |
监视器 |
CentOS7 |
表1.2 端口规划—主库
|
实例名 |
PORT_NUM |
MAL_INST_DW_PORT |
MAL_HOST |
MAL_PORT |
MAL_DW_PORT |
MPP实例序号 |
|
GRP1_MPP_EP01 |
5236 |
5243 |
10.90.10.2 |
5337 |
5253 |
0 |
|
GRP2_MPP_EP02 |
5236 |
5243 |
10.90.10.3 |
5337 |
5253 |
1 |
表1.3 端口规划—备库
|
实例名 |
PORT_NUM |
MAL_INST_DW_PORT |
MAL_HOST |
MAL_PORT |
MAL_DW_PORT |
对应主库 |
|
GRP1_MPP_EP11 |
5237 |
5244 |
10.90.10.3 |
5338 |
5254 |
GRP1_MPP_EP01 |
|
GRP2_MPP_EP22 |
5237 |
5244 |
10.90.10.2 |
5338 |
5254 |
GRP2_MPP_EP02 |
表1.4 守护进程规划
|
组名 |
实例名 |
所在机器 |
|
GRP1 |
GRP1_MPP_EP01 |
10.90.10.2 |
|
GRP1_MPP_EP11 |
10.90.10.3 |
|
|
GRP2 |
GRP2_MPP_EP02 |
10.90.10.3 |
|
GRP2_MPP_EP22 |
10.90.10.2 |
2、数据准备
A机器上初始化库至目录/dm/data/EP01:
./dminit path=/dm/data/EP01
B机器上初始化库至目录/dm/data/EP02:
./dminit path=/dm/data/EP02
即完成两个主数据库的初始化,然后分别备份两个数据库(建议脱机备份)。本例中采取机器交叉的方式配置两个备数据库,分别对应存放的目录为:
B机器的/dm/data/EP11
A机器的/dm/data/EP22
3、配置主库GRP1_MPP_EP01
3.1 配置 dm.ini 在A机器上配置主库的实例名为GRP1_MPP_EP01,dm.ini参数修改如下
#实例名,建议使用―组名_守护环境_序号‖的命名方式,总长度不能超过16
INSTANCE_NAME = GRP1_MPP_EP01
PORT_NUM = 5236 #数据库实例监听端口
DW_INACTIVE_INTERVAL = 60 #接收守护进程消息超时时间
ALTER_MODE_STATUS = 0 #不允许手工方式修改实例模式/状态/OGUID
ENABLE_OFFLINE_TS = 2 #不允许备库OFFLINE表空间
MAL_INI = 1 #打开MAL系统
ARCH_INI = 1 #打开归档配置
MPP_INI = 1 #启用MPP配置
RLOG_SEND_APPLY_MON = 64 #统计最近64次的日志发送信息
3.2 配置dmmal.ini
配置MAL系统,各主备库的dmmal.ini配置必须完全一致,MAL_HOST使用内部网络IP,MAL_PORT与dm.ini中PORT_NUM使用不同的端口值,MAL_DW_PORT是各实例
对应的守护进程之间,以及守护进程和监视器之间的通信端口,配置如下:
MAL_CHECK_INTERVAL = 5 #MAL链路检测时间间隔
MAL_CONN_FAIL_INTERVAL = 5 #判定MAL链路断开的时间
[MAL_INST1]
MAL_INST_NAME = GRP1_MPP_EP01 #实例名,和dm.ini中的INSTANCE_NAME一致
MAL_HOST = 192.168.46.141 #MAL系统监听TCP连接的IP地址
MAL_PORT = 5337 #MAL系统监听TCP连接的端口
MAL_INST_HOST = 10.90.10.2 #实例的对外服务IP地址
MAL_INST_PORT = 5236 #实例的对外服务端口,和dm.ini中的PORT_NUM一致
MAL_DW_PORT = 5253 #实例对应的守护进程监听TCP连接的端口
MAL_INST_DW_PORT = 5243 #实例监听守护进程TCP连接的端口
[MAL_INST2]
MAL_INST_NAME = GRP2_MPP_EP02
MAL_HOST = 192.168.46.144
MAL_PORT = 5337
MAL_INST_HOST = 10.90.10.3
MAL_INST_PORT = 5236
MAL_DW_PORT = 5253
MAL_INST_DW_PORT = 5243
[MAL_INST3]
MAL_INST_NAME = GRP1_MPP_EP11
MAL_HOST = 192.168.46.144
MAL_PORT = 5338
MAL_INST_HOST = 10.90.10.3
MAL_INST_PORT = 5237
MAL_DW_PORT = 5254
MAL_INST_DW_PORT = 5244
[MAL_INST4]
MAL_INST_NAME = GRP2_MPP_EP22
MAL_HOST = 192.168.46.141
MAL_PORT = 5338
MAL_INST_HOST = 10.90.10.2
MAL_INST_PORT = 5237
MAL_DW_PORT = 5254
MAL_INST_DW_PORT = 5244
3.3 配置 dmarch.ini(实时归档)
修改dmarch.ini,配置实时归档。
除了本地归档外,其他归档配置项中的ARCH_DEST表示实例是Primary模式时,需要同步归档数据的目标实例名。当前实例GRP1_MPP_EP01是主库,需要向MPP备库GRP1_MPP_EP11同步数据,因此实时归档的ARCH_DEST配置为GRP1_MPP_EP11。
[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME #实时归档类型
ARCH_DEST = GRP1_MPP_EP11 #实时归档目标实例名
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL #本地归档类型
ARCH_DEST = /dm/data/EP01/DAMENG/arch #本地归档文件存放路径
ARCH_FILE_SIZE = 128 #单位Mb,本地单个归档文件最大值
ARCH_SPACE_LIMIT = 0 #单位Mb,0表示无限制,范围1024~4294967294
3.4 配置dmmpp.ctl
dmmpp.ctl 是二进制文件,由 dmmpp.ini 文本通过 dmctlcvt 工具转换而来, dmmpp.ini配置项如下表:
表3.1 dmmpp.ini配置项
|
配置项 |
配置含义 |
|
[SERVICE_NAME] |
标识每个实例的选项名 |
|
MPP_SEQ_NO |
实例在MPP系统内的序号 |
|
MPP_INST_NAME |
节点实例名 |
本例中两节点的dmmpp.ini配置如下:
[service_name1]
mpp_seq_no = 0
mpp_inst_name = GRP1_MPP_EP01
[service_name2]
mpp_seq_no = 1
mpp_inst_name = GRP2_MPP_EP02
转换命令如下:
./dmctlcvt TYPE=2 SRC=/dm/data/EP01/DAMENG/dmmpp.ini DEST=/dm/data/EP01/DAMENG/dmmpp.ctl
3.5 启动主库
以Mount方式启动主库。
./dmserver /dm/data/EP01/DAMENG/dm.ini mount
3.6 设置 OGUID
启动命令行工具DIsql,使用MPP类型为 LOCAL方式,登录主库设置OGUID值。登陆命令如下:
./disql SYSDBA/SYSDBA*local@localhost:5236
设置OGUID值
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
SQL>sp_set_oguid(45330);
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
更改数据库模式
alter database primary;
4、配置主库GRP2_MPP_EP02
4.1 配置 dm.ini 在B机器上配置主库的实例名为GRP2_MPP_EP02,dm.ini参数修改如下:
#实例名,建议使用―组名_守护环境_序号‖的命名方式,总长度不能超过16
INSTANCE_NAME = GRP2_MPP_EP02
PORT_NUM = 5236 #数据库实例监听端口
DW_INACTIVE_INTERVAL = 60 #接收守护进程消息超时时间
ALTER_MODE_STATUS = 0 #不允许手工方式修改实例模式/状态/OGUID
ENABLE_OFFLINE_TS = 2 #不允许备库OFFLINE表空间
MAL_INI = 1 #打开MAL系统
ARCH_INI = 1 #打开归档配置
MPP_INI = 1 #启用MPP配置
RLOG_SEND_APPLY_MON = 64 #统计最近64次的日志发送信息
4.2 配置dmmal.ini
直接将 A 机器上实例 GRP1_MPP_EP01 配置的 dmmal.ini 拷贝到/dm/data/EP02/DAMENG目录中。
4.3 配置 dmarch.ini(实时归档)
修改dmarch.ini,配置实时归档。
除了本地归档外,其他归档配置项中的ARCH_DEST表示实例是Primary模式时,需要同步归档数据的目标实例名。当前实例GRP2_MPP_EP02是主库,需要向MPP备库GRP2_MPP_EP22同步数据,因此实时归档的ARCH_DEST配置为GRP2_MPP_EP22。
[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME #实时归档类型
ARCH_DEST = GRP2_MPP_EP22 #实时归档目标实例名
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL #本地归档类型
ARCH_DEST = /dm/data/EP02/DAMENG/arch #本地归档文件存放路径
ARCH_FILE_SIZE = 128 #单位Mb,本地单个归档文件最大值
ARCH_SPACE_LIMIT = 0 #单位Mb,0表示无限制,范围1024~4294967294M
4.4 配置dmmpp.ctl
同3.4 配置dmmpp.ctl,拷贝dmmpp.ctl到/dm/data/EP02/DAMENG目录即可。
4.5 启动主库
以Mount方式启动主库。
./dmserver /dm/data/EP02/DAMENG/dm.ini mount
4.6 设置 OGUID
启动命令行工具DIsql,使用MPP类型为 LOCAL方式,登录主库设置OGUID值。登陆命令如下:
./disql SYSDBA/SYSDBA*local@localhost:5236
设置OGUID值
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
SQL>sp_set_oguid(45331);
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
更改数据库模式
alter database primary;
/********未完成*********/
达梦数据库_DM8配置MPP主备的更多相关文章
- 达梦数据库_DM8配置实时主备
1.环境说明 准备三台机器DM_HD1.DM_HD11.DM_SH,DM_HD1和DM_HD11用来部署主备库,DM_SH用来部署确认监视器.其中DM_HD1和DM_HD11配置两块网卡,一块接入内部 ...
- 国产达梦数据库的结合Enterprise Library的应用开发
在上篇<基于Enterprise Library的Winform开发框架实现支持国产达梦数据库的扩展操作>介绍了如何在Enterprise Library的数据访问层上支持这种神秘的国产数 ...
- 达梦数据库(DM8)大规模并行集群MPP 2节点安装部署
达梦数据库大规模并行集群MPP 2节点安装部署 1.环境准备 os 数据库版本 ip mpp角色 centos7.x86 DM8 192.168.30.100 mpp1 centos7.x86 ...
- [转帖]达梦数据库(DM6)和ORACLE 10g的异同点
达梦数据库(DM6)和ORACLE 10g的异同点 https://bbs.aliyun.com/detail/351337.html 花花浪子 级别: 小白 发帖 0 云币 -41 加关注 ...
- 达梦数据库产品支持技术学习分享_Week2
本周主要从以下几个方面进行本人对达梦数据库学习的分享,学习进度和学习情况因人而异,仅供参考. 一.文本命令行工具使用的方法(Disql和dmfldr) 二.数据库备份 三.定时作业功能 四.系统表和动 ...
- Linux部署达梦数据库(完全版)
环境准备 数据库下载去http://www.dameng.com 1.下载好达梦数据库iso上传(通过xftp)到你自己存在的目录(/opt) 2.将你上传的iso文件挂载到其它的目录下面(mount ...
- 在Windows Azure上配置VM主备切换(1)——Linux篇
对任何一个上线系统来说,高可用设计是不可或缺的一个环节,这样才可以确保应用可以持续.稳定的运行,而不是频繁的掉线.停机.高可用设计的核心思路很简单,就是消除一切单点故障,将单点链路或者节点升级为多点. ...
- DB 查询分析器 6.03 如何灵活、快捷地操作国产达梦数据库
DB 查询分析器 6.03 如何灵活.快捷地操作国产达梦数据库 马根峰 (广东联合电子服务股份有限公司, 广州 510300) 摘要 本文详细地介绍了"万能数据库查询分析器&qu ...
- 达梦数据库DM7小结
除了很多主流的数据库,我们很熟悉之外,越来越多的国产数据库也涌现出来. 这次就小结一些有关武汉的达梦数据库7这个开发版数据库的有别或者需要注意的地方进行一个简单备注吧. 1.第一件大事就是下载.数据库 ...
随机推荐
- 石子合并(区间dp典型例题)
Description 有n堆石子排成一行,每次选择相邻的两堆石子,将其合并为一堆,记录该次合并的得分为两堆石子个数之和.已知每堆石子的石子个数,求当所有石子合并为一堆时,最小的总得分. Input ...
- 编写第一个 .NET 微服务
介绍 本文的目的是:通过创建一个返回列表的简单服务,并在 Docker 容器中运行该服务,让您熟悉使用 .NET 创建微服务的构建过程. 安装 .NET SDK 要开始构建 .NET 应用程序,首先下 ...
- AWD攻防技战法
round1 弱口令 cat /etc/passwd 查看用户信息 修改用户密码(passwd username) 通过ssh弱口令批量getshell (通过msf的auxiliary/sca ...
- TouchAction实现连续滑动设置手势密码
首先使用工具获取到元素坐标位置,可以看到起始位置是[144,462],终点位置是[576,894] 分析: 该图形可以横竖划分六等分 那么第一个圆中心点的坐标: x=144+(576-144)/6 y ...
- Hadoop演进与Hadoop生态
1.了解对比Hadoop不同版本的特性,可以用图表的形式呈现. (1)0.20.0~0.20.2: Hadoop的0.20分支非常稳定,虽然看起来有些落后,但是经过生产环境考验,是 Hadoop历史上 ...
- 2.Buffer详解
- Flutter学习四之实现一个支持刷新加载的列表
上一篇文章用Scaffold widget搭建了一个带底部导航栏的的项目架构,这篇文章就来介绍一下在flutter中怎么实现一个带下拉刷新和上拉加载更多的一个列表,这里用到了pull_to_refre ...
- MySQL必知必会(1-12章)
第一章:了解SQL 数据库基础:(概念) 数据库软件: DBMS(数据库管理系统) 数据库: 通过DBMS创建和操纵的容器: 保存有组织的数据的容器-->通常是一个文件或者一组文件: 表: 某种 ...
- 有关java反射的几个小方法的作用和区别
1.Class类中 getXXX()和getDeclaredXXX()的作用和区别: 前者获取某个类的所有公共(public)的字段(or方法or构造函数),包括父类.后者获取所有的字段(or方法or ...
- 如何使用 C# 中的 ValueTask
在 C# 中利用 ValueTask 避免从异步方法返回 Task 对象时分配 翻译自 Joydip Kanjilal 2020年7月6日 的文章 <How to use ValueTask i ...