DM-达梦数据库实时主备搭建

dm实时主备说明          

        将主库产生的 Redo日志传输到备库,备库接收并重演Redo日志,从而实现备库与主库的数据同步。

一、环境准备

1.1、配置环境准备

首先搭建实时主备,要规划好机器的,我准备两台机器服务器

主服务器 master: 192.168.179.11

从服务器 slave:      192.168.179.12

主节点数据库测试实例名:TEST  端口:5236        dmwatcher守护      安装监视器
从节点数据库测试实例名:
TEST      端口:5236       dmwatcher守护

1.2、资源环境查查

CPU :lscpu  

内存:free -g 

操作系统:cat /etc/os-release  

磁盘:dd bs=32k count=20k if=/dev/zero of=test oflag=dsync

网络:ethtool +网卡名

1.3、文件目录规划

dm_ini 文件位置:/dmdata/data/DAMENG/dm.ini

dmmal.ini文件位置:/dmdata/data/DAMENG/dmmal.ini

dmarch.ini文件位置:/dmdata/data/DAMENG/dmarch.ini

dmwatcher.ini文件位置:/dmdata/data/DAMENG/dmwatcher.ini

back  备份位置:/opt/back

arch  归档文件存放路径:/dmdata/data/DAMENG/arch

二、主从数据库数据同步

        主节点的数据备份,通过SCP到从节点,然后从节点回滚主节点的数据库备份文件,做到主从同步。

