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

news2024/11/18 21:37:56

目录

动态增加实时备库

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.coloradmin.cn/o/1882339.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

windows离线安装显卡驱动解决方案

前言 我们说这个离线泛指计算机无公网环境,而我们需要将显卡驱动打上,既然没有公网,我们就无法使用联网的方式(傻瓜式安装),受各种原因限制,也不可以把主机搬走连上互联网进行安装。总之…

导入tidb时将数据库表导出为多张csv格式

DBeaver: 步骤: 确定目标库——>工具——>创建新任务 NEXT Navicat:

AQS同步队列、条件队列源码解析

AQS详解 前言AQS几个重要的内部属性字段内部类 Node同步队列 | 阻塞队列等待队列 | 条件队列 重要方法执行链同步队列的获取、阻塞、唤醒加锁代码流程解锁 条件队列的获取、阻塞、唤醒大体流程 调用await()方法1. 将节点加入到条件队列2. 完全释放独占锁3. 等待进入阻塞队列4. …

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

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

UVa1321/LA2925 Dice contest

UVa1321/LA2925 Dice contest 题目链接题意分析测试数据AC 代码 题目链接 本题是2003年icpc欧洲区域赛中欧赛区的D题 题意 骰子的六面展开图如下,现在把骰子的六个面赋予一套权重 w i ( 1 ≤ w i ≤ 50 , 1 ≤ i ≤ 6 ) w_i(1\le w_i \le 50,1\le i\le 6) wi​(1≤…

如何选择适合您业务需求的多语言跨境电商系统源码

随着互联网技术的飞速发展和全球市场的日益融合,多语言跨境电商已经成为许多企业进军国际市场的重要战略。在这个竞争激烈的时代,拥有一个适合自己业务需求的多语言跨境电商系统源码至关重要。本篇文章将为您揭秘如何选择适合您业务需求的多语言跨境电商…

奥威BI零售数据分析的小心机:多维动态分析

多维动态分析,顾名思义,就是在多个维度上对数据进行灵活的、动态的分析。在零售业务中,这些维度可能包括商品、时间、地区、顾客群体等。奥威BI数据可视化工具凭借强大的数据处理和数据可视化能力,将这些维度巧妙地融合在一起&…

【Python画图-驯化01】一文叫你搭建python画图最优环境配置

【Python画图-循环01】一文叫你搭建python画图最优环境配置 本次修炼方法请往下查看 🌈 欢迎莅临我的个人主页 👈这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合,智慧小天地! 🎇 免费获取相关内容文档关注&#…

一文get懂kwai短视频助力巴西博弈slots游戏广告优势

一文get懂kwai短视频助力巴西博弈slots游戏广告优势 在数字化时代,短视频广告凭借其独特的魅力和高效的传播方式,成为了各大品牌进行营销推广的重要手段。特别是在巴西这个充满活力的国家,kwai短视频广告以其独特的方式,为博弈游…

交友系统定制版源码| 相亲交友小程序源码全开源可二开_打造独特的社交交友系统

交友系统源码的实现涉及到多个方面,包括前端页面设计、后端逻辑处理、数据库设计以及用户交互等。以下是一个简单的交友系统源码实现的基本框架和关键步骤: 1.数据库设计:用户表:存储用户基本信息,如用户ID、用户名、密码、头像、性别、年龄、地理位置等…

探索NVIDIA A100 显卡 如何手搓A100显卡

NVIDIA A100 显卡(GPU)是基于NVIDIA的Ampere架构设计的高性能计算和人工智能任务的处理器。 A100显卡主要由以下几种关键芯片和组件组成: 1. GPU芯片 NVIDIA GA100 GPU: 核心组件,是整个显卡的核心处理单元。GA100芯…

数字IC设计-VCS和Verdi的使用

#学习记录# 前言:本文以一个简单的计数器来说明vcs和verdi的使用 1 代码文件 1.1 计数器代码 //Engineer:Mr-pn-junction module counter(input clk,input rst,output reg [5:0] count); always(posedge clk or negedge rst)beginif(!rst)coun…

【鸿蒙学习笔记】Image迭代完备

Image Image($r(app.media.zhibo)).width(96) // 图片宽度.height(96) // 图片高度.borderRadius(12) // 图片圆曲度.objectFit(ImageFit.Fill) // 不明objectFit Column({ space: 20 }) {Row() {Image($r(app.media.startIcon)).width(66).height(66).borderRadius(12)}.bac…

Qt入门小项目 | WPS tab页面(无边框窗口综合应用)

文章目录 一、手写代码实现WPS tab页面 一、手写代码实现WPS tab页面 实现类似WPS tab效果,具体包含: 自定义标题栏:最大、最小、关闭在QTabWidget的tab上增加控件在QTabWidget的tab上右键菜单可拖拽移动可拉伸窗口双击标题栏在最大与正常间…

14-10 AIGC 项目生命周期——第一阶段

生成式 AI 项目生命周期的整个过程类似于从范围、选择、调整和对齐/协调模型以及应用程序集成开始的顺序依赖过程。流程表明每个步骤都建立在前一步的基础上。有必要了解每个阶段对于项目的成功都至关重要。 下面的流程图重点介绍了生成式 AI 项目生命周期的第一阶段 1 — “范…

vue项目创建+eslint+Prettier+git提交规范(commitizen+hooks+husk)

# 步骤 1、使用 vue-cli 创建项目 这一小节我们需要创建一个 vue3 的项目,而创建项目的方式依然是通过 vue-cli 进行创建。 不过这里有一点大家需要注意,因为我们需要使用最新的模板,所以请保证你的 vue-cli 的版本在 4.5.13 以上&#xff…

Android 添加LBS辅助定位

1.软件需求: 某Android设备没有sim卡但其支持定位,客户需求为在已有的Android中添加LBS网络定位,用以辅助gps定位。 2.思路分析 首先看到这个需求笔者是比较懵逼的,秉持着客户是上帝的原则,笔者首先先了解了一下什么…

双向广搜——AcWing 190. 字串变换

双向广搜 定义 双向广搜是图搜索算法的一种变体,与传统的单向广搜不同,它同时从起点和终点(或目标状态)开始进行搜索,直到两个搜索的前沿相遇为止。这种方法可以在某些情况下显著减少搜索空间,尤其是在寻…

安装PyTorch详细过程(个人过程仅供参考)

1.安装anaconda 2.创建一个虚拟环境 以上步骤默认已经完毕,毕竟只是记录pytorch的安装过程 3.查看个人电脑CUDA版本 winr 输入cmd 回车 输入指令 nvidia-smi 右上角为该电脑所支持的最高CUDA版本 输入命令 nvcc -V 图中即为该电脑所安装的CUDA版本 记住该版…

为什么安装了SSL证书还是不能HTTPS访问?

即便是正确安装了SSL证书,有时网站仍然无法通过HTTPS正常访问,这背后可能隐藏着多种原因。以下是一些常见的问题及解决方案,帮助您排查并解决这一困扰。 PC点此申请:SSL证书申请_https证书下载-极速签发 注册填写注册码230918&a…