当前位置: 首页 > news >正文

达梦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的作用 非单文件组件时&#xff0c;创建vm的写法&#xff1a; new Vue({el: #root,template: <App></App>,components: {App} })但是该写法在脚手架中会报错。因为脚手架默认引入的是个残缺版的vue。 如果要避免报错&#xff0c;有2种解决…...

磨金石教育摄影技能干货分享|杨元惺佳作欣赏——诗意人文

一般来说&#xff0c;人文摄影总会体现现实性多些。但杨老师是个摄影诗人&#xff0c;他的内心总能将刻板的现实融入美好的光芒。你在他的照片里&#xff0c;看着现实的摄影素材&#xff0c;所感受到的是诗意的绵绵未尽。春网&#xff08;中国&#xff09;正所谓春水碧于天&…...

在Pandas中通过时间频率来汇总数据的三种常用方法

当我们的数据涉及日期和时间时&#xff0c;分析随时间变化变得非常重要。Pandas提供了一种方便的方法&#xff0c;可以按不同的基于时间的间隔(如分钟、小时、天、周、月、季度或年)对时间序列数据进行分组。 在Pandas中&#xff0c;有几种基于日期对数据进行分组的方法。我们将…...

基于SPI的增强式插件框架设计

很久之前&#xff0c;为了诊断线上的问题&#xff0c;就想要是能有工具可以在线上出问题的时候&#xff0c;放个诊断包进去马上生效&#xff0c;就能看到线上问题的所在&#xff0c;那该是多么舒服的事情。后来慢慢的切换到 java 领域后&#xff0c;这种理想也变成了现实&#…...

176、【动态规划】leetcode ——1143. 最长公共子序列(C++版本)

题目描述 原题链接&#xff1a;1143. 最长公共子序列 题目描述 本题和 718. 最长重复子数组&#xff08;动态规划&#xff09; 的区别在于此时不要求令一个数组中元素连续。 动态规划五步曲&#xff1a; &#xff08;1&#xff09;dp[i][j]含义&#xff1a; 截止到text1[i …...

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站&#xff0c;会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后&#xff0c;网站没有变化的情况。 不熟悉siteground主机的新手&#xff0c;遇到这个问题&#xff0c;就很抓狂&#xff0c;明明是哪都没操作错误&#x…...

idea大量爆红问题解决

问题描述 在学习和工作中&#xff0c;idea是程序员不可缺少的一个工具&#xff0c;但是突然在有些时候就会出现大量爆红的问题&#xff0c;发现无法跳转&#xff0c;无论是关机重启或者是替换root都无法解决 就是如上所展示的问题&#xff0c;但是程序依然可以启动。 问题解决…...

练习(含atoi的模拟实现,自定义类型等练习)

一、结构体大小的计算及位段 &#xff08;结构体大小计算及位段 详解请看&#xff1a;自定义类型&#xff1a;结构体进阶-CSDN博客&#xff09; 1.在32位系统环境&#xff0c;编译选项为4字节对齐&#xff0c;那么sizeof(A)和sizeof(B)是多少&#xff1f; #pragma pack(4)st…...

遍历 Map 类型集合的方法汇总

1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

基于数字孪生的水厂可视化平台建设:架构与实践

分享大纲&#xff1a; 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年&#xff0c;数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段&#xff0c;基于数字孪生的水厂可视化平台的…...

【单片机期末】单片机系统设计

主要内容&#xff1a;系统状态机&#xff0c;系统时基&#xff0c;系统需求分析&#xff0c;系统构建&#xff0c;系统状态流图 一、题目要求 二、绘制系统状态流图 题目&#xff1a;根据上述描述绘制系统状态流图&#xff0c;注明状态转移条件及方向。 三、利用定时器产生时…...

反射获取方法和属性

Java反射获取方法 在Java中&#xff0c;反射&#xff08;Reflection&#xff09;是一种强大的机制&#xff0c;允许程序在运行时访问和操作类的内部属性和方法。通过反射&#xff0c;可以动态地创建对象、调用方法、改变属性值&#xff0c;这在很多Java框架中如Spring和Hiberna…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

Rust 异步编程

Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

如何在最短时间内提升打ctf(web)的水平?

刚刚刷完2遍 bugku 的 web 题&#xff0c;前来答题。 每个人对刷题理解是不同&#xff0c;有的人是看了writeup就等于刷了&#xff0c;有的人是收藏了writeup就等于刷了&#xff0c;有的人是跟着writeup做了一遍就等于刷了&#xff0c;还有的人是独立思考做了一遍就等于刷了。…...