达梦数据守护集群_动态增加实时备库

目录

1、概述

2、实验环境

2.1环境信息

2.2配置信息

2.3 查看初始化参数

3、动态增加实时备库

3.1数据准备

3.2配置新备库

3.3动态增加MAL配置

3.4 关闭守护进程及监视器

3.5修改归档(方法1:动态添加归档配置)

3.6 修改归档(方法2:手动修改dmarch.ini)    

3.7修改监视器

3.8 启动新备库及所有守护进程及监视器

3.9验证


1、概述

        DM8提供了系统函数,可以动态增加 MAL 中的节点信息。当需要进行系统扩容,希望系统运行不中断,或者影响运行的时间尽可能短时,可通过动态增加节点的方式进行。

2、实验环境

2.1环境信息

操作系统:CentOS7.6

达梦数据库版本:DM8_20240712

达梦守护集群版本:V4.0

集群主库:192.168.220.101

集群备库:192.168.220.102

集群确认监视器:192.168.220.109

新备库IP:192.168.220.109

注:建议生产环境备库与监视器安装到不同的主机

2.2配置信息

MAL_PORT : 62361
MAL_INST_PORT : 6236
MAL_DW_PORT : 7222
MAL_INST_DW_PORT : 62362

组名:DM8DW
OGUID:241007001
库名:DM8DW
主库实例名:DM8DW01
原备库实例名:DM8DW02
新备库实例名:DM8DW03

2.3 查看初始化参数

在原主库执行

SELECT '字符集',CASE SF_GET_UNICODE_FLAG() WHEN '0' THEN 'GBK18030' WHEN '1' then 'UTF-8' when '2' then 'EUC-KR' end union all
SELECT '页大小',cast(PAGE()/1024 as varchar) union all
SELECT '簇大小',cast(SF_GET_EXTENT_SIZE() as varchar) union all
select 'id_code',id_code from dual;	

3、动态增加实时备库

3.1数据准备

联机备份主库数据

su - dmdba
disql SYSDBA/SYSDBA
SQL> backup database backupset '/dm8/backup/full_bak_20241102_001';
scp -r /dm8/backup/full_bak_20241102_001 192.168.220.109:/dm8/backup

3.2配置新备库

1)安装DM8软件
  步骤略
  
2)初始化数据库

dminit path=/dm8/datadm EXTENT_SIZE=32 PAGE_SIZE=32 DB_NAME=DM8DW INSTANCE_NAME=DM8DW03 LOG_SIZE=256#完成首次启动
dmserver /dm8/datadm/DM8DW/dm.ini#关闭服务
exit#root权限注册服务
cd /dm8/dmdbms/script/root
./dm_service_installer.sh -t dmserver -p DM8DW03 -dm_ini /dm8/datadm/DM8DW/dm.ini
./dm_service_installer.sh -t dmwatcher -p DM8DW03 -watcher_ini /dm8/datadm/DM8DW/dmwatcher.ini

3)配置dm.ini
可以使用主库的dm.ini,修改INSTANCE_NAME即可
在主库执行

scp dm.ini 192.168.220.109:/dm8/backup

在新备库执行

cp /dm8/backup/dm.ini /dm8/datadm/DM8DW/dm.ini
vi /dm8/datadm/DM8DW/dm.ini
#实例名INSTANCE_NAME 的值改为 DM8DW03

4)还原恢复新备库
使用dmrman脱机还原,在新备库执行

dmrman
restore database '/dm8/datadm/DM8DW/dm.ini' from backupset '/dm8/backup/full_bak_20241102_001';
recover database '/dm8/datadm/DM8DW/dm.ini' from backupset '/dm8/backup/full_bak_20241102_001';
recover database '/dm8/datadm/DM8DW/dm.ini' update db_magic;

5)配置dmmal.ini

vi /dm8/datadm/DM8DW/dmmal.iniMAL_CHECK_INTERVAL = 30
MAL_CONN_FAIL_INTERVAL = 10
MAL_SYS_BUF_SIZE = 3000
MAL_BUF_SIZE = 3000
MAL_VPOOL_SIZE = 3000[MAL_INST1]
MAL_INST_NAME = DM8DW01
MAL_HOST = 192.168.220.101
MAL_PORT = 62361
MAL_INST_HOST = 192.168.220.101
MAL_INST_PORT = 6236
MAL_DW_PORT = 7222
MAL_INST_DW_PORT = 62362[MAL_INST2]
MAL_INST_NAME = DM8DW02
MAL_HOST = 192.168.220.102
MAL_PORT = 62361
MAL_INST_HOST = 192.168.220.102
MAL_INST_PORT = 6236
MAL_DW_PORT = 7222
MAL_INST_DW_PORT = 62362[MAL_INST3]
MAL_INST_NAME = DM8DW03
MAL_HOST = 192.168.220.109
MAL_PORT = 62361
MAL_INST_HOST = 192.168.220.109
MAL_INST_PORT = 6236
MAL_DW_PORT = 7222
MAL_INST_DW_PORT = 62362

