1实时备机+1异步备机的数据守护集群部署

一 准备工作

1.规划

在这里插入图片描述

2.数据库即实例规划

数据库安装路径:/home/dmdba/dmdbms
数据库实例路径:/home/dmdba/dmdbms/data

3.关闭防火墙

systemctl stop firewalld 禁用防火墙
systemctl disable firewalld 停止并禁用开机启动
systemctl start firewalld 启动防火墙
systemctl enable firewalld 设置开机启动
systemctl status firewalld

二 创建实例

1.三台机器分别创建实例,开停一次

./dminit path=/home/dmdba/dmdbms/data/ 
./dmserver /home/dmdba/dmdbms/data/DAMENG/dm.ini
exit

在这里插入图片描述
在这里插入图片描述

三 脱机备份主库,两个备份还原

1. 在脱机状态 使用dmrman备份主库,并发送给备库

./dmrman ctlstmt="backup database '/home/dmdba/dmdbms/data/DAMENG/dm.ini' full to backup0601 backupset '/home/dmdba/dmdbms/backup0601'"
scp -r /home/dmdba/dmdbms/backup0601/ dmdba@192.168.100.102:/home/dmdba/backup0601
scp -r /home/dmdba/dmdbms/backup0601/ dmdba@192.168.100.103:/home/dmdba/backup0601

在这里插入图片描述

2.备库上还原,恢复,更新(实时备库和异步备库一样)

./dmrman ctlstmt="restore database '/home/dmdba/dmdbms/data/DAMENG/dm.ini' from backupset '/home/dmdba/backup0601'"
./dmrman ctlstmt="recover database '/home/dmdba/dmdbms/data/DAMENG/dm.ini' from backupset '/home/dmdba/backup0601'"
./dmrman ctlstmt="recover database '/home/dmdba/dmdbms/data/DAMENG/dm.ini' update db_magic"

在这里插入图片描述

四 配置文件

1.主库上配置dm.ini dmmal.ini dmarch.ini dmtimer.ini dmwatcher.ini文件

在这里插入图片描述

dm.ini

INSTANCE_NAME=DM1
ARCH_INI=1
MAL_INI=1
ALTER_MODE_STATUS= 0
ENABLE_OFFLINE_TS = 2
TIMER_INI = 1

dmmal.ini

MAL_CHECK_INTERVAL = 5 
MAL_CONN_FAIL_INTERVAL = 5 
[MAL_INST1] 
MAL_INST_NAME = DM1
MAL_HOST = 192.168.100.101
MAL_PORT = 61141 
MAL_INST_HOST = 192.168.100.101
MAL_INST_PORT = 5236
MAL_DW_PORT = 52141 
MAL_INST_DW_PORT = 33141 
[MAL_INST2] 
MAL_INST_NAME = DM2 
MAL_HOST = 192.168.100.102
MAL_PORT = 61142 
MAL_INST_HOST = 192.168.100.102
MAL_INST_PORT = 5236 
MAL_DW_PORT = 52142 
MAL_INST_DW_PORT = 33142
[MAL_INST3]
MAL_INST_NAME = DM3 #实例名,和 dm.ini 中的 INSTANCE_NAME 一致
MAL_HOST = 192.168.100.103 #MAL 系统监听 TCP 连接的 IP 地址
MAL_PORT = 61143 #MAL 系统监听 TCP 连接的端口
MAL_INST_HOST = 192.168.100.103 #实例的对外服务 IP 地址
MAL_INST_PORT = 5236 #实例的对外服务端口,和 dm.ini 中的 PORT_NUM 一致
MAL_DW_PORT = 52143 #实例对应的守护进程监听 TCP 连接的端口
MAL_INST_DW_PORT = 33143 #实例监听守护进程 TCP 连接的端口

dmarch.ini

