达梦数据库系列—19. 动态增加实时备库

目录

动态增加实时备库

1、数据准备

2 、配置新备库

2.1配置 dm.ini

2.2配置 dmmal.ini

2.3 配置 dmarch.ini

2.4 配置 dmwatcher.ini

2.5 启动备库

2.6 设置 OGUID

2.7 修改数据库模式

3、 动态添加 MAL 配置

4、 动态添加归档配置

5、 修改监视器 dmmonitor.ini

6、 启动所有守护进程以及监视器


先搭建好实时主备集群,参考:

17. 配置主备集群-实时主备

动态增加实时备库

增加一个备库,实例名为 GRP1_RT_03。

配置环境

机器名

IP 地址

初始状态

操作系统

备注

DW_S2

192.168.64.133 192.168.169.143

备库 GRP1_RT_03

Linux rh7 x86_64

192.168.64.133 外部服务 IP; 192.168.169.143 内部通信 IP

1、数据准备

   对主库进行联机备份操作:

SQL> BACKUP DATABASE BACKUPSET '/dm/data/BACKUP_FILE_02';
  1. 初始化备机数据库
./dminit path=/dm/data/
  1. 还原恢复新增备库

拷贝生成的备份集目录 BACKUP_FILE_02 到 143 上/dm/data/目录,使用 DMRMAN 工具脱机还原。

./dmrman CTLSTMT="RESTORE DATABASE '/dm/data/DAMENG/dm.ini' FROM BACKUPSET '/dm/data/BACKUP_FILE_02'"
./dmrman CTLSTMT="RECOVER DATABASE '/dm/data/DAMENG/dm.ini' FROM BACKUPSET '/dm/data/BACKUP_FILE_02'"
./dmrman CTLSTMT="RECOVER DATABASE '/dm/data/DAMENG/dm.ini' UPDATE DB_MAGIC"

2 、配置新备库

2.1配置 dm.ini

在 DW_S3 机器上配置备库的实例名为 GRP1_RT_03

##实例名,建议使用“组名_守护环境_序号”的命名方式,总长度不能超过16


INSTANCE_NAME = GRP1_RT_03


PORT_NUM = 32143 ##数据库实例监听端口


DW_INACTIVE_INTERVAL = 60 ##接收守护进程消息超时时间


ALTER_MODE_STATUS = 0 ##不允许手工方式修改实例模式/状态/OGUID


ENABLE_OFFLINE_TS = 2 ##不允许备库OFFLINE表空间


MAL_INI = 1 ##打开MAL系统


ARCH_INI = 1 ##打开归档配置


RLOG_SEND_APPLY_MON = 64 ##统计最近64次的日志重演信息
2.2配置 dmmal.ini

拷贝一份原系统dmmal.ini文件,并加上自己一项,最终配置如下:

MAL_CHECK_INTERVAL = 5 ##MAL链路检测时间间隔


MAL_CONN_FAIL_INTERVAL = 5 ##判定MAL链路断开的时间


[MAL_INST1]


MAL_INST_NAME = GRP1_RT_01 ##实例名,和dm.ini中的INSTANCE_NAME一致


MAL_HOST = 192.168.169.141 ##MAL系统监听TCP连接的IP地址


MAL_PORT = 61141 ##MAL系统监听TCP连接的端口


MAL_INST_HOST = 192.168.64.131  ##实例的对外服务IP地址


MAL_INST_PORT = 32141 ##实例的对外服务端口,和dm.ini中的PORT_NUM一致


MAL_DW_PORT = 52141 ##实例本地的守护进程监听TCP连接的端口


MAL_INST_DW_PORT = 33141 ##实例监听守护进程TCP连接的端口


[MAL_INST2]


MAL_INST_NAME = GRP1_RT_02


MAL_HOST = 192.168.169.142


MAL_PORT = 61142


MAL_INST_HOST = 192.168.64.132


MAL_INST_PORT = 32142


MAL_DW_PORT = 52142


MAL_INST_DW_PORT = 33142


[MAL_INST3]


MAL_INST_NAME = GRP1_RT_03


MAL_HOST = 192.168.169.143


