达梦数据库搭建守护集群

前言

DM 数据守护(Data Watch)是一种集成化的高可用、高性能数据库解决方案,是数据库异地容灾的首选方案。通过部署 DM 数据守护,可以在硬件故障(如磁盘损坏)、自然灾害(地震、火灾)等极端情况下,避免数据损坏、丢失,保障数据安全,并且可以快速恢复数据库服务,满足用户不间断提供数据库服务的要求。

与常规的数据库备份(Backup)、还原(Restore)技术相比,数据守护可以更快地恢复数据库服务。随着数据规模不断增长,通过还原手段恢复数据,往往需要数个小时、甚至更长时间,而数据守护基本不受数据规模的影响,只需数秒时间就可以将备库切换为主库对外提供数据库服务。

DM 数据守护提供多种解决方案,可以配置成实时主备,并且 DSC 也支持配置成数据守护集群。满足用户关于系统可用性、数据安全性、性能等方面的综合需求,有效降低总体投入,获得超值的投资回报。

服务器准备

机器规划:

192.168.254.101 主机
192.168.254.102 备机
192.168.254.103 监视器

搭建步骤

1、关闭主库,做冷备,将备份拷贝到备机上

[dmdba@localhost bin]$ ./DmServiceDMSERVER stop
[dmdba@localhost bin]$ ./dmrman
RMAN> backup database '/dm8/data/DAMENG/dm.ini' backupset '/dm8/back';
[dmdba@localhost back]$ scp back* dmdba@192.168.254.102:/dm8/back

2、主库配置

修改 dm.ini 部分参数:

ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2
MAL_INI = 1
ARCH_INI = 1

配置dmarch.ini 文件,如果没有,则需要新建

位置/dm8/data/DAMENG/dmarch.ini:

[dmdba@localhost DAMENG]$ cat dmarch.ini
ARCH_WAIT_APPLY = 0
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = DMSERVER2
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/arch
ARCH_FILE_SIZE = 64
ARCH_SPACE_LIMIT = 0
ARCH_FLUSH_BUF_SIZE = 0
ARCH_HANG_FLAG = 1

配置 dmmal.ini 文件,如果没有,则需要新建

位置/dm8/data/DAMENG/dmmal.ini:

MAL_CHECK_INTERVAL = 5
MAL_CONN_FAIL_INTERVAL = 5
[MAL_INST1]
MAL_INST_NAME = DMSERVER
MAL_HOST = 192.168.254.101
MAL_PORT = 15236
MAL_INST_HOST = 192.168.254.101
MAL_INST_PORT = 5236
MAL_DW_PORT = 65101
MAL_INST_DW_PORT = 45101
[MAL_INST2]
MAL_INST_NAME = DMSERVER2
MAL_HOST = 192.168.254.102
MAL_PORT = 15236
MAL_INST_HOST = 192.168.254.102
MAL_INST_PORT = 5236
MAL_DW_PORT = 65101
MAL_INST_DW_PORT = 45101

配置 dmwatcher.ini 文件,如果没有,则需要新建

位置/dm8/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 = 8888
INST_INI = /dm8/data/DAMENG/dm.ini
INST_AUTO_RESTART = 1
INST_STARTUP_CMD = /dm8/bin/dmserver
RLOG_SEND_THRESHOLD = 0
RLOG_APPLY_THRESHOLD = 0

3、将主库启动到 mount 状态

[dmdba@localhost bin]$ ./dmserver /dm8/data/DAMENG/dm.ini
mount
如果不是mount,修改SQL:alter database mount;

4、修改主库的状态

SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
SQL>sp_set_oguid(8888);
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
SQL>alter database primary;

5、初始化备机数据库,并恢复数据库

[dmdba@localhost bin]$ ./dminit db_name=DAMENG instance_name=DMSERVER2 port_num=5236 path=/dm8/data
RMAN> restore database '/dm8/data/DAMENG/dm.ini' overwrite from backupset '/dm8/back';
RMAN> recover database '/dm8/data/DAMENG/dm.ini' from backupset '/dm8/back';
RMAN> recover database '/dm8/data/DAMENG/dm.ini' update db_magic;

6、备库配置

修改 dm.ini 部分参数:

ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2
MAL_INI = 1
ARCH_INI = 1

配置dmarch.ini

需要注意,ARCH_DEST与主机的配置不同

ARCH_WAIT_APPLY = 0
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = DMSERVER
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/arch
ARCH_FILE_SIZE = 64
ARCH_SPACE_LIMIT = 0
ARCH_FLUSH_BUF_SIZE = 0
ARCH_HANG_FLAG = 1

配置 dmmal.ini 文件