6)配置dmarch.ini

vi  /dm8/datadm/DM8DW/dmarch.iniARCH_WAIT_APPLY = 0
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/archdm
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT  = 20480[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME
ARCH_DEST = DM8DW01[ARCHIVE_REALTIME2]
ARCH_TYPE = REALTIME
ARCH_DEST = DM8DW02


7)配置dmwatcher.ini

vi /dm8/datadm/DM8DW/dmwatcher.ini[DM8DW]
DW_TYPE = GLOBAL
DW_MODE = AUTO
DW_ERROR_TIME = 10
INST_RECOVER_TIME = 60
INST_ERROR_TIME  = 10
INST_OGUID  = 241007001
INST_INI = /dm8/datadm/DM8DW/dm.ini
INST_AUTO_RESTART = 1
INST_STARTUP_CMD  = /dm8/dmdbms/bin/dmserver
RLOG_SEND_THRESHOLD = 0
RLOG_APPLY_THRESHOLD = 0

8)配置OGUID及数据库模式
 

dmserver /dm8/datadm/DM8DW/dm.ini mount #mount模式启动服务


在disql 中执行

disql SYSDBA/SYSDBA:6236SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
sp_set_oguid(241007001);
ALTER DATABASE STANDBY;
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);#关闭服务
shutdown immediate

3.3动态增加MAL配置

在原集群所有节点执行:

disql SYSDBA/SYSDBA:6236SF_MAL_CONFIG(1,0);
SF_MAL_INST_ADD('MAL_INST3','DM8DW03','192.168.220.109',62361,'192.168.220.109',6236,7222,0,62362);
SF_MAL_CONFIG_APPLY();
SF_MAL_CONFIG(0,0);


3.4 关闭守护进程及监视器

关闭确认监视器

DmMonitorServiceDM8DW stop

关闭原主库守护进程

DmWatcherServiceDM8DW01 stop

关闭原备库守护进程

 DmWatcherServiceDM8DW02 stop

3.5修改归档(方法1:动态添加归档配置)

1)查看DW_INACTIVE_INTERVAL配置

disql SYSDBA/SYSDBA:6236
select para_value from v$dm_ini where para_name='DW_INACTIVE_INTERVAL';

2)先修改主库、再修改备库:

disql SYSDBA/SYSDBA:6236SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
SP_SET_PARA_VALUE(1, 'DW_INACTIVE_INTERVAL', 0); -- 临时关闭守护进程活动状态检测,允许用户手动修改模式状态,动态添加完毕后需要再改回原值
ALTER DATABASE MOUNT;
ALTER DATABASE ADD ARCHIVELOG 'DEST= GRP1_RT_03, TYPE= REALTIME';

3)先修改备库、再修改主库

ALTER DATABASE OPEN FORCE;
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
SP_SET_PARA_VALUE(1, 'DW_INACTIVE_INTERVAL', 60);

3.6 修改归档(方法2:手动修改dmarch.ini)    

1)修改原主库归档文件

vi  /dm8/datadm/DM8DW/dmarch.iniARCH_WAIT_APPLY = 0
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/archdm
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT  = 20480[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME
ARCH_DEST = DM8DW02[ARCHIVE_REALTIME2]
ARCH_TYPE = REALTIME
ARCH_DEST = DM8DW03


2)修改原备库归档文件

vi  /dm8/datadm/DM8DW/dmarch.iniARCH_WAIT_APPLY = 0
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/archdm
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT  = 20480[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME
ARCH_DEST = DM8DW01[ARCHIVE_REALTIME2]
ARCH_TYPE = REALTIME
ARCH_DEST = DM8DW03

3)重启实例

DmServiceDM8DW02 stop #备库
DmServiceDM8DW01 restart #主库
DmServiceDM8DW02 start #备库

3.7修改监视器

修改确认监视器