MAL_PORT = 61143


MAL_INST_HOST = 192.168.64.133


MAL_INST_PORT = 32143


MAL_DW_PORT = 52143


MAL_INST_DW_PORT = 33143
2.3 配置 dmarch.ini
[ARCHIVE_REALTIME]


ARCH_TYPE = REALTIME ##实时归档类型


ARCH_DEST = GRP1_RT_01 ##实时归档目标实例名


[ARCHIVE_REALTIME2]


ARCH_TYPE = REALTIME ##实时归档类型


ARCH_DEST = GRP1_RT_02 ##实时归档目标实例名


[ARCHIVE_LOCAL1]


ARCH_TYPE = LOCAL ##本地归档类型


ARCH_DEST = /dm/data/DAMENG/arch ##本地归档文件存放路径


ARCH_FILE_SIZE = 128 ##单位Mb,本地单个归档文件最大值


ARCH_SPACE_LIMIT = 0 ##单位Mb,0表示无限制,范围1024~4294967294M
2.4 配置 dmwatcher.ini
[GRP1]


DW_TYPE = GLOBAL ##全局守护类型


DW_MODE = AUTO ##自动切换模式


DW_ERROR_TIME = 10 ##远程守护进程故障认定时间


INST_RECOVER_TIME = 60 ##主库守护进程启动恢复的间隔时间


INST_ERROR_TIME = 10 ##本地实例故障认定时间


INST_OGUID = 453331 ##守护系统唯一OGUID值


INST_INI = /dm/data/DAMENG/dm.ini ##dm.ini配置文件路径


INST_AUTO_RESTART = 1 ##打开实例的自动拉起功能


INST_STARTUP_CMD = /dm/bin/dmserver ##命令行方式启动


RLOG_SEND_THRESHOLD = 0 ##指定主库发送日志到备库的时间阈值,默认关闭


RLOG_APPLY_THRESHOLD = 0 ##指定备库重演日志的时间阈值,默认关闭
2.5 启动备库

以 Mount 方式启动备库

./dmserver /dm/data/DAMENG/dm.ini mount
2.6 设置 OGUID
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

SQL>sp_set_oguid(453331);

SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
2.7 修改数据库模式
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

SQL>alter database standby;

SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

3、 动态添加 MAL 配置

分别连接原系统中每个实例单独执行:

动态增加 MAL 中 GRP1_RT_03 的相关配置信息:

SF_MAL_CONFIG(1,0);

SF_MAL_INST_ADD('MAL_INST3','GRP1_RT_03','192.168.169.143',61143,'192.168.64.133',32143,52143,0,33143);

SF_MAL_CONFIG_APPLY();

SF_MAL_CONFIG(0,0);

4、 动态添加归档配置

1.关闭守护进程和监视器

动态添加归档要求数据库处于 MOUNT 状态,守护进程处于活动状态下不允许用户手动修改模式状态,因此需要先关闭守护进程,同时也是为了防止手动切换 MOUNT 状态后又被守护进程通知自动 Open,另外监视器配置也需要修改,因此在这里一并关闭。

  1. 关闭监视器
  2. 关闭备库守护进程
  3. 关闭主库守护进程
  1. 手动修改原系统中所有实例为 MOUNT 状态

必须先修改主库,再修改备库,否则可能会引发主备数据同步失败导致主库挂起。

//临时修改ALTER_MODE_STATUS,允许用户手动修改模式状态,动态添加完毕后需要再改回原值

SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1); 

//临时关闭守护进程活动状态检测,允许用户手动修改模式状态,动态添加完毕后需要再改回原值

SQL> SP_SET_PARA_VALUE(1, 'DW_INACTIVE_INTERVAL', 0);

//修改数据库为MOUNT状态

SQL> ALTER DATABASE MOUNT;
  1. 动态添加归档节点

分别连接原系统中的所有实例,动态添加 dmarch.ini 中归档节点。

SQL> ALTER DATABASE ADD ARCHIVELOG 'DEST= GRP1_RT_03, TYPE= REALTIME';
  1. 手动修改原系统中所有实例为 OPEN 状态