MAL_CHECK_INTERVAL = 5
MAL_CONN_FAIL_INTERVAL = 5
[MAL_INST1]
MAL_INST_NAME = DMSERVER
MAL_HOST = 192.168.254.101
MAL_PORT = 15236
MAL_INST_HOST = 192.168.254.101
MAL_INST_PORT = 5236
MAL_DW_PORT = 65101
MAL_INST_DW_PORT = 45101
[MAL_INST2]
MAL_INST_NAME = DMSERVER2
MAL_HOST = 192.168.254.102
MAL_PORT = 15236
MAL_INST_HOST = 192.168.254.102
MAL_INST_PORT = 5236
MAL_DW_PORT = 65101
MAL_INST_DW_PORT = 45101

配置 dmwatcher.ini

[GRP1]
DW_TYPE = GLOBAL
DW_MODE = AUTO
DW_ERROR_TIME = 10
INST_RECOVER_TIME = 60
INST_ERROR_TIME = 10
INST_OGUID = 8888
INST_INI = /dm8/data/DAMENG/dm.ini
INST_AUTO_RESTART = 1
INST_STARTUP_CMD = /dm8/bin/dmserver
RLOG_SEND_THRESHOLD = 0
RLOG_APPLY_THRESHOLD = 0

7、启动备库到 mount 状态

[dmdba@localhost bin]$ ./dmserver /dm8/data/DAMENG/dm.ini
mount
如果不是mount,修改SQL:alter database mount;

8、修改备库的配置

SQL> sp_set_oguid(8888);
SQL> alter database standby;

9、启动主库、备库上的守护进程

[dmdba@localhost bin]$ ./dmwatcher /dm8/data/DAMENG/dmwatcher.ini

10、配置监视器

[dmdba@localhost ~]$ vi /dm8/data/DAMENG/dmmonitor.ini
MON_DW_CONFIRM = 1  #0:非确认(故障手切) 1:确认(故障自切)
MON_LOG_PATH = /dm8/data/log  #监视器日志文件存放路径
MON_LOG_INTERVAL = 60  #每隔 60s 定时记录系统信息到日志文件
MON_LOG_FILE_SIZE = 32  #单个日志大小,单位 MB
MON_LOG_SPACE_LIMIT = 0  #日志上限,单位 MB

[GRP1]
MON_INST_OGUID = 8888  #组 GRP1 的唯一 OGUID 值
MON_DW_IP = 192.168.240.101:65101  #IP 对应 MAL_HOST,PORT 对应 MAL_DW_PORT
MON_DW_IP = 192.168.240.102:65101

[dmdba@localhost data]$ /dm8/bin/dmmonitor /dm8/data/dmmonitor.ini

使用show命令查看机器状态: 

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

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

相关文章

【python】python 电子产品销售分析可视化(数据集+源码)【独一无二】

👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉公众号👈:测试开发自动化【获取源码商业合作】 👉荣__誉👈:阿里云博客专家博主、5…

【已解决】chrome视频无法自动播放的问题

问题: 在用datav开发大屏的时候,放了一个视频组件,但是发现视频组件即使设置了自动播放,仍然无法自动播放 原因: 76 以上版本的谷歌浏览器只能在系统静音下自动播放 解决: 音频自动播放浏览器白名单设置&…

幕墙设计乙级资质:企业技术负责人经验与教育背景

幕墙设计乙级资质中,对企业技术负责人的经验与教育背景有着明确的要求。以下是具体的解读: 一、教育背景 企业技术负责人应具备大学本科或以上学历,这是对其基本教育背景的要求。同时,这一学历背景通常需要在建筑、土木工程、结构…

一文细谈SNN的基本数学原理,LIF模型,STDP与STBP学习方法

首先本文是读完 如何看待第三代神经网络SNN?详解脉冲神经网络的架构原理、数据集和训练方法 原创-CSDN博客 一文通俗入门脉冲神经网络(SNN)第三代神经网络-CSDN博客 两篇文章的总结,文章仅用于学习。 本文主要讨论STDP和STBP方法。 我们都知道&…

YoloV9改进策略:Block篇|FFA-Net:用于单图像去雾的特征融合注意力网络(独家原创)

摘要 本文使用FFA-Net的Block改进YoloV9,使用Block替换RepNCSP中的RepNRes,非常简单!Block由卷积、通道注意力、像素注意力组成。结构图如下: 论文翻译:《FFA-Net:用于单图像去雾的特征融合注意力网络》…

夺冠了!U19国足是什么?这场夺冠对于中国足球意味着什么?

夺冠了!U19国足是什么?这场夺冠对于中国足球意味着什么? 在2024年“丝绸之路华山杯”渭南国际足球邀请赛中,中国U19国家男子足球队以出色的表现,力压群雄,最终夺得冠军。这一成绩不仅是对U19国足队员们辛勤…