vi dmmonitor_1.iniMON_DW_CONFIRM = 1
MON_LOG_PATH = /dm8/dmdbms/log
MON_LOG_INTERVAL = 60
MON_LOG_FILE_SIZE = 32
MON_LOG_SPACE_LIMIT = 4096
[DM8DW]
MON_INST_OGUID = 241007001
MON_DW_IP = 192.168.220.101:7222
MON_DW_IP = 192.168.220.102:7222
MON_DW_IP = 192.168.220.109:7222

修改非确认监视器

vi dmmonitor_0.iniMON_DW_CONFIRM = 0
MON_LOG_PATH = /dm8/dmdbms/log
MON_LOG_INTERVAL = 60
MON_LOG_FILE_SIZE = 32
MON_LOG_SPACE_LIMIT = 4096
[DM8DW]
MON_INST_OGUID = 241007001
MON_DW_IP = 192.168.220.101:7222
MON_DW_IP = 192.168.220.102:7222
MON_DW_IP = 192.168.220.109:7222

3.8 启动新备库及所有守护进程及监视器

DmServiceDM8DW03 start #新备库
DmWatcherServiceDM8DW01 start #主库
DmWatcherServiceDM8DW02 start #备库
DmWatcherServiceDM8DW03 start #备库
DmMonitorServiceDM8DW start  #监视器

3.9验证

登录非确认监视器,查看新备库是否增加成功

/dm8/dmdbms/bin/dmmonitor /dm8/dmdbms/bin/dmmonitor_0.inishow

备库DM8DW03增加成功,本文结束!

参考文档《DM8数据守护与读写分离集群V4.0》

2024.11.02

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

思维导图工具有哪些?10款思维导图特色介绍

电脑的普及,互联网的便捷。使我们平时工作、学习等场景下,常常离不开思维导图的辅助。思维导图是可以让我们所需要介绍的知识点以图文形式结合,展示出来。帮助我们方便理解。因此,一款好的思维导图工具,能让我们制作的…

7.2 设计模式

设计模式 7.3.1 设计模式的要素7.3.2 创建型设计模式7.3.3 结构性设计模式1. Adapter (适配器)2. Bridge(桥接)3.Composite(组合)4.Decorator(装饰)5.Facade(外观)6.Flyweight(享元)7.Proxy(代理)8. 结构型模式比较 7.3.4 行为型设计模式1 Chain of Responsibility 责任链模式2…

【Wi-Fi】802.11ac wave1 vs 802.11ac wave2

参考链接 difference between 11ac wave1 and wave2 | 11ac-wave1 vs 11ac-wave2 什么是802.11ac和802.11ac Wave2 - 华为 Notes|802.11ac Wave1与Wave2 - 知乎 802.11ac-wave1 2013年,IEEE发布了802.11ac标准,在Wave2出来之后&#xf…

【浪潮商城-注册安全分析报告-无验证方式导致安全隐患】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 1. 暴力破解密码,造成用户信息泄露 2. 短信盗刷的安全问题,影响业务及导致用户投诉 3. 带来经济损失,尤其是后付费客户,风险巨大,造…

【MWorks】Ubuntu 系统搭建

升级 Ubuntu系统 sudo apt-get update sudo apt-get upgrade安装流程 sudo chmod x 路径/文件.run安装 sudo 路径/文件.run安装过程中两个选项都填 y 打开安装对应的文件夹 运行 syslab.sh 文件,运行结束后,就可以在左上角开始搜索到syslab了。

单测篇 - 如何mock静态常量

本文对应源码地址: https://github.com/nieandsun/NRSC-STUDY/tree/master/nrsc-unit-test-study 1 如何mock静态常量 先看如下代码,这里如何对方法中的静态常量DEMO_CONSTANT进行mock呢? public class Demo1StaticConstant {/**** 这里的类…

学习方法该升级了,‌AI时代的弯道超车:【心流学习法】行动与意识合一的巅峰进化

你是否曾感到内心如荒漠般干涸,面对浩瀚的知识海洋,热情逐渐消磨殆尽? 你是否渴望忘却时间的流逝,心无旁骛,与知识展开一场纯粹而深邃的对话? ​在AI时代,智能体处理数据、知识迭代的速率让人…

Set

1.概念 Set与Map一样是一个接口&#xff0c;是一颗搜索树&#xff0c;所以在创建Set对象时&#xff0c;必须实现其类&#xff08;HashSet或TreeSet&#xff09; Set<String> setnew HashSet<>(); 2.常用方法 注意 Set中只存储key&#xff0c;并且要求key唯一Set…

蓝桥杯真题——三角回文数(C语言)

