达梦8数据守护动态增加实时备库
实时主备环境
| 类型 | 业务IP | 库名 | 实例名 | PORT_NUM | MAL_HOST | MAL_INST_DW_PORT | MAL_PORT | MAL_DW_PORT |
|---|---|---|---|---|---|---|---|---|
| 主库dm8p | 192.168.1.223 | DAMENG | GRP1_RT_01 | 5236 | 10.0.0.223 | 45101 | 55101 | 65101 |
| 备库dm8s | 192.168.1.224 | DAMENG | GRP1_RT_02 | 5236 | 10.0.0.224 | 45121 | 55121 | 65121 |
| 监视器dwm | 192.168.1.225 | DAMENG | 10.0.0.225 |
新备机环境
新备机器安装数据库软件并初始化实例,数据库名称DAMENG,实例名GRP1_RT_03,这边省略实例的初始化步骤。。。。。
搭建配置
步骤1:登录主库进行联机备份
SQL> BACKUP DATABASE BACKUPSET '/home/dmdba/backup/BACKUP_FILE_01 ';

步骤2:备份文件传输到新的备库系统中
复制备份集到备库:scp -r BACKUP_FILE_01/ 192.168.1.116:/home/dmdba/

停止新备库实例: systemctl start DmServiceGRP1_RT_03.service
步骤3:新备库使用DMRMAN进行脱机还原
$ dmrman CTLSTMT="RESTORE DATABASE '/home/dmdba/dmdbms/data/DAMENG/dm.ini' FROM BACKUPSET '/home/dmdba/BACKUP_FILE_01'"
$ dmrman CTLSTMT="RECOVER DATABASE '/home/dmdba/dmdbms/data/DAMENG/dm.ini' FROM BACKUPSET '/home/dmdba/BACKUP_FILE_01'"
$ dmrman CTLSTMT="RECOVER DATABASE '/home/dmdba/dmdbms/data/DAMENG/dm.ini' UPDATE DB_MAGIC"

步骤4:新备库配置dm.ini
dm.ini
----------
INSTANCE_NAME = GRP1_RT_03
PORT_NUM = 5236
DW_INACTIVE_INTERVAL = 60
ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2
MAL_INI = 1
ARCH_INI = 1
RLOG_SEND_APPLY_MON = 64
步骤5:新备库配置dmmal.ini
生产环境拷贝一份,新增备库内容即可。
MAL_CHECK_INTERVAL = 5
MAL_CONN_FAIL_INTERVAL = 5
[MAL_INST1]
MAL_INST_NAME = GRP1_RT_01
MAL_HOST = 10.0.0.223
MAL_PORT = 55101
MAL_INST_HOST = 192.168.1.223
MAL_INST_PORT = 5236
MAL_DW_PORT = 65101
MAL_INST_DW_PORT = 45101
[MAL_INST2]
MAL_INST_NAME = GRP1_RT_02
MAL_HOST = 10.0.0.224
MAL_PORT = 55121
MAL_INST_HOST = 192.168.1.224
MAL_INST_PORT = 5236
MAL_DW_PORT = 65121
MAL_INST_DW_PORT = 45121[MAL_INST3]
MAL_INST_NAME = GRP1_RT_03
MAL_HOST = 10.0.0.116
MAL_PORT = 55131
MAL_INST_HOST = 192.168.1.116
MAL_INST_PORT = 5236
MAL_DW_PORT = 65131
MAL_INST_DW_PORT = 45131

步骤6:新备库配置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 = /home/dmdba/dmdbms/data/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 10240

步骤7:新备库配置dmwatcher.ini
[GRP1]
DW_TYPE = GLOBAL
DW_MODE = AUTO
DW_ERROR_TIME = 10
INST_RECOVER_TIME = 60
INST_ERROR_TIME = 10
INST_OGUID = 453331
INST_INI = /home/dmdba/dmdbms/data/DAMENG/dm.ini
INST_AUTO_RESTART = 1
INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver
RLOG_SEND_THRESHOLD = 0
RLOG_APPLY_THRESHOLD = 0

步骤8: 新备库已mount方式启动
/home/dmdba/dmdbms/bin/dmserver /home/dmdba/dmdbms/data/DAMENG/dm.ini mount