[ARCHIVE_REALTIME1] 
ARCH_TYPE = REALTIME 
ARCH_DEST = DM2 
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL 
ARCH_DEST = /home/dmdba/dmdbms/data/DAMENG/arch 
ARCH_FILE_SIZE = 512 
ARCH_SPACE_LIMIT = 10240
[ARCHIVE_ASYNC]
ARCH_TYPE = ASYNC #异步归档类型
ARCH_DEST = DM3 #异步归档目标实例名
ARCH_TIMER_NAME = RT_TIMER #定时器名称,和 dmtimer.ini 中的名称一致

dmwatcher.ini

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

dmtimer.ini

[RT_TIMER] #和 dmarch.ini 中的 ARCH_TIMER_NAME 一致
TYPE = 2
FREQ_MONTH_WEEK_INTERVAL = 1
FREQ_SUB_INTERVAL = 0
FREQ_MINUTE_INTERVAL = 0
START_TIME = 00:00:00
END_TIME = 00:00:00
DURING_START_DATE = 2021-05-31 17:36:09
DURING_END_DATE = 9999-12-31 23:59:59
NO_END_DATE_FLAG = 1
DESCRIBE = RT TIMER

将配置好的部分文件发送给备库

scp dm.ini dmmal.ini dmarch.ini dmwatcher.ini dmtimer.ini dmdba@192.168.100.102:/home/dmdba/dmdbms/data/DAMENG/
scp dm.ini dmmal.ini dmarch.ini dmdba@192.168.100.103:/home/dmdba/dmdbms/data/DAMENG/

在这里插入图片描述

2 实时备库上配置dm.ini dmmal.ini dmarch.ini dmtimer.ini dmwatcher.ini dmtimer.ini

dm.ini (将DM1改为DM2)

INSTANCE_NAME=DM2

dmarch.ini(将DM2改为DM1)

ARCH_DEST = DM1

dmmal.ini(一样不用修改)

dmwatcher.ini(一样不用修改)

dmtimer.ini(一样不用修改)

3.异步备库上配置dm.ini dmmal.ini dmarch.ini dmtimer.ini dmwatcher.ini dmmonitor.ini

dm.ini(将DM1改为DM3)

INSTANCE_NAME=DM3

dmarch.ini(只需要配本地归档)

[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL 
ARCH_DEST = /home/dmdba/dmdbms/data/DAMENG/arch 
ARCH_FILE_SIZE = 512 
ARCH_SPACE_LIMIT = 10240

dmwatcher.ini

[GRP1]
DW_TYPE = LOCAL #本地守护类型
DW_MODE = MANUAL #故障手动切换模式
DW_ERROR_TIME = 10 #远程守护进程故障认定时间
INST_ERROR_TIME = 10 #本地实例故障认定时间
INST_OGUID = 453331 #守护系统唯一 OGUID 值
INST_INI = /home/dmdba/dmdbms/data/3DW_3/dm.ini #dm.ini 配置文件路径
INST_AUTO_RESTART = 1 #打开实例的自动启动功能
INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver #命令行方式启动

dmmonitor.ini

MON_DW_CONFIRM = 1 #确认监视器模式
MON_LOG_PATH = /home/dmdba/log #监视器日志文件存放路径
MON_LOG_INTERVAL = 60 #每隔 60s 定时记录系统信息到日志文件
MON_LOG_FILE_SIZE = 32 #每个日志文件最大 32M
MON_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间
[GRP1]
MON_INST_OGUID = 453331 #组 GRP1 的唯一 OGUID 值
#以下配置为监视器到组 GRP1 的守护进程的连接信息,以―IP:PORT‖的形式配置
#IP 对应 dmmal.ini 中的 MAL_HOST,PORT 对应 dmmal.ini 中的 MAL_DW_PORT
MON_DW_IP = 192.168.100.101:52141
MON_DW_IP = 192.168.100.102:52142
#新增到异步备库 GRP1_LOCAL_01 守护进程的连接信息
MON_DW_IP = 192.168.100.103:52143

dmmal.ini(一样不用修改)

dmtimer.ini(一样不用修改)

五 注册服务

切换用户,到root路径下

su root
cd /home/dmdba/dmdbms/script/root

主库

./dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/dmdbms/data/DAMENG/dm.ini -m mount -p DM1
./dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/dmdbms/data/DAMENG/dm.ini -m mount -p DM1

实时备库

./dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/dmdbms/data/DAMENG/dm.ini -m mount -p DM2
./dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/dmdbms/data/DAMENG/dm.ini -m mount -p DM2

异步备库

./dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/dmdbms/data/DAMENG/dm.ini -m mount -p DM3
./dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/dmdbms/data/DAMENG/dm.ini -m mount -p DM3
./dm_service_installer.sh -t dmmonitor -monitor_ini /home/dmdba/dmdbms/data/DAMENG/dmmonitor.ini -p DM3

在这里插入图片描述

六 配置OGUID

切换dmdba用户,进入bin路径

su dmdba
cd /home/dmdba/dmdbms/bin

主库

./DmServiceDM1 start
./disql
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1); 
sp_set_oguid(453331); 
alter database primary;
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

