文章目录

  • 达梦数据守护集群介绍
  • 一、前提
  • 二、环境准备
    • 1.数据守护集群搭建
    • 2.配置过程

达梦数据守护集群介绍

达梦数据守护集群软件(DM Data Watch)是一种集成化的高可靠性解决方案,该方案基于数据库REDO日志,不依赖于第三方软件和存储,用于解决由于硬件故障、自然灾害等原因导致的数据库服务长时间中断问题,提供不间断数据库服务,可同时满足用户对数据安全性和高可用性的要求。数据守护包含的主要部件有:主数据库、备数据库、联机REDO日志系统、本地REDO日志归档服务、实时REDO日志归档服务、REDO日志重做服务、MAL系统、守护进程和监视器。其中,守护进程和监视器是两个独立的工具,其他部件集成在DM8数据库服务器DMSERVER中。

一、前提

搭建数据守护系统前,达梦使用的服务器版本应一致,同时还应注意各实例所在主机的操作系统位数、大小端模式、时区及时间设置都应一致,以及使用同一个用户启动 DM 服务器和守护进程 dmwatcher,以免系统在运行时出现意想不到的错误。

二、环境准备

准备两台机器用来部署主备库,其中dm1和dm2配置两块网卡,一块接入内部网络交换模块,一块接入到外部交换机。

两台机器都先安装dm8数据库软件其中主库创建实例,从库只安装软件,安装路径为'/dm/dmdbs',执行程序保存在'/dm/dmdbs/bin'目录中,数据存放路径为'/dm/dmdbs/data',归档日志路径'/dm/dmarch'。

详情:

主机名

ip(私网)

ip(外网)

实例名

dm1

10.101.101.201

10.101.103.201

DMDB

dm2

10.101.101.202

10.101.103.202

DMDB2

系统版本

服务端口

心跳端口

守护监听端口

守护进程端口

麒麟v10

52361

52381

52371

52391

1.数据守护集群搭建

配置数据守护之前,必须先通过备份还原方式同步各数据库的数据,确保各数据的数据保持完全一致。主库可以是新初始化的数据库,也可以是正在生产、使用中的数据库。

不能使用分别初始化库或者直接拷贝数据文件的方法,原因如下:

  • 每个库都有一个永久魔数(permenant_magic),一经生成,永远不会改变,主库传送日志时会判断这个值是否一样,确保是来自同一个数据守护环境中的库,否则传送不了日志。
  • 由于 dminit 初始化数据库时,会生成随机密钥用于加密,每次生成的密钥都不相同,备库无法解析采用主库密钥加密的数据。
  • 每个库都有一个数据库魔数(DB_MAGIC),每经过一次还原、恢复操作,DB_MAGIC就会产生变化,需要通过这种方式来区分同一个数据守护环境中各个不同的库。

如果是初始搭建环境,可以通过对主库脱机备份、对备库脱机还原的方式来准备数据,如果主库已经处于运行状态,则可以对主库进行联机备份、对备库脱机还原的方式来准备数据。

本次由于是初始搭建环境,所以采用对主库脱机备份、对备库脱机还原的方式来准备数据.

2.配置过程

创建用户&组

groupadd -g  dinstall

useradd -u  -g dinstall -m -d /home/dmdba -s /bin/bash dmdba

passwd dmdba

关闭防火墙

systemctl status firewalld

systemctl stop firewalld

systemctl disable firewalld

修改selinux.conf为disabled

创建安装目录

mkdir -p /dm/dmdbms

mkdir -p /dm/dmarch

mkdir -p /dm/dmbak

chown -R dmdba:dinstall /dm/

chmod -R 775 /dm/

配置环境变量

vi .bash_profile

export DM_HOME="/dm/dmdbms"

export LD_LIBRARY_PATH="/dm/dmdbms/bin:$LD_LIBRARY_PATH"

export PATH="/dm/dmdbms/bin:$PATH"

修改系统参数

cat /etc/security/limits.conf

dmdba      soft    nofile  65536

dmdba      hard    nofile  65536