步骤9:登录新备库,设置OGUID和数据库模式
SQL> SP_SET_PARA_VALUE(1,'ALTER_MODE_STATUS',1);
SQL> sp_set_oguid(453331);
SQL> alter database standby;
SQL>SP_SET_PARA_VALUE(1,'ALTER_MODE_STATUS',0);

步骤10:主库、备库依次动态增加MAL配置
主库:GRP1_RT_01
SQL> SF_MAL_CONFIG(1,0);
SQL> SF_MAL_INST_ADD('MAL_INST3','GRP1_RT_03','10.0.0.116',55131,'192.168.1.116',5236,65131,0,45131);
SQL> SF_MAL_CONFIG_APPLY();
SQL> SF_MAL_CONFIG(0,0);

备库:GRP1_RT_02
SQL> SF_MAL_CONFIG(1,0);
SQL> SF_MAL_INST_ADD('MAL_INST3','GRP1_RT_03','10.0.0.116',55131,'192.168.1.116',5236,65131,0,45131);
SQL> SF_MAL_CONFIG_APPLY();
SQL> SF_MAL_CONFIG(0,0);

步骤11:主库、备库依次动态增加归档配置
#关闭原系统所有实例的守护进程和监视器
1)关闭监视器
2)关闭备库守护进程
[dmdba@dm8s bin]$ ./DmWatcherServicewatcher stop
Stopping DmWatcherServicewatcher: [ OK ]
3)关闭主库守护进程
[dmdba@dm8p bin]$ ./DmWatcherServicewatcher stop
Stopping DmWatcherServicewatcher: [ OK ]
#手工修改主备库状态为mount状态,必须先修改主库,在修改备库
主库:
SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
SQL> SP_SET_PARA_VALUE(1, 'DW_INACTIVE_INTERVAL', 0);
SQL> ALTER DATABASE MOUNT;
备库:
SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
SQL> SP_SET_PARA_VALUE(1, 'DW_INACTIVE_INTERVAL', 0);
SQL> ALTER DATABASE MOUNT;

##动态添加归档节点(依次主库、备库)
SQL> ALTER DATABASE ADD ARCHIVELOG 'DEST= GRP1_RT_03, TYPE= REALTIME';
##手工修改备库,主库所有实例OPEN,必须先修改备库,然后再修改主库。
备库:
SQL> ALTER DATABASE OPEN FORCE;
操作已执行
已用时间: 6.039(毫秒). 执行号:0.
SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
DMSQL 过程已成功完成
已用时间: 12.340(毫秒). 执行号:1209.
SQL> SP_SET_PARA_VALUE(1, 'DW_INACTIVE_INTERVAL', 60);
DMSQL 过程已成功完成
已用时间: 13.468(毫秒). 执行号:1210.

主库:
SQL> ALTER DATABASE OPEN FORCE;
操作已执行
已用时间: 6.039(毫秒). 执行号:0.
SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
DMSQL 过程已成功完成
已用时间: 12.340(毫秒). 执行号:1209.
SQL> SP_SET_PARA_VALUE(1, 'DW_INACTIVE_INTERVAL', 60);
DMSQL 过程已成功完成
已用时间: 13.468(毫秒). 执行号:1210.

步骤12:修改监视器配置dmmonitor.ini
新增GRP1_RT_03配置
MON_DW_CONFIRM = 1
MON_LOG_PATH = /dm8/dbms/log
MON_LOG_INTERVAL = 60
MON_LOG_FILE_SIZE = 32
MON_LOG_SPACE_LIMIT = 0
[GRP1]
MON_INST_OGUID = 453331
MON_DW_IP = 10.0.0.223:65101
MON_DW_IP = 10.0.0.224:65121
MON_DW_IP = 10.0.0.116:65131

步骤13:启动所有守护进程和监视器
依次启动主库守护进程,备库守护进程,新备库守护进程,最后启动监视器。
[dmdba@dm8p bin]$ ./DmWatcherServicewatcher start
Starting DmWatcherServicewatcher: [ OK ][dmdba@dm8s bin]$ ./DmWatcherServicewatcher start
Starting DmWatcherServicewatcher: [ OK ][dmdba@dm116 bin]$ /home/dmdba/dmdbms/bin/dmwatcher /home/dmdba/dmdbms/data/DAMENG/dmwatcher.ini
DMWATCHER[4.0] V8
DMWATCHER[4.0] IS READY[dmdba@dwm ~]$ dmmonitor dmmonitor.ini
[monitor] 2023-02-23 12:12:49: DMMONITOR[4.0] V8
[monitor] 2023-02-23 12:12:49: DMMONITOR[4.0] IS READY.
步骤14:通过监视器检查集群状态

