【达梦数据库】两地三中心环境总结
目录
- 架构
- 监视器位置
- 异步备库同步频率配置:dmtimer.ini
- 断网测试
- 异地切换过程&回切:允许丢数据模式
- 切换
- 回切
架构
2(1主1实时备库)+1(实时备库)+1(异步备库),分别为节点1、2、3、4
监视器位置
生产环境放在异地的异步备库上
异步备库同步频率配置:dmtimer.ini
TYPE= 10
FREQ_MONTH_WEEK_INTERVAL=
FREQ_SUB_INTERVAL=
FREQ_MINUTE_INTERVAL=
REPEAT_INTERVAL= FREQ=SECONDLY;INTERVAL=1
START_TIME = 00:00:00
END_TIME = 00:00:00
DURING_START_DATE= 2023-10-23 19:30:00
DURING_END_DATE= 9999-12-31 23:59:59
NO_END_DATE_FLAG= 1
DESCRIBE= RT TIMER
IS_VALID= 1
断网测试
主备自动切换模式心跳网断开测试:
1、DW1为主时,关闭DW1的心跳网,DW1自动shutdown,监视器执行切换流程,备库DW2接管为主库。恢复DW1与心跳网后,DW1以备库模式加入集群。
2、继续上个步骤后的测试,DW2为主时,关闭DW2心跳网,DW2 suppend挂起,监视器执行切换流程,备库DW1接管为主库,恢复心跳网后,DW2自动shutdown,再次开启DW2 自动以备库模式加入集群。
异地切换过程&回切:允许丢数据模式
切换
1、kill -9 本地(节点1、节点2)+同城(节点3)数据库实例
2、将异地备库切换为主库对外提供服务,
2.1、关闭数据守护服务:/data/dmdata/dmwatcher4_0/bin/DmWatcherServiceEP04.sh stop
2.2、更改数据库状态为MOUNT:
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
ALTER DATABASE MOUNT;
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
2.3、更改数据库模式为PRIMARY::
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
ALTER DATABASE PRIMARY;
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
2.4、开启数据守护服务:/data/dmdata/dmwatcher4_0/bin/DmWatcherServiceEP04.sh start
回切
1、停止数据库、物理备份、物理还原
1.1、停止数据库
数据守护服务:/data/dmdata/dmwatcher4_0/bin/DmWatcherServiceEP04.sh stop
数据库服务:/data/dmdata/dmwatcher4_0/bin/DmServiceEP04.sh stop
1.2、物理备份
dmrman use_ap=2
backup database '/data/dmdata/dmwatcher4_0/EP04/DAMENG/dm.ini' backupset '/data/dmdata/bakfull';
1.3、物理还原
节点1:
dmrman
restore database '/data/dmdata/dmwatcher4_0/EP01/DAMENG/dm.ini' from backupset '/data/dmdata/bakfull';
recover database '/data/dmdata/dmwatcher4_0/EP01/DAMENG/dm.ini' from backupset '/data/dmdata/bakfull';
recover database '/data/dmdata/dmwatcher4_0/EP01/DAMENG/dm.ini' update db_magic;
节点2:
dmrman
restore database '/data/dmdata/dmwatcher4_0/EP02/DAMENG/dm.ini' from backupset '/data/dmdata/bakfull';
recover database '/data/dmdata/dmwatcher4_0/EP02/DAMENG/dm.ini' from backupset '/data/dmdata/bakfull';
recover database '/data/dmdata/dmwatcher4_0/EP02/DAMENG/dm.ini' update db_magic;
节点3:
dmrman
restore database '/data/dmdata/dmwatcher4_0/EP03/DAMENG/dm.ini' from backupset '/data/dmdata/bakfull';
recover database '/data/dmdata/dmwatcher4_0/EP03/DAMENG/dm.ini' from backupset '/data/dmdata/bakfull';
recover database '/data/dmdata/dmwatcher4_0/EP03/DAMENG/dm.ini' update db_magic;
2、启动数据库服务,更改节点模式
2.1、启动数据库服务:
节点1:
/data/dmdata/dmwatcher4_0/bin/DmServiceEP01.sh start
节点2:
/data/dmdata/dmwatcher4_0/bin/DmServiceEP02.sh start
节点3:
/data/dmdata/dmwatcher4_0/bin/DmServiceEP03.sh start
节点4:
/data/dmdata/dmwatcher4_0/bin/DmServiceEP04.sh start
2.2、更改数据库模式:
节点1:
disql SYSDBA/SYSDBA
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
ALTER DATABASE PRIMARY;
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
节点2、3、4:
disql SYSDBA/SYSDBA
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
ALTER DATABASE STANDBY;
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
3、启动数据守护服务:
节点1:
/data/dmdata/dmwatcher4_0/bin/DmWatcherServiceEP01.sh start
节点2:
/data/dmdata/dmwatcher4_0/bin/DmWatcherServiceEP02.sh start
节点3:
/data/dmdata/dmwatcher4_0/bin/DmWatcherServiceEP03.sh start
节点4:
/data/dmdata/dmwatcher4_0/bin/DmWatcherServiceEP04.sh start
相关文章:
【达梦数据库】两地三中心环境总结
目录 架构监视器位置异步备库同步频率配置:dmtimer.ini断网测试异地切换过程&回切:允许丢数据模式切换回切 架构 2(1主1实时备库)1(实时备库)1(异步备库),分别为节点1、2、3、4监视器位置 …...
【springboot 集成 mybatis-plus】
springboot 集成 mybatis-plus 前言实战代码生成器自动填充字段 前言 正如MyBatis-Plus官网所说,MyBatis-Plus 是一个 MyBatis 的增强工具,提供了强大的CRUD操作,支持主键自动生成,代码生成器,自动填充字段等等&#…...
深入浅出 Go语言并发安全字典 sync.Map:原理、使用与优化
深入浅出 Go语言并发安全字典 sync.Map:原理、使用与优化 背景介绍 Go语言作为一种高效的并发编程语言,其标准库中提供了丰富的并发工具,如sync.WaitGroup、sync.Mutex等。然而,在实际开发中,我们经常需要在多个goroutine之间共享数据,这就涉及到并发安全的问题。传统的…...
【Go】Go数据类型详解—指针
1. 前言 在我看来,一门编程语言语法的核心就在于数据类型。而各类编程语言的基本数据类型大致相同:int整型、float浮点型、string字符串类型、bool布尔类型,但是在一些进阶数据类型上就有所不同了。本文将会介绍Go语言当中核心的数据类型——…...
道格拉斯-普克算法(DP)轮廓点精简(Python)
1、介绍 道格拉斯-普克算法由David H. Douglas和Thomas K. Peucker于1973年提出,主要用于简化曲线或折线。而实际中,激光点云的边缘点非常粗糙,如果直接将点进行连接,锯齿问题严重。经过DP算法处理后,数据显示会比较光…...
WPF如何跨线程更新界面
WPF如何跨线程更新界面 在WPF中,类似于WinForms,UI控件只能在UI线程(即主线程)上进行更新。WPF通过Dispatcher机制提供了跨线程更新UI的方式。由于WPF的界面基于Dispatcher线程模型,当你在非UI线程(例如后…...
Ubuntu 24.04 LTS 服务器折腾集
目录 Ubuntu 更改软件源Ubuntu 系统语言英文改中文windows 远程链接 Ubuntu 图形界面Windows 通过 openssh 连接 UbuntuUbuntu linux 文件权限Ubuntu 空闲硬盘挂载到 文件管理器的 other locationsUbuntu 开启 SMB 服务,并通过 windows 访问Ubuntu安装Tailscale&am…...
ROS机器人学习和研究的势-道-术-转型和变革的长期主义习惯
知易行难。说说容易做到难。 例如,不受成败评价影响,坚持做一件事情10年以上,专注事情本身。 机器人专业不合格且失败讲师如何让内心保持充盈的正能量(节选)-CSDN博客 时间积累 注册20年。 创作历程10年。 创作10年…...
Linux 管道操作
Linux 管道操作 在 Linux 中,管道(Pipe)是一个非常强大且常用的功能,它允许将一个命令的输出直接传递给另一个命令作为输入,从而能够高效地处理和分析数据。管道在多个命令之间建立数据流,减少了文件的读写…...
【Python】深入探讨Python中的单例模式:元类与装饰器实现方式分析与代码示例
《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 单例模式(Singleton Pattern)是一种常见的设计模式,它确保一个类只有一个实例&…...
imbinarize函数用法详解与示例
一、函数概述 众所周知,im2bw函数可以将灰度图像转换为二值图像。但MATLAB中还有一个imbinarize函数可以将灰度图像转换为二值图像。imbinarize函数是MATLAB图像处理工具箱中用于将灰度图像或体数据二值化的工具。它可以通过全局或自适应阈值方法将灰度图像转换为二…...
【NextJS】PostgreSQL 遇上 Prisma ORM
NextJS 数据库 之 遇上Prisma ORM 前言一、环境要求二、概念介绍1、Prisma Schema Language(PSL) 结构描述语言1.1 概念1.2 组成1.2.1 Data Source 数据源1.2.2 Generators 生成器1.2.3 Data Model Definition 数据模型定义字段(数据)类型和约束关系&…...
ASP.NET Core - 配置系统之配置提供程序
ASP.NET Core - 配置系统之配置提供程序 3. 配置提供程序3.1 文件配置提供程序3.1.1 JSON配置提供程序3.1.2 XML配置提供程序3.1.3 INI配置提供程序 3.2 环境变量配置提供程序3.3 命令行配置提供程序3.4 内存配置提供程序3.5 配置加载顺序 3.6 默认配置来源 3. 配置提供程序 前…...
【LeetCode: 215. 数组中的第K个最大元素 + 快速选择排序】
🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…...
【Flink系列】10. Flink SQL
10. Flink SQL Table API和SQL是最上层的API,在Flink中这两种API被集成在一起,SQL执行的对象也是Flink中的表(Table),所以我们一般会认为它们是一体的。Flink是批流统一的处理框架,无论是批处理(…...
JavaScript网页设计案例-JavaScript实现数据脱敏的几种解决方式
数据脱敏是指对数据进行处理,使其在不改变原始数据含义的前提下,降低数据泄露的风险,保护用户隐私。 案例:JavaScript实现数据脱敏 1. 掩码脱敏 掩码脱敏是通过替换或隐藏数据中的部分字符来达到脱敏的效果。常见的掩码方式包括…...
第12篇:从入门到精通:掌握python高级函数与装饰器
第12篇:高级函数与装饰器 内容简介 本篇文章将深入探讨Python中的高级函数与装饰器。您将学习什么是高阶函数,掌握常用的高阶函数如map、filter、reduce的使用方法;理解闭包的概念及其应用;深入了解装饰器的定义与使用ÿ…...
审计文件标识作为水印打印在pdf页面边角
目录 说明 说明 将审计文件的所需要贴的编码直接作为水印贴在页面四个角落,节省辨别时间 我曾经写过一个给pdf页面四个角落加上文件名水印的python脚本,现在需要加一个图形界面进一步加强其实用性。首先通过路径浏览指定文件路径,先检测该路…...
leetcode416.分割等和子集
给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 示例 1: 输入:nums [1,5,11,5] 输出:true 解释:数组可以分割成 [1, 5, 5] 和 [11] 。 示例 2&…...
使用docker-compose安装ELK(elasticsearch,logstash,kibana)并简单使用
首先服务器上需要安装docker已经docker-compose,如果没有,可以参考我之前写的文章进行安装。 https://blog.csdn.net/a_lllk/article/details/143382884?spm1001.2014.3001.5502 1.下载并启动elk容器 先创建一个网关,让所有的容器共用此网…...
利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...
C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
Linux 文件类型,目录与路径,文件与目录管理
文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)
HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...
MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...
基于当前项目通过npm包形式暴露公共组件
1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...
使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装
以下是基于 vant-ui(适配 Vue2 版本 )实现截图中照片上传预览、删除功能,并封装成可复用组件的完整代码,包含样式和逻辑实现,可直接在 Vue2 项目中使用: 1. 封装的图片上传组件 ImageUploader.vue <te…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...
C# 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