必须先修改备库,再修改主库,否则可能会引发主备数据同步失败导致主库挂起。

//修改数据库为OPEN状态

SQL> ALTER DATABASE OPEN FORCE;

//将ALTER_MODE_STATUS改回原值
 

SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

//将DW_INACTIVE_INTERVAL改回原值,本例中为60

SQL> SP_SET_PARA_VALUE(1, 'DW_INACTIVE_INTERVAL', 60);

5、 修改监视器 dmmonitor.ini

在 dmmonitor.ini 中添加新增的备库 GRP1_RT_03:

MON_DW_IP = 192.168.169.143:52143

6、 启动所有守护进程以及监视器

分别启动主库和备库(包括 GRP1_RT_03)的所有守护进程,最后启动监视器。达梦技术社区:https://eco.dameng.com/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/761514.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

软考初级网络管理员__网站单选题

1.以下关于服务器端脚本的说法中,正确的是()。 Script 编写 只能采用VBScript 编写 浏览器不能解释执行 由服务器发送到客户端,客户端负责运行 2.站点首页最常用的文件名是()。 index.html homepage.html resource.html mainfrm.html 3.在HTML…

Vatee万腾平台:引领行业变革,创新未来

在当今这个快速变化的时代,科技的力量正在以前所未有的速度推动着行业的变革。Vatee万腾平台,以其独特的视角和前瞻性的布局,正引领着行业变革的浪潮,创新着未来的发展方向。 Vatee万腾平台是一家专注于科技研发和创新应用的领军企…

面试突击:ConcurrentHashMap 源码详解

本文已收录于:https://github.com/danmuking/all-in-one(持续更新) 前言 哈喽,大家好,我是 DanMu。这篇文章想和大家聊聊 ConcurrentHashMap 相关的知识点。严格来说,ConcurrentHashMap 属于java.lang.cur…

【电源拓扑】PFC

为什么开关电源中都有PFC电路 PFC电路就是功率矫正电路,目的是为了防止杂波对电网产生冲击 AC220V通过整流桥之后电压和电流的波形分析 PFC电路为什么选择是Boost升压电路 PFC电路为什么要把电压升高到400V 为了解决输入电压低于滤波电容电压这个矛盾&#xff0…

LDM-XRNY-102溜槽堵塞开关 JOSEF约瑟 接点容量:5A/380V

工作原理 当物料在溜槽中造成堵塞时,堆积的物料会给溜槽侧壁一个压力,从而推动LDM-XRNY-102溜槽堵塞开关的活动门向外或向内推移(根据具体设计而定)。 当活动门偏转一个设定的角度时,其控制开关会动作,发出…

基于Python的自动化测试框架-Pytest总结-第一弹基础

Pytest总结第一弹基础 入门知识点安装pytest运行pytest测试用例发现规则执行方式命令行执行参数 配置发现规则 如何编写测试Case基础案例断言语句的使用pytest.fail() 和 Exceptions自定义断言函数异常测试测试类形式 pytest的Fixture使用Fixture入门案例使用fixture的Setup、T…

[A133]全志u-boot中的I2C驱动分析