dmdba      soft    nproc   102400

dmdba      hard    nproc   63653

dmdba      soft    core  unlimited

dmdba      hard    core  unlimited

介质挂载:

mount dm8_20220928_x86_kylin10_64_ent_8.1.2.138_pack3.iso

cd /mnt/cdrom

达梦安装(主)

[dmdba@dm1 cdrom]$ ./DMInstall.bin –i

Please select the installer's language (E/e:English C/c:Chinese) [E/e]:

Extract install files..........

core file size          (blocks, -c) 0

data seg size           (kbytes, -d) unlimited

scheduling priority             (-e) 0

file size               (blocks, -f) unlimited

pending signals                 (-i) 31096

max locked memory       (kbytes, -l) 64

max memory size         (kbytes, -m) unlimited

open files                      (-n) 1024

pipe size            (512 bytes, -p) 8

POSIX message queues     (bytes, -q) 819200

real-time priority              (-r) 0

stack size              (kbytes, -s) 8192

cpu time               (seconds, -t) unlimited

max user processes              (-u) 4096

virtual memory          (kbytes, -v) unlimited

file locks                      (-x) unlimited

The max number of open files is too little, suggest to set 65536 or more to number of open files.

Welcome to DM DBMS Installer

Whether to input the path of Key File? (Y/y:Yes N/n:No) [Y/y]:n

Whether to Set The TimeZone? (Y/y:Yes N/n:No) [Y/y]:n

Installation Type:

1 Typical

2 Server

3 Client

4 Custom

Please Input the number of the Installation Type [1 Typical]:

Require Space: 1178M

Please Input the install path [/home/dmdba/dmdbms]:/dm/dmdbms

No write permission!

Please Input the install path [/home/dmdba/dmdbms]:/dm/dmdbms

Available Space:449G

Please Confirm the install path(/dm/dmdbms)? (Y/y:Yes N/n:No) [Y/y]:y

Pre-Installation Summary

Installation Location: /dm/dmdbms

Require Space: 1178M

Available Space: 448G

Version Information:

Expire Date:

Installation Type: Typical

Confirm to Install? (Y/y:Yes N/n:No):

Confirm to Install? (Y/y:Yes N/n:No):y

2022-10-12 17:46:20

[INFO] Installing DM DBMS...

2022-10-12 17:46:20

[INFO] Installing BASE Module...

2022-10-12 17:46:22

[INFO] Installing SERVER Module...

2022-10-12 17:46:23

[INFO] Installing CLIENT Module...

2022-10-12 17:46:24

[INFO] Installing DRIVERS Module...

2022-10-12 17:46:24

[INFO] Installing MANUAL Module...

2022-10-12 17:46:24

[INFO] Installing SERVICE Module...

2022-10-12 17:46:25

[INFO] Move log file to log directory.

2022-10-12 17:46:25

[INFO] Installed DM DBMS completely.

Please execute the commands by root:

/dm/dmdbms/script/root/root_installer.sh

End

[root@dm1 soft]# /dm/dmdbms/script/root/root_installer.sh

Move /dm/dmdbms/bin/dm_svc.conf to /etc

Modify the files' mode of DM Server

Create the DmAPService service

Created symlink from

/etc/systemd/system/multi-user.target.wants/DmAPService.service to /usr/lib/systemd/system/DmAPService.service.

Finished to create the service (DmAPService)

Start the DmAPService service

端口解释:

服务端口:对外提供数据库服务的端口

心跳端口:用于数据同步的端口

守护监听端口:数据守护监听数据库的端口

守护进程端口:datawatch收集数据守护信息的端口

主:

dminit PATH=/dm/dmdbms DB_NAME=DMDB INSTANCE_NAME=DMDB PORT_NUM=52361  PAGE_SIZE=32 EXTENT_SIZE=32 CHARSET=1 CASE_SENSITIVE=0 LENGTH_IN_CHAR=0 BLANK_PAD_MODE=1

------初始化数据库

dmserver /dm/dmdbms/DMDB/dm.ini

