达梦数据库(二)实时主备集群搭建

本文围绕达梦数据库主备集群展开,先介绍数据库模式、状态、归档及守护进程启动等知识,接着阐述安装部署过程,包括准备工作、节点配置、监视器配置和集群启动,最后说明通过非确认监视器验证集群状态,在主节点写数据、从节点查看以验证数据同步。

一、概述

本部分内容是介绍主备集群部署中涉及到的一些知识,便于理解后续的操作步骤

数据库模式

  • normal: 提供正常的数据库服务,操作没有限制;正常生成本地归档,但不发送实时/即时/异步归档

  • primary: 提供正常的数据库服务,部分操作受限(不支持修改表空间文件名、不支持修改 arch_ini 参数);正常生成本地归档,支持实时/即时/异步归档

  • standby: 仅支持备份、查询等只读操作;正常生成本地归档,支持异步归档 ;实时/即时归档均强制失效

主备模式下,主节点为 primary 模式,备节点为 standby 模式

数据库主要状态

  • open: 正常服务状态,可以访问数据库对象,不能进行控制文件维护、归档配置等操作

  • mount:配置状态,不允许访问数据库对象,只能进行控制文件维护、归档配置、数据库模式修改等操作

  • suspend:挂起状态,对比open状态多了磁盘无法写入的限制,一旦修改了数据页,触发 REDO 日志、数据页刷盘,当前用户将被挂起

数据库归档

联机redo日志:默认包含两个联机 Redo 日志文件(0号、1号文件),可以覆盖重用、循环使用,当一个日志文件写满后,自动切换到另一个文件,确保 Redo 日志文件不会随着日志量的增加而增长

本地归档日志:不能被覆盖,若没有配置归档文件空间上限,会在配置的归档目录下生成并保存,若配置归档文件空间上限,在配置空间写满时系统会自动删除最早生成的归档文件;当磁盘空间不足导致归档写入失败时,系统会挂起等待,直到用户释放出足够的磁盘空间,当磁盘损坏导致归档日志写入失败时,系统会强制停机

主备模式下,主机 redo 日志写入归档日志文件和联机日志文件,归档日志文件内容与联机日志保持一致;备机重演日志重新产生的 redo 日志只写入联机日志文件,归档日志文件保存主库产生的 redo 日志,这样可以确保集群中所有节点的归档日志文件内容是完全一致的
主从同步流程

如上图所示,实时主备集群中,备库确认收到主库 redo 日志,并不一定完成了重演,因此主备数据同步存在一定的时间差

ps: 任意一个备库的实时归档/即时归档失败(即使其他备库归档成功了),主库都会切换为Suspend状态。

守护进程启动

Primary/Standby 模式的库启动后,自动进入 Mount 状态。

数据守护系统启动时,所有数据库实例处于 Mount 状态。所有守护进程处于 Startup 状态。Global 守护类型的守护进程,需要相互协调信息,自动将数据库实例切换到 Open 状态,并将守护进程状态也切换为 Open 状态。

Global 守护类型的守护进程通知本地库 Open 的总体原则:

  • 对于备库,如果可加入远程任意一个库,则允许将其 Open;
  • 对于主库,如果远程所有库都可加入自己,则允许将其 Open。

二、安装部署

本次部署实时主备,一主一备,对于部分性能参数均采用默认值,有需要自定义参数的可以自行调整。
实时主备部署拓扑

本次主备集群目录规划

  • 安装目录:/home/dmdba/dmdbms

  • 实例目录:/opt/dmdata/data

  • 归档目录:/opt/dmdata/arch

  • 备份目录:/opt/dmdata/bak

集群信息

机器A 机器B
ip地址 8.134.142.49 159.75.229.38
数据库端口 5236 5236
MAL端口 5336 5336
MAL守护进程端口 5436 5436
守护进程端口 5536 5536
实例名 dmserver1 dmserver2
守护组 dmgroup dmgroup
OGUID 123456 123456

ps: 集群搭建节点间要相互通信,要注意防火墙或服务器安全组策略的设置,确保端口互通

准备工作+安装包下载+交互式安装

主备集群的安装所需的准备工作以及安装包下载、交互式安装与单机一致(初始化数据库实例开始有差别),具体可参考达梦数据库(一)单机部署

  • 此流程集群内所有节点都需执行一次

配置机器 A

初始化数据库
/home/dmdba/dmdbms/bin/dminit PATH=/opt/dmdata/data INSTANCE_NAME=dmserver1

在这里插入图片描述

通过前台方式启动数据库,维持这个界面不动

/home/dmdba/dmdbms/bin/dmserver /opt/dmdata/data/DAMENG/dm.ini

前台启动数据库

新开启一个终端,进入disql客户端

(后文中代码段的 “$” 以及 “SQL>” 是为了方便读者区分代码的执行环境,没有输入意义)

$ /home/dmdba/dmdbms/bin/disql SYSDBA/SYSDBA@127.0.0.1
SQL> ALTER DATABASE MOUNT;
# 开启归档配置
SQL> ALTER DATABASE ARCHIVELOG;
SQL> ALTER DATABASE ADD ARCHIVELOG 'DEST=/opt/dmdata/arch, TYPE=LOCAL, FILE_SIZE=1024, SPACE_LIMIT=51200';
SQL> ALTER DATABASE OPEN;
# 备份数据
SQL> BACKUP DATABASE BACKUPSET '/opt/dmdata/bak/BACKUP_FILE';
# 修改dm.ini配置参数
SQL
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值