[A133]全志u-boot中的I2C驱动分析 hongxi.zhu 2024-6-27 一、IIC标准读写时序 IIC是高位(MSB)先传输 二、代码流程 2.1主机写数据 brandy/brandy-2.0/u-boot-2018/drivers/i2c/sunxi_i2c.c static int sunxi_i2c_write(struct i2c_adapter *adap, uint8_t chip,uint32_t addr…

深入解析 androidx.databinding.BaseObservable

在现代 Android 开发中,数据绑定 (Data Binding) 是一个重要的技术,它简化了 UI 和数据之间的交互。在数据绑定框架中,androidx.databinding.BaseObservable 是一个关键类,用于实现可观察的数据模型。本文将详细介绍 BaseObservab…

Centos7安装Minio笔记

一、Minio概述 Minio是一款开源的对象存储服务器,可以运行在多种操作系统上,包括Linux、Windows和MacOS等。提供一种简单、可扩展、高可用的对象存储解决方案,支持多种数据格式,包括对象、块和文件等。Minio是一款强大、灵活、可…

基于若依(ruoyi-vue)的周报管理系统

喂wangyinlon 填报人页面 审批人 审批不通过,填报人需要重新填写.

智慧校园新气象:校园气象站

在数字化、智能化的浪潮下,传统校园正在迎来一场革命性的变革。在这场变革中,校园气象站以其独特的功能和魅力,成为推动校园气象科普教育、提升校园品质的重要力量。 一、校园气象站:智慧校园的“气象眼” 校园气象站&#xff0c…

宠物医院管理系统-计算机毕业设计源码07221

目 录 1 绪论 1.1 选题背景和意义 1.2国内外研究现状 1.3论文结构与章节安排 2 宠物医院管理系统系统分析 2.1 可行性分析 2.1.1技术可行性分析 2.1.2 操作可行性分析 2.1.3 法律可行性分析 2.2 系统功能分析 2.2.1 功能性分析 2.2.2 非功能性分析 2.3 系统用例分…

Ansible 最佳实践:现代 IT 运维的利器

Ansible 最佳实践:现代 IT 运维的利器 Ansible 是一种开源的 IT 自动化工具,通过 SSH 协议实现远程节点和管理节点之间的通信,适用于配置管理、应用程序部署、任务自动化等多个场景。本文将介绍 Ansible 的基本架构、主要功能以及最佳实践&a…

为什么80%的码农都做不了架构师?

文章目录 一、技术广度和深度的要求1.1 技术广度1.2 技术深度 二、全局视角和系统思维2.1 全局视角2.2 系统思维 三、沟通能力和团队合作3.1 沟通能力3.2 团队合作 四、业务理解和需求分析4.1 业务理解4.2 需求分析 五、持续学习和创新能力5.1 持续学习5.2 创新能力 六、总结 &…

鸿蒙:页面路由使用

页面路由使用步骤: 1.导入Router模块 2.使用路由功能,以pushUrl模式为例 3.接收参数、返回 4.此时的路由是不能使用的,需要到main_pages.json中进行注册

FFmpeg视频处理工具安装使用

一、前言 FFmpeg是流行的开源视频处理工具,用于转码、合并、编辑等。以下是安装和使用方法: 二、步骤 1.下载 1.1 ffmpeg下载 官网下载地址 wget https://www.ffmpeg.org/releases/ffmpeg-6.1.1.tar.xz1.2 nasm下载 https://www.nasm.us/pub/nasm/…

PHP安龙县农产品销售网站-计算机毕业设计源码13137

目 录 摘要 1 绪论 1.1 研究背景 1.2 研究意义 1.3论文结构与章节安排 2 相关技术介绍 2.1 PHP描述 2.2 MySQL数据库 2.3 Think PHP框架 3网站分析 3.1 可行性分析 3.2 网站流程分析 3.2.1 数据新增流程 3.2.2 数据删除流程 3.3 网站功能分析 3.3.1 功能性分析…

VSCode创建并运行html页面(使用Live Server插件)

目录 一、参考博客二、安装Live Server插件三、新建html页面3.1 选择文件夹3.2 新建html文件3.3 快速生成html骨架 四、运行html页面 一、参考博客 https://blog.csdn.net/zhuiqiuzhuoyue583/article/details/126610162 https://blog.csdn.net/m0_74014525/article/details/13…

偏微分方程算法之抛物型方程差分格式编程示例八(紧交替方向隐格式)

目录 一、研究问题 二、C++代码 三、计算结果 一、研究问题 示例七中采用交替方向格式进行抛物型方程求解,这里继续以紧交替方向隐格式对相同的问题进行求解。 紧交替方向隐格式的原理及推导请参考: 偏微分方程算法之二维初边值问题(紧交替方向隐格式)_二维抛物方程的p…

Kafka-时间轮和延迟操作-源码流程

TimingWheel 字段: buckets:Array.tabulate[TimerTaskList]类型,其每一个项都对应时间轮中的一个时间格,用于保存 TimerTaskList的数组。在TimingWheel中,同一个TimerTaskList中的不同定时任务的到期时间可能 不同&a…