------启动成功后ctrl+c 退出

./dm_service_installer.sh -t dmserver -dm_ini /dm/dmdbms/DMDB/dm.ini -p DMDB

------配置服务

配置服务后,可以用DmService 管理:

DmServiceDMDB start

Dmdba用户:

1)主库开启归档 alter databse archivelog 并指定路径

2)backup database '/dm/dmdbms/DMDB/dm.ini' full;

达梦安装(从库)

dminit PATH=/dm/dmdbms  DB_NAME=DMDB INSTANCE_NAME=DMDB2 PORT_NUM=52361  PAGE_SIZE=32 EXTENT_SIZE=32 CHARSET=1 CASE_SENSITIVE=0 LENGTH_IN_CHAR=0 BLANK_PAD_MODE=1

./dm_service_installer.sh -t dmserver -dm_ini /dm/dmdbms/DMDB/dm.ini -p DMDB

主库的备份集cp到从库:

scp ./* dm2:/dm/dmbak/

恢复备库:

restore database '/dm/dmdbms/DMDB/dm.ini' from backupset '/dm/dmbak/DB_HTDMDB_FULL_20221013_113553_411581';

recover database '/dm/dmdbms/DMDB/dm.ini' from backupset '/dm/dmbak/DB_HTDMDB_FULL_20221013_113553_411581';

recover database '/dm/dmdbms/DMDB/dm.ini' update db_magic;

主从系统开启服务自启动

systemctl enable DmServiceDMDB.service

systemctl start DmServiceDMDB.service

主库:

vi /dm/dmdbms/DMDB/dm.ini
INSTANCE_NAME  = DMDB            #实例名,建议使用―组名_守护环境_序号‖的命名方式,总长度不能超过 16
PORT_NUM  = 52361                        #数据库实例监听端口
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 次的日志发送信息

vi /dm/dmdbms/DMDB/dmmal.ini
[MAL_INST1]

MAL_INST_NAME = DMDB

MAL_HOST = 10.101.101.201

MAL_PORT = 52381

MAL_DW_PORT = 52391

MAL_INST_HOST = 10.101.103.201

MAL_INST_PORT = 52361

MAL_INST_DW_PORT = 52371

[MAL_INST2]

MAL_INST_NAME = DMDB2

MAL_HOST = 10.101.101.202

MAL_PORT = 52381

MAL_DW_PORT = 52391

MAL_INST_HOST = 10.101.103.202

MAL_INST_PORT = 52361

MAL_INST_DW_PORT = 52371

vi /dm/dmdbms/DMDB/dmarch.ini
[ARCHIVE_REALTIME]

ARCH_TYPE = REALTIME

ARCH_DEST = DMDB2

vi /dm/dmdbms/DMDB/dmwatcher.ini
[GRP1] #守护进程组名

DW_TYPE = GLOBAL #全局守护类型

DW_MODE = AUTO #自动切换模式

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

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

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

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

INST_INI = /dm/dmdbms/DMDB/dm.ini #dm.ini 配置文件路径

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

INST_STARTUP_CMD = /dm/dmdbms/bin/dmserver #命令行方式启动

RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阈值,默认关闭

RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阈值,默认关闭

./dmserver /dm/dmdbms/DMDB/dm.ini mount

disql sysdba 
回车

SQL> select instance_name,status$ from v$instance;
mount

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

备库:

vi /dm/dmdbms/DMDB/dm.ini
INSTANCE_NAME  = DMDB            #实例名,建议使用―组名_守护环境_序号‖的命名方式,总长度不能超过 16
PORT_NUM  = 52361                         #数据库实例监听端口
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 次的日志发送信息

vi /dm/dmdbms/DMDB/dmmal.ini
[MAL_INST1]

MAL_INST_NAME = DMDB

MAL_HOST = 10.101.101.201

MAL_PORT = 52381

MAL_DW_PORT = 52391

MAL_INST_HOST = 10.101.103.201

MAL_INST_PORT = 52361

MAL_INST_DW_PORT = 52371

[MAL_INST2]

MAL_INST_NAME = DMDB2

MAL_HOST = 10.101.101.202

MAL_PORT = 52381

MAL_DW_PORT = 52391

MAL_INST_HOST = 10.101.103.202

MAL_INST_PORT = 52361

MAL_INST_DW_PORT = 52371

vi /dm/dmdbms/DMDB/dmarch.ini
[ARCHIVE_REALTIME]

ARCH_TYPE = REALTIME

ARCH_DEST = DMDB2

vi /dm/dmdbms/DMDB/dmwatcher.ini
[GRP1] #守护进程组名

DW_TYPE = GLOBAL #全局守护类型

DW_MODE = AUTO #自动切换模式

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

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

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

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

INST_INI = /dm/dmdbms/DMDB/dm.ini #dm.ini 配置文件路径

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

INST_STARTUP_CMD = /dm/dmdbms/bin/dmserver #命令行方式启动

RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阈值,默认关闭

RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阈值,默认关闭

./dmserver /dm/dmdbms/DMDB/dm.ini mount

SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
SQL>sp_set_oguid(270001);
alter database standby;
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

vi /dm/dmdbms/DMDB/dm.ini
ALTER_MODE_STATUS               = 1

主从:
[root@dm1&2 ~]# /dm/dmdbms/script/root/dm_service_installer.sh -t dmwatcher -watcher_ini /dm/dmdbms/DMDB/dmwatcher.ini -p mon
Created symlink /etc/systemd/system/multi-user.target.wants/DmWatcherServicemon.service → /usr/lib/systemd/system/DmWatcherServicemon.service.
创建服务(DmWatcherServicemon)完成

配置监视器:
dmmonitor.ini:

MON_DW_CONFIRM = 1 #确认监视器模式

MON_LOG_PATH = /dm/dmdbms/log #监视器日志文件存放路径

MON_LOG_INTERVAL = 60 #每隔 60s 定时记录系统信息到日志文件

MON_LOG_FILE_SIZE = 32 #每个日志文件最大 32M

MON_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间

[GRP1] #守护进程组名,和dmwatcher.ini中的保持一致

MON_INST_OGUID = 270001 #组 GRP1 的唯一 OGUID 值

#以下配置为监视器到组 GRP1 的守护进程的连接信息,以―IP:PORT‖的形式配置

#IP 对应 dmmal.ini 中的 MAL_HOST,PORT 对应 dmmal.ini 中的 MAL_DW_PORT

MON_DW_IP = 10.101.101.201:52391

MON_DW_IP = 10.101.101.202:52391

主:
/dm/dmdbms/bin/dmwatcher /dm/dmdbms/DMDB/dmwatcher.ini

dmmonitor/dm/dmdbms/DMDB/dmmonitor.ini

systemctl start DmWatcherServicemon

监视器执行show命令检查状态
show

验证:

主:
create table dwdb(id int primary key,name varchar(20));

insert into dwdb values(1,'pengfei');

commit;

备:

select * from dwdb;

最后确认是否同步到从库。

达梦数据库数据守护集群搭建(命令行方式)相关推荐

  1. 达梦数据库数据守护集群搭建

    目录 数据守护 集群搭建 备份还原 dm.ini文件修改 配置dmmal.ini文件 配置dmarch.ini归档文件 配置dmwatcher.ini文件 监视器文件配置 mount启动数据库,设置o ...

  2. DM数据库数据守护集群搭建

    目录 1.环境说明 2.数据准备 (1)正常关闭数据库:前台+后台 (2)进行脱机备份 (3)拷贝备份文件到备机 (4)备机进行脱机数据库还原与恢复 3.配置主库DMDB1 3.1 配置dm.ini ...

  3. 达梦数据库DSC+DW集群搭建

    目录 1 配置说明 2 环境说明 3 配置 DMDSC 主库环境 3.1 配置 dmarch.ini 3.2 配置 dm.ini 3.3 备份 DMDSC 库 4 配置单节点备库 5  配置 dm.i ...

  4. 达梦数据库安装(Linux下的命令行方式)_yxy

    Linux下数据库安装 1 安装前准备工作 1.1 查看操作系统基本信息 1.2 检查内存和存储空间 1.3 创建安装用户 1.4 检查操作系统限制 2 安装DM 2.1 挂载 2.2 执行安装文件 ...

  5. 达梦7数据库数据守护集群 技术方案

    达梦数据库数据守护集群 技术方案 目录 1 DM7数据守护集群部署实施流程 3 1.1 流程 3 1.2 系统架构图 3 1.3 网络拓扑图 4 2 部署规划 4 2.1 路径规划 4 2.2 实例规 ...

  6. 达梦数据库数据守护搭建

    达梦数据库数据守护搭建 搭建数据守护准备工作 填写配置文件 启动数据守护集群 启动确认监视器 搭建数据守护准备工作 两个网卡:数据守护集群需要MAL链路通讯,需要额外的网卡. 数据准备:同一个数据守护 ...

  7. 达梦主备守护集群原理详解

    达梦主备集群顾名思义就是一主一备(也可以一主多备)是一种集成化的高可靠性解决方案,同时满足用户对数据安全性和高可用性的要求.解决由于硬件故障.自然灾害等原因导致的数据库服务长时间中断问题,满足用户不间 ...

  8. DM数据守护集群搭建

    DM数据守护集群搭建 文章目录 DM数据守护集群搭建 一.概述 二.系统结构图 三.基本概念 (1)主库 (2)备库 (3)Redo日志 (4)Redo日志传输 (5)Redo日志重演 (6)守护进程 ...

  9. DM8数据守护集群搭建

    DM8数据守护集群搭建 1.安装规划 1.1 环境说明 1.2 端口配置 2.准备主库 2.1. 修改dm.ini参数 2.2. 配置dmmal.ini 2.3 配置dmwatcher.ini 3.备 ...

最新文章

  1. Python最常用的函数、基础语句有哪些?
  2. C++读取txt文件
  3. js正则--验证6-12位至少包含数字、小写字母和大些字母中至少两种字符,
  4. l2-004 这是二叉搜索树吗? (25分)_什么是 “线段树” ?
  5. Python中type()详解:动态创建类
  6. 详细讲解JAVA中的IO流
  7. 求给定精度的简单交错序列部分和_单个神经元的简单模型:Leaky integrate and fire (LIF) model...
  8. Eclipse上GIT插件EGIT使用手册之五_查看历史记录
  9. linux联想电脑wifi密码,联想笔记本Y7000—ubuntu16.4无法开启wifi的解决办法
  10. 225 Implement Stack using Queues(用队列实现栈Medium)
  11. sklearn 文本处理
  12. python安装jupyterlab_JupyterLab的安装及使用
  13. matlab memorySian,matlab内存溢出的解决方案
  14. Microsoft Visio 2010密钥
  15. ZCANPRO-CAN/CANFD收发软件:安装及使用
  16. 暴力裁员绝症员工,网易刚刚道歉!丁磊沉默,刘强东意外刷屏:说了这句硬气的话……
  17. 电子信息专业实习报告与总结
  18. 如何制作语音聊天程序源码,制作语音社交交友APP
  19. 能上QQ不能上网的解决方法
  20. 论文解读:Making Pre-trained Language Models Better Few-shot Learners(LM-BFF)

热门文章

  1. IT职业教育(10)教育要先学会换位思考
  2. Linux网络包的收发流程
  3. 【安全知识分享】PPTX|行为安全观察(BAS)培训课件(附下载)
  4. 计算机基础知识上教案,第一章 计算机基础知识教案
  5. 奥林巴斯新款便携相机Stylus SH-1发布 具备五轴防抖哟
  6. 青软实训.Net学习笔记
  7. TI电机控制库 SVGEN_DQ and FC_PWM_DRV问题的一些理解
  8. 语言模型 实现 下一单词预测(next-word prediction)
  9. 网络协议之三(ARP、RAPR)
  10. Windows下使用Qt检测U盘插入和拔出的示例Demo程序