ROS1配置husky仿真环境遇到的一些问题+方法论

ROS 系列学习教程(总目录) 本文目录 一、问题描述二、问题分析2.1 分析日志2.2 尝试一(失败)2.3 尝试二(成功) 三、husky仿真需要安装的软件包四、总结 - 方法论4.1 文件路径不合法4.2 文件内容不合法4.3 ROS 环境变量4.3.1 方法一…

Spring Boot集成tablesaw插件快速入门Demo

1.什么是tablesaw? Tablesaw是一款Java的数据可视化库,主要包括两部分: 数据解析库,主要用于加载数据,对数据进行操作(转化,过滤,汇总等),类比Python中的Pandas库;数据…

idea鼠标滚轮滚动放大缩小字体

在idea中的【file】->【settings】菜单,弹出settings窗口,点击窗口中的【Editor】->【General】,在右侧窗口中,选中【Change font size with CtrlMouse Wheel in All editors】即可。

Apollo9.0 PNC源码学习之Control模块(二)

前面文章:Apollo9.0 PNC源码学习之Control模块(一) 本文将对具体控制器以及原理做一个剖析 1 PID控制器 1.1 PID理论基础 如下图所示,PID各参数(Kp,Ki,Kd)的作用: 任何闭环控制系统的首要任务是要稳、准、快的响…

AdroitFisherman模块测试日志(2024/6/10)

测试内容 测试AdroitFisherman分发包中SHAUtil模块。 测试用具 Django5.0.3框架,AdroitFisherman0.0.31 项目结构 路由设置 总路由 from django.contrib import admin from django.urls import path,include from Base64Util import urls urlpatterns [path(ad…

教育的数字化转型——Kompas.ai如何变革学习体验

引言 在现代教育中,数字化转型逐渐成为提升学习效果的重要手段。随着科技的进步,人工智能(AI)在教育领域的应用越来越广泛。本文将探讨教育数字化转型的发展趋势,并介绍Kompas.ai如何通过AI技术变革学习体验。 教育数…

Nodejs 第七十六章(MQ进阶)

MQ介绍和基本使用在上一章介绍过了,不再重复 消息:在RabbitMQ中,消息是传递的基本单元。它由消息体和可选的属性组成 生产者Producer:生产者是消息的发送方,它将消息发送到RabbitMQ的交换器(Exchange&…

新概念英语视频百度云,新概念英语视频百度网盘,新概念1-4册

在现今数字化时代,英语学习资源丰富多样,其中新概念英语视频因其深入浅出的教学风格和丰富多样的学习内容,备受广大英语学习者的青睐。本文旨在为广大英语学习者提供一份详尽的新概念英语视频下载指南,帮助大家轻松获取优质学习资…

vscode 中 eslint 无效?npm init 是什么?

vscode 中 eslint 无效 我想要给一个项目添加 eslint,按照 eslint 官方指南操作: npm init eslint/configlatest自动安装了相关依赖并创建配置文件 eslint.config.mjs。 按理说,此刻项目应该已经配置好 eslint 了。但是我的编辑器 vscode …

冯喜运:6.11最新黄金原油趋势解析及独家多空操作建议

【黄金消息面分析】:周二(6月11日)亚市早盘,现货黄金窄幅震荡,目前交投于2310.15美元/盎司附近。黄金价格在上一交易日创下三年半来最大单日跌幅后于周一反弹,收报2310.71美元/盎司附近,投资者在…

java复习知识点

1.get,set: java 中当定义了一个私有的成员变量的时候,如果需要访问或者获取这个变量的时候,就可以编写set或者get方法去调用,set是给属性赋值的,get是取得属性值的,被设置和存取的属性一般是私有&#xf…

今日科普:生命杀手——“脑出血”

在我们的日常生活中,有一种被称为“脑出血”的疾病,它像是一位潜伏的杀手,无声无息地威胁着我们的生命。脑出血,简单来说,就是脑部血管破裂,导致血液流入脑组织,形成血肿,压迫和破坏…

SpringTask-Timer实现定时任务

1、Timer 实现定时任务 1.1、JDK1.3 开始推出定时任务实现工具。 1.2、API 执行代码 public static void main(String[] args) throws ParseException {Timer timer new Timer();String str"2024-06-10 23:24:00";Date date new SimpleDateFormat("yyyy-MM…

文本省略实现展开和收起功能(Taro)

目录 前言 思路 代码 CSS 效果 前言 在写项目的过程中很容易有说明性文本溢出需要出现省略号的功能,并且可以展开查看所有信息,并能够收起。我在写项目的过程中就遇到了这个问题,本来是想要使用组件库中的组件进行功能的实现,…