步骤15:注册新备库的守护进程服务
[root@dm116 root]# ./dm_service_installer.sh -t dmwatcher -p watcher -watcher_ini /home/dmdba/dmdbms/data/DAMENG/dmwatcher.ini
至此动态新增实时备库操作完毕。
达梦数据库 - 新一代大型通用关系型数据库 | 达梦在线服务平台
相关文章:
达梦8数据守护动态增加实时备库
实时主备环境 类型 业务IP 库名 实例名 PORT_NUM MAL_HOST MAL_INST_DW_PORT MAL_PORT MAL_DW_PORT 主库dm8p 192.168.1.223 DAMENG GRP1_RT_01 5236 10.0.0.223 45101 55101 65101 备库dm8s 192.168.1.224 DAMENG GRP1_RT_02 5236 10.0.0.224 45121…...
《代码整洁之道 - 程序员的职业素养》读书笔记
一 前言 《代码整洁之道 - 程序员的职业素养》的作者是Robert C. Martin,大家喜欢喊他Bob大叔。这本书主要是Bob大叔40年编程生涯的心得体会,主要讲述了一个专业的程序员需要具备什么样的态度,遵循什么样的原则,采取什么样的行动。…...
八、CSS新特性二
文章目录一、CSS3多背景和圆角二、怪异盒子模型三、多列属性四、H5多列布局瀑布流五、CSS3线性渐变5.1 线性渐变5.2 径向渐变六、CSS3过渡动画七、CSS3 2D八、CSS3动画一、CSS3多背景和圆角 css3多背景,表示CSS3中可以添加多个背景。 CSS3圆角 border-radius: 0px;…...
Ubuntu国内镜像源
查看系统版本命令: $ lsb_release -aDistributor ID: UbuntuDescription: Ubuntu 22.04 LTSRelease: 22.04Codename: jammy国内的更新源有多个,几个大互联网公司的源都比较稳定,没什么差别。 下面是比较主流的、常用的几个…...
3.Linux安装es单机版
1.下载 版本 JDK 11ES elasticsearch-7.10.0 jdk安装 下载: wget https://download.java.net/openjdk/jdk11/ri/openjdk-1128_linux-x64_bin.tar.gz配置环境变量:# 编辑配置文件 vim /etc/profile# Java11环境变量配置 export JAVA_HOME/devtools/ja…...
C语言实现通讯录
咱们手机上面还有教务系统上都可以存储信息,这些都是使用编程语言来实现的,那么今天,咱们今天就用C语言来实现通讯录。 一. 实验名称 通讯录 二. 实验目标 1.数据的储存 2.数据的增加 3.数据的删除 4.数据的修改 5.数据的展示 6.数据…...
Python-生成列表
1.生成列表使用列表前必须先生成列表。1.1使用运算符[ ]生成列表在运算符[ ]中以逗号隔开各个元素会生成包含这些元素的新列表。另外,如果[ ]中没有元素就会生成空列表示例>>> list01 [] >>> list01 [] >>> list02 [1, 2, 3] >>…...
如何写好controller层
前言本篇主要要介绍的就是controller层的处理,一个完整的后端请求由4部分组成:1. 接口地址(也就是URL地址)、2. 请求方式(一般就是get、set,当然还有put、delete)、3. 请求数据(request,有head跟body)、4. 响应数据(response)本篇…...
MySQL---视图的概念与操作
MySQL—视图的概念与操作 常见的数据库对象 对象描述表(TABLE)表是存储数据的逻辑单元,以行和列的形式存在,列就是字段,行就是记录数据字典就是系统表,存放数据库相关信息的表。系统表的数据通常由数据库系统维护, 程…...
ChatGPT,会是现实世界的MOSS吗?
最近,两个人工智能系统彻底火出了圈,成为许多网友热议的焦点。 一个是冷酷无情的“幕后主角”MOSS,一个是多才多艺的“全能网友”ChatGPT。 先来说说MOSS。今年春节档,科幻电影《流浪地球2》热映,电影中一个面试环节令…...
安卓大厂面试题_安卓开发面经_Android大厂面经(22/30)之JNI全解析
系列专栏: 《150道安卓常见面试题全解析》 安卓专栏目录见帖子 : 安卓面经_anroid面经_150道安卓常见基础面试题全解析 安卓系统Framework面经专栏:《Android系统Framework面试题解析大全》 安卓系统Framework面经目录详情:Android系统面经_Framework开发面经_150道面试题答…...
记一次docker虚拟机横向移动渗透测试
本次渗透在几个docker虚拟机间多次横向移动,最终找到了一个可以进行docker逃逸的出口,拿下服务器。渗透过程曲折但充满了乐趣,入口是172.17.0.6的docker虚拟机,然后一路横向移动,最终在172.17.0.2出实现了docker逃逸&a…...
计算机网络-物理层
计算机网络-物理层 计算机网络学习笔记 学习视频:https://www.bilibili.com/video/BV1c4411d7jb/?p14&spm_id_from333.1007.top_right_bar_window_history.content.click&vd_source75dce036dc8244310435eaf03de4e330 物理层的基本概念 物理层考虑的是怎样…...
Kubernetes Nginx 发布
kubernetes发布nginx 目录 Nginx Pod启动Service访问Nginx 2.1. NodePort访问Nginx 2.2. ClusterIP访问Nginx 2.3. LoadBalancer访问Nginx 2.4. ExternalName访问NginxDeployment方式部署Nginx 3.1 Nginx Replicas Nginx Pod 启动 nginx-v1.yaml apiVersion: v1 kind: Pod…...
华为OD机试真题Python实现【非严格递增连续数字序列】真题+解题思路+代码(20222023)
非严格递增连续数字序列 题目 输入一个字符串仅包含大小写字母和数字 求字符串中包含的最长的非严格递增连续数字序列长度 比如: 12234 属于非严格递增数字序列 🔥🔥🔥🔥🔥👉👉👉👉👉👉 华为OD机试(Python)真题目录汇总 ## 输入 输入一个字符串仅…...
12-render函数
render函数 一、render的作用 非单文件组件时,创建vm的写法: new Vue({el: #root,template: <App></App>,components: {App} })但是该写法在脚手架中会报错。因为脚手架默认引入的是个残缺版的vue。 如果要避免报错,有2种解决…...
磨金石教育摄影技能干货分享|杨元惺佳作欣赏——诗意人文
一般来说,人文摄影总会体现现实性多些。但杨老师是个摄影诗人,他的内心总能将刻板的现实融入美好的光芒。你在他的照片里,看着现实的摄影素材,所感受到的是诗意的绵绵未尽。春网(中国)正所谓春水碧于天&…...
在Pandas中通过时间频率来汇总数据的三种常用方法
当我们的数据涉及日期和时间时,分析随时间变化变得非常重要。Pandas提供了一种方便的方法,可以按不同的基于时间的间隔(如分钟、小时、天、周、月、季度或年)对时间序列数据进行分组。 在Pandas中,有几种基于日期对数据进行分组的方法。我们将…...
基于SPI的增强式插件框架设计
很久之前,为了诊断线上的问题,就想要是能有工具可以在线上出问题的时候,放个诊断包进去马上生效,就能看到线上问题的所在,那该是多么舒服的事情。后来慢慢的切换到 java 领域后,这种理想也变成了现实&#…...
176、【动态规划】leetcode ——1143. 最长公共子序列(C++版本)
题目描述 原题链接:1143. 最长公共子序列 题目描述 本题和 718. 最长重复子数组(动态规划) 的区别在于此时不要求令一个数组中元素连续。 动态规划五步曲: (1)dp[i][j]含义: 截止到text1[i …...
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...
【力扣数据库知识手册笔记】索引
索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...
QMC5883L的驱动
简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...
电脑插入多块移动硬盘后经常出现卡顿和蓝屏
当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...
【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)
🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...
大模型多显卡多服务器并行计算方法与实践指南
一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...
SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...
Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理
引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...
QT3D学习笔记——圆台、圆锥
类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体(对象或容器)QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质(定义颜色、反光等)QFirstPersonC…...