在这里插入图片描述

实时备库

./DmServiceDM2 start
./disql
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1); 
sp_set_oguid(453331); 
alter database standby;
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

在这里插入图片描述

异步备库

./DmServiceDM3 start
./disql
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1); 
sp_set_oguid(453331); 
alter database standby;
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

在这里插入图片描述

七 启动其他服务

主库

./DmWatcherServiceDM1 start

实时备库

./DmWatcherServiceDM2 start

异步备库

./DmWatcherServiceDM3 start
./DmMonitorServiceDM3 start

八 查看监控日志

cd /home/dmdba/log
tail -100f dmmonitor***.log

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ava实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),可运行高分资源 Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现
C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植性强等特点,被广泛应用于操作系统、嵌入式系统、数据库、编译器等领域的开发。C语言的基本语法包括变量、数据类型、运算符、控制结构(如if语句、循环语句等)、函数、指针等。下面详细介绍C语言的基本概念和语法。 1. 变量和数据类型 在C语言中,变量用于存储数据数据类型用于定义变量的类型和范围。C语言支持多种数据类型,包括基本数据类型(如int、float、char等)和复合数据类型(如结构体、联合等)。 2. 运算符 C语言中常用的运算符包括算术运算符(如+、、、/等)、关系运算符(如==、!=、、=、<、<=等)、逻辑运算符(如&&、||、!等)。此外,还有位运算符(如&、|、^等)和指针运算符(如、等)。 3. 控制结构 C语言中常用的控制结构包括if语句、循环语句(如for、while等)和switch语句。通过这些控制结构,可以实现程序的分支、循环和多路选择等功能。 4. 函数 函数是C语言中用于封装代码的单元,可以实现代码的复用和模块化。C语言中定义函数使用关键字“void”或返回值类型(如int、float等),并通过“{”和“}”括起来的代码块来实现函数的功能。 5. 指针 指针是C语言中用于存储变量地址的变量。通过指针,可以实现对内存的间接访问和修改。C语言中定义指针使用星号()符号,指向数组、字符串和结构体等数据结构时,还需要注意数组名和字符串常量的特殊性质。 6. 数组和字符串 数组是C语言中用于存储同类型数据的结构,可以通过索引访问和修改数组中的元素。字符串是C语言中用于存储文本数据的特殊类型,通常以字符串常量的形式出现,用双引号("...")括起来,末尾自动添加'\0'字符。 7. 结构体和联合 结构体和联合是C语言中用于存储不同类型数据的复合数据类型。结构体由多个成员组成,每个成员可以是不同的数据类型;联合由多个变量组成,它们共用同一块内存空间。通过结构体和联合,可以实现数据的封装和抽象。 8. 文件操作 C语言中通过文件操作函数(如fopen、fclose、fread、fwrite等)实现对文件的读写操作。文件操作函数通常返回文件指针,用于表示打开的文件。通过文件指针,可以进行文件的定位、读写等操作。 总之,C语言是一种功能强大、灵活高效的编程语言,广泛应用于各种领域。掌握C语言的基本语法和数据结构,可以为编程学习和实践打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值