2.1、主数据库备份数据Master(192.168.179.11

通过sql工具,进行联机备份数据库信息。

通过dmrman命令执行联机备份

./dmrman
dmrman V8
RMAN>backup database '/dmdata/data/DAMENG/dm.ini' full backupset '/bak/bak_full_01';

2.2、从服务器对备份数据进行还原Salve(192.168.179.12)

脱机还原

./dmrman ctlstmt="restore database to '/dmdata/data/DAMENG' from backupset '/bak/bak_full_01'"

./dmrman ctlstmt="recover database '/dmdata/data/DAMENG/dm.ini' from backupset '/bak/bak_full_01'"

./dmrman ctlstmt="recover database '/dmdata/data/DAMENG/dm.ini' update db_magic"

三、主从服务器配置文件

3.1、dm.ini文件

3.1.1、修改主服务器上的dm.ini(192.168.179.11)

INSTANCE_NAME = TEST   

PORT_NUM = 5236  #数据库实例监听端口

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次的日志发送信息

3.1.2、修改从服务器上的dm.ini(192.168.179.12)

INSTANCE_NAME = TEST

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

3.2、dmmal.ini文件

3.2.1、主服务器,在/dmdata/data/DAMENG下创建文件dmmal.ini(192.168.179.11)

MAL_CHECK_INTERVAL = 5 #MAL链路检测时间间隔

MAL_CONN_FAIL_INTERVAL = 5 #判定MAL链路断开的时间

[MAL_INST1]

MAL_INST_NAME = TEST  #实例名,和dm.ini中的一致

MAL_HOST = 192.168.179.11 #MAL系统监听TCP连接的IP地址

MAL_PORT = 55101 #MAL系统监听TCP连接的端口

MAL_INST_HOST = 192.168.179.11 #实例的对外服务IP地址

MAL_INST_PORT = 5236 #实例的对外服务端口,和dm.ini中的PORT_NUM一致

MAL_DW_PORT = 65101 #实例对应的守护进程监听TCP连接的端口

MAL_INST_DW_PORT = 45101

[MAL_INST2]

MAL_INST_NAME = TEST

MAL_HOST = 192.168.179.12

MAL_PORT = 55121

MAL_INST_HOST = 192.168.179.12

MAL_INST_PORT = 5236

MAL_DW_PORT = 65121

MAL_INST_DW_PORT = 45121

3.2.2、从服务器上,在/dmdata/data/DAMENG下创建文件dmmal.ini(192.168.179.12)

MAL_CHECK_INTERVAL = 5 #MAL链路检测时间间隔

MAL_CONN_FAIL_INTERVAL = 5 #判定MAL链路断开的时间

[MAL_INST1]

MAL_INST_NAME = TEST #实例名,和dm.ini中的一致

MAL_HOST = 192.168.179.11 #MAL系统监听TCP连接的IP地址

MAL_PORT = 55101 #MAL系统监听TCP连接的端口

MAL_INST_HOST = 192.168.179.11 #实例的对外服务IP地址

MAL_INST_PORT = 5236 #实例的对外服务端口,和dm.ini中的PORT_NUM一致

MAL_DW_PORT = 65101 #实例对应的守护进程监听TCP连接的端口

MAL_INST_DW_PORT = 45101

[MAL_INST2]

MAL_INST_NAME = TEST

MAL_HOST = 192.168.179.12

MAL_PORT = 55121

MAL_INST_HOST = 192.168.179.12

MAL_INST_PORT = 5236

MAL_DW_PORT = 65121

MAL_INST_DW_PORT = 45121

3.3、dmarch.ini文件

3.3.1、主服务器,在/dmdata/data/DAMENG下创建文件dmarch.ini(192.168.179.11

[ARCHIVE_LOCAL2]

       ARCH_TYPE = LOCAL     ##本地归档类型

       ARCH_DEST = /dmdata/data/DAMENG/arch   #本地归档文件存放路径

       ARCH_FILE_SIZE = 1024      #单位Mb,本地单个归档文件最大值

       ARCH_SPACE_LIMIT = 4096

       ARCH_FLUSH_BUF_SIZE = 0   ##单位Mb,0表示无限制

       ARCH_HANG_FLAG = 1

[ARCHIVE_REALTIME1]

       ARCH_TYPE = REALTIME   ##实时归档类型

       ARCH_DEST = TEST      #实时归档目标实例名

3.3.2、从服务器,在/dmdata/data/DAMENG下创建文件dmarch.ini(192.168.179.12

[ARCHIVE_LOCAL2]

       ARCH_TYPE = LOCAL

       ARCH_DEST = /dmdata/data/DAMENG/arch

       ARCH_FILE_SIZE = 1024

       ARCH_SPACE_LIMIT = 4096

       ARCH_FLUSH_BUF_SIZE = 0

       ARCH_HANG_FLAG = 1

[ARCHIVE_REALTIME1]

       ARCH_TYPE = REALTIME

       ARCH_DEST = TEST

3.4、dmwatcher.ini文件(192.168.179.11)

在主库/dmdata/data/DAMENG下创建文件dmwatcher.ini

[GRP1]

DW_TYPE = GLOBAL #全局守护类型

DW_MODE = AUTO #自动切换模式

DW_ERROR_TIME = 10 #远程守护进程故障认定时间

INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间

INST_ERROR_TIME = 10 #本地实例故障认定时间

INST_OGUID = 230330 #守护系统唯一OGUID值

INST_INI = /dmdata/data/DAMENG/dm.ini #dm.ini配置文件路径

INST_AUTO_RESTART = 1 #打开实例的自动拉起功能

INST_STARTUP_CMD = /dmdata/bin/dmserver

3.5、以mount方式启动达梦服务

3.5.1、启动主库 (192.168.179.11)

./dmserver /dmdata/data/DAMENG/dm.ini mount

设置OGUID。登录disql执行

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

sp_set_oguid(230330);

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

3.5.2、启动从库(192.168.179.12)

  ./dmserver /dmdata/data/DAMENG/dm.ini mount

设置OGUID。登录disql执行修改状态

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

sp_set_oguid(230330);

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

3.6、数据库模式

3.6.1、修改主服务器数据库模式

启动命令行工具 DIsql,登录主库修改数据库为 Primary 模式

SQL>alter database primary;

3.6.2、修改从服务器数据库模式

启动命令行工具 DIsql,登录备库修改数据库为 Standby 模式。如果当前数据库不是 Normal 模式,需要先修改 dm.ini 中 ALTER_MODE_STATUS 值为 1,允许修改数据库模式,修改 Standby 模式成功后再改回为 0。

如果是 Normal 模式,请忽略下面的第 1 步和第 3 步。

SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);     --第1步
 
SQL>alter database standby;                                                           --第2步
 
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);     --第3步

3.7、启动守护进程     

3.7.1、主库启动(192.168.179.11)

           ./dmwatcher   /dmdata/data/DAMENG/dmwatcher.ini

3.7.2、从库启动(192.168.179.12)

            ./dmwatcher   /dmdata/data/DAMENG/dmwatcher.ini

3.8、安装监视器(在主备服务器中任意一台或者第三台服务器上配置监视器)

3.8.1、dmmonitor.ini文件配置(192.168.179.11)

MON_DW_CONFIRM = 1

MON_LOG_PATH = /dmdata/data/log

MON_LOG_INTERVAL = 60

MON_LOG_FILE_SIZE = 32

MON_LOG_SPACE_LIMIT = 0

[GRP1]

MON_INST_OGUID = 230330

MON_DW_IP = 192.168.179.11:65101

MON_DW_IP = 192.168.179.12:65121

3.8.2、启动监视器(192.168.179.11)
./dmmonitor    /dmdata/data/DAMENG/dmmonitor.ini 

3.9、注册服务


3.9.1、主库上以root用户登录创建服务(192.168.179.11

/dmdata/script/root/dm_service_installer.sh   -t     dmwatcher     -watcher_ini /dmdata/data/DAMENG/dmwatcher.ini     -p     TEST

3.9.2、从库上以root用户登录创建服务(192.168.179.12)

/dmdata/script/root/dm_service_installer.sh   -t     dmwatcher     -watcher_ini /dmdata/data/DAMENG/dmwatcher.ini     -p     TEST

3.10、启动守护进程 

3.10.1、主库启动守护进程(192.168.179.11)

        systemctl start DmWatcherServiceTEST

3.10.2、从库启动守护进程(192.168.179.12)

             systemctl start DmWatcherServiceTEST

四、关闭集群顺序

关闭监视器-->关闭备库守护进程-->关闭主库守护进程--->关闭主库-->关闭从库

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

7-5 表格输出

题目链接&#xff1a;7-5 表格输出 一. 题目 1. 题目 2. 输入输出格式 3. 限制 二、代码 实现一 1. 代码实现 #include <stdio.h>int main(void){printf("------------------------------------\n\ Province Area(km2) Pop.(10K)\n\ ------------------…

14|CAMEL:通过角色扮演脑暴一个鲜花营销方案

能否让 ChatGPT 自己生成这些引导文本呢&#xff1f; CAMEL 交流式代理框架 CAMEL 框架旨在通过角色扮演来促进交流代理之间的自主合作&#xff0c;并为其“认知”过程提供洞察。这种方法涉及使用启示式提示来指导聊天代理完成任务&#xff0c;同时保持与人类意图的一致性。…

【virtio-networking 和 vhost-net 简介】

文章目录 Virtio 基本构建块Virtio spec 和 vhost 协议Vhost-net/virtio-net architectureVirtio-networking and OVS总结参考链接 Virtio 是作为虚拟机 (VM)访问简化device&#xff08;如块设备和网络适配器&#xff09;的 标准化开放接口而开发的。Virtio-net是一种虚拟以太…

大众EA111发动机

大众EA111发动机_什么是大众EA111发动机_太平洋汽车百科 大众EA111发动机_什么是大众EA111发动机_太平洋汽车百科 大众的EA111系列发动机是大众公司小排量发动机的主力&#xff0c;有1.2L、1.4L、1.6L三种排量。大众的EA111系列发动机融合了缸内直喷、涡轮增压等先进技术&…

鸿蒙Harmony应用开发—ArkTS-转场动画(页面间转场)

当路由进行切换时&#xff0c;可以通过在pageTransition函数中自定义页面入场和页面退场的转场动效。详细指导请参考页面转场动画。 说明&#xff1a; 从API Version 7开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 为了实现更好的转场效…

稀碎从零算法笔记Day22-LeetCode:存在重复元素 II

题型&#xff1a;哈希表、数组 链接&#xff1a;219. 存在重复元素 II - 力扣&#xff08;LeetCode&#xff09; 来源&#xff1a;LeetCode 题目描述 给你一个整数数组 nums 和一个整数 k &#xff0c;判断数组中是否存在两个 不同的索引 i 和 j &#xff0c;满足 nums[i] …

使用vitepress生成文档博客简单demo

先创建个空目录(就是你的项目) 安装vitepress 就是在你刚创建的目录里安装vitepress&#xff1a; npm add -D vitepress初始化项目 还是在你刚操作的目录里执行&#xff1a; npx vitepress init然后按照命令行的指引一步一步走就好了 注意VitePress的项目位置&#xff0c…

外卖项目:实现用户端微信登录(debug)

文章目录 一、业务描述二、接口设计三、表结构设计四、配置文件五、断点调试 一、业务描述 用户进入到小程序的时候&#xff0c;微信授权登录之后才能点餐。需要获取当前微信用户的相关信息&#xff0c;比如昵称、头像等&#xff0c;这样才能够进入到小程序进行下单操作。是基…

SpringBoot如何写好单元测试

&#x1f413;序言 Spring中的单元测试非常方便&#xff0c;可以很方便地对Spring Bean进行测试&#xff0c;包括Controller、Service和Repository等Spring Bean进行测试&#xff0c;确保它们的功能正常&#xff0c;并且不会因为应用的其他变化而出现问题。 &#x1f413;单元测…

完全理解ARM启动流程:Uboot-Kernel

内容共计5W字数&#xff0c;但是我还是很多地方说的不够尽兴。那么下次聊&#xff01; 前言 bootloader是系统上电后最初加载运行的代码。它提供了处理器上电复位后最开始需要执行的初始化代码。 PC机上引导程序一般由BIOS开始执行&#xff0c;然后读取硬盘中位于MBR(Main Bo…

Vue核心知识点 -Vue2响应式系统是基于什么实现的、以及会产生什么问题和解决方案

一、概念 在Vue 2中&#xff0c;响应式系统是基于Object.defineProperty实现的。它通过劫持对象的属性来实现数据的响应式更新。 当你将一个对象传递给Vue实例的data选项时&#xff0c;Vue会遍历对象的每个属性&#xff0c;并使用Object.defineProperty方法将其转换为getter和s…

YOLO_you only look once

前言 计算机图形学的课程即将结束&#xff0c;我需要提交一份关于YOLO模型的学习报告。在这段时间里&#xff0c;我对YOLO进行了深入的学习和研究&#xff0c;并记录下了我的学习过程和心得体会。本文将详细介绍YOLO模型的原理、优缺点以及应用领域&#xff0c;希望能够为后续…

nodejs pkg打包跨平台执行文件,带.node插件(sharp、sqlite3)

在nodejs引入的第三方库中,大部分插件都是nodejs原生开发,使用pkg可以快速打包,生成windows、linux(ubuntu、centOS等)、麒麟系统下面执行文件。遇到了第三方插件gdal、sharp、sqlite3,在webstorm中打包生成执行文件,跨平台部署的时候会出现找不到###.node文件,需要获取部…

多源BFS - 01矩阵

LCR 107. 01 矩阵 到最近的0的距离&#xff0c;对每一个非0的位置进行搜索&#xff0c;找到最短的距离即可&#xff0c;但如果对每一个非0的点都进行一次搜索的话&#xff0c;肯定是会超时的。这里可以考虑&#xff0c;将所有0点想象成一个0点(超级0)。然后找到所有1点到超级0的…

基于ssm的旅游管理系统

技术&#xff1a;ssmmysqljsp 一、背景 互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#xff0c;而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播&#xff0c;搭配信息管理工具可以很好地为人们提供服务。所以各行业&#xff0c;尤其是规模较大…

Nginx鉴权、限流

文章目录 一、Nginx鉴权1. 依赖模块2. Nginx配置3. Rest接口 二、Nginx限流1. 简介2. 控制速率2. 控制连接数 一、Nginx鉴权 1. 依赖模块 依赖模块 http_auth_request_module验证是否安装 nginx -V 2>&1 | grep -- http_auth_request_module2. Nginx配置 server {li…

Python模块-基础知识

Python模块-基础知识 1.模块分类&#xff1a; &#xff08;1&#xff09;自定义模块&#xff1a; 如果你自己写一个py文件&#xff0c;在文件内写入一堆函数&#xff0c;则它被称为自定义模块&#xff0c;即使用python编写的.py文件 &#xff08;2&#xff09;第三方模块&…

函数栈帧的创建和销毁 - 局部变量|函数传参|函数调用|函数返回|图文详解

目录 1.寄存器EBP和ESP 2.函数栈帧的创建 3.函数的调用 4. 函数栈帧的销毁 函数栈帧&#xff08;function stack frame&#xff09;是在函数调用期间在栈上分配的内存区域&#xff0c;用于存储函数的局部变量、参数、以及用于函数调用和返回的相关信息。每当函数被调用时&a…

品牌方年度抖音店铺打造流量运营孵化方案

【干货资料持续更新&#xff0c;以防走丢】 品牌方年度抖音店铺打造流量运营孵化方案 部分资料预览 资料部分是网络整理&#xff0c;仅供学习参考。 PDF共120页&#xff08;完整资料包含以下内容&#xff09; 目录 抖音年度短视频直播运营规划方案 1. 帐号视频发布规划 问…

C++进阶:二叉搜索树介绍、模拟实现(递归迭代两版本)及其应用

上次介绍完多态后&#xff1a;C进阶&#xff1a;详解多态&#xff08;多态、虚函数、抽象类以及虚函数原理详解&#xff09; 也是要开始继续学习了 文章目录 1.二叉搜索树1.1概念1.2二叉搜索树特性1.3 二叉搜索树的操作 2.模拟实现2.1项目文件规划2.2基本结构2.3各种接口、功能…