问题描述 对于正整数 n, 如果存在正整数 k 使得 n123⋯kk(k1)2n123⋯kk(k1)/2​, 则 n 称为三角数。例如, 66066 是一个三角数, 因为 66066123⋯36366066123⋯363 。 如果一个整数从左到右读出所有数位上的数字, 与从右到左读出所有数位 上的数字是一样的, 则称这个数为回文数…

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-11-01

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-11-01 目录 文章目录 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-11-01目录1. A Perspective for Adapting Generalist AI to Specialized Medical AI Applications and Their Challenges2. Synergi…

C++练习题(2)

//C计算自然数的和 #include <iostream> using namespace std; int main() { int n,sum0; scanf("%d",&n); for(int i0;i<n;i) { sumi; } printf("%d",sum); return 0; } #include <iostream> …

心觉:如果做不到“道生一”,能做到“一生道”也不得了

Hi&#xff0c;我是心觉&#xff0c;带你用潜意识化解各种焦虑、内耗&#xff0c;建立无敌自信&#xff1b;教你财富精准显化的实操方法&#xff1b;关注我,伴你一路成长&#xff01; 每日一省写作222/1000天 想学的东西太多&#xff0c;想练的能力太多&#xff0c;想重塑的负…

Centos开机自启动脚本示例

本文建议创建一个sh文件管理自启动的各项内容&#xff0c;再将sh文件设置开机启动 在/root/autoshell下创建一个autostart.sh&#xff0c;内容如下 #!/bin/bash # description:开机自启脚本# 启动mongodb sh /root/software/mongodb-linux-x86_64-rhel70-4.0.6/bin/mongod --c…

查看网路信息-ifconfig命令

1.ifconfig缺点: 可以查看接口的网络类型;部分IP和掩码以及状态是否插线,看不到接口下的网关,DNS, 要想看到接口下多个IP,使用 ip addr show 命令 要想看网关,使用 ip route show 命令、route -n 命令 显示路由表内容,route -n 命令 route -n命令主要用于手动配置静态…

buu PWN5

在做这道题目之前&#xff0c;我们先来了解一下什么是字符串格式化漏洞&#xff0c;格式化字符串函数就是将计算机 内存中表示的数据转化为我们人类可读的字符串格式&#xff0c;下面记几个有用的 %d十进制 输出十进制整数 %s 从内存中读取字符串 %p 指针地址 %n 到目前…

[Android]从FLAG_SECURE禁止截屏看surface

在应用中&#xff0c;设置activity的flag为FLAG_SECURE就可以禁止截屏&#xff0c;截屏出来是黑色的&#xff0c; 试验一下&#xff0c; 注意事项 影响&#xff1a; 设置 FLAG_SECURE 标志后&#xff0c;用户将无法对该Activity进行截屏或录制屏幕。这个标志会影响所有屏幕录…

【FL0013】基于SpringBoot和微信小程序的机电公司管理信息系统

&#x1f9d1;‍&#x1f4bb;博主介绍&#x1f9d1;‍&#x1f4bb; 全网粉丝10W,CSDN全栈领域优质创作者&#xff0c;博客之星、掘金/知乎/b站/华为云/阿里云等平台优质作者、专注于Java、小程序/APP、python、大数据等技术领域和毕业项目实战&#xff0c;以及程序定制化开发…

[渲染层网络层错误] net::ERR_CONTENT_LENGTH_MISMATCH 问题解决

问题描述 问题背景 微信小程序访问后端img资源的时候&#xff0c;偶尔出现这个感叹号&#xff0c;图片加载不出来&#xff0c;但是对应的url贴出来在浏览器中访问&#xff0c;或者重新加载是可以访问的。 错误描述 经查询前端报错 [渲染层网络层错误] net::ERR_CONTENT_LE…

【C++】踏上C++学习之旅(五):auto、范围for以及nullptr的精彩时刻(C++11)

文章目录 前言1. auto关键字&#xff08;C11&#xff09;1.1 为什么要有auto关键字1.2 auto关键字的使用方式1.3 auto的使用细则1.4 auto不能推导的场景 2. 基于范围的for循环&#xff08;C11&#xff09;2.1 范围for的语法2.2 范围for的使用条件 3. 指针空值nullptr&#xff0…

springboot2.x使用SSE方式代理或者转发其他流式接口

文章目录 1.需求描述2.代码2.1.示例controller2.2.示例service2.3.示例impl 3.测试 1.需求描述 使用SSE的方式主要还是要跟前端建立一个EventSource的链接&#xff0c;有了这个连接&#xff0c;然后往通道里写入数据流&#xff0c;前端自然会拿到流式数据&#xff0c;写啥拿啥…