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

1.安装前的准备

集群的规划

A机器

B机器

C机器

IP

192.168.164.13

192.168.164.10

192.168.164.9

实例名

GRP1_RT_01

GRP1_RT_02

GRP_ASYNC_03

实例端口

5236

5236

5236

MAL端口

5336

5336

5336

MAL守护进程端口

5436

5436

5436

守护进程端口

5536

5536

5536

OGUID

45331

45331

45331

守护组

GRP1

GRP1

GRP1

关闭防火墙

systemctl status firewalld查看防火墙状态

systemctl stop firewalld 关闭防火墙

systemctl disable firewalld 禁止开机启动防火墙

2.数据库软件安装(三个节点相同操作)

将DM数据库的iso安装包保存到测试机的任意目录下,例如/opt目录下,切换root用户执行挂载命令:

mount -o loop /opt dm8_20230104_x86_rh6_64.iso /mnt

新建安装目录,授予权限

mkdir /data/dm8_20231009

chown dmdba:dinstall -R /data/dm8_20231009

chmod -R 755 /data/dm8_20231009

切换dmdba用户,进入挂载目录,执行安装命令

./DMInstall.bin -i

安装完成,切换root用户执行/data/dm8_20231009/script/root/root_installer.sh,创建 DmAPService

3.初始化数据库

主库

/data/dm8_20231009/bin/dminit PATH=/data/dm8_20231009/data/ INSTANCE_NAME=GRP1_RT_01 PAGE_SIZE=32 EXTENT_SIZE=32 LOG_SIZE=2048

实时备库

/data/dm8_20231009/bin/dminit PATH=/data/dm8_20231009/data/ INSTANCE_NAME=GRP1_RT_02 PAGE_SIZE=32 EXTENT_SIZE=32 LOG_SIZE=2048

异步备库

/data/dm8_20231009/bin/dminit PATH=/data/dm8_20231009/data/ INSTANCE_NAME=GRP1_ASYNC_03 PAGE_SIZE=32 EXTENT_SIZE=32 LOG_SIZE=2048

4.前台启动各个数据库实例

./dmserver /data/dm8_20231009/data/DAMENG/dm.ini

5.开启归档和备份

使用disql命令行./disql SYSDBA/SYSDBA:5236登录数据库

SQL> ALTER DATABASE MOUNT;

SQL> ALTER DATABASE ARCHIVELOG;

SQL> ALTER DATABASE ADD ARCHIVELOG 'DEST=/data/dm8_20231009/data/DAMENG/arch, TYPE=LOCAL, FILE_SIZE=1024, SPACE_LIMIT=51200';

SQL> ALTER DATABASE OPEN;

备份数据

SQL> BACKUP DATABASE BACKUPSET '/data/dm8_20231009/data/DAMENG/bak/BACKUP_FILE';

修改dm.ini

SQL> SP_SET_PARA_VALUE (2,'PORT_NUM',5236);

SQL> SP_SET_PARA_VALUE (2,'DW_INACTIVE_INTERVAL',60);

SQL> SP_SET_PARA_VALUE (2,'ALTER_MODE_STATUS',0);

SQL> SP_SET_PARA_VALUE (2,'ENABLE_OFFLINE_TS',2);

SQL> SP_SET_PARA_VALUE (2,'MAL_INI',1);

SQL> SP_SET_PARA_VALUE (2,'RLOG_SEND_APPLY_MON',64);

关闭前台服务

拷贝备份文件到 实时备库和异步备库机器

scp -r /data/dm8_20231009/data/DAMENG/bak/BACKUP_FILE dmdba@192.168.164.10:/data/dm8_20231009/data/DAMENG/bak

scp -r /data/dm8_20231009/data/DAMENG/bak/BACKUP_FILE

dmdba@192.168.164.9:/data/dm8_20231009/data/DAMENG/bak 

恢复数据

/data/dm8_20231009/bin/dmrman CTLSTMT="RESTORE DATABASE '/data/dm8_20231009/data/DAMENG/dm.ini' FROM BACKUPSET '/data/dm8_20231009/data/DAMENG/bak/BACKUP_FILE'"

/data/dm8_20231009/bin/dmrman CTLSTMT="RECOVER DATABASE '/data/dm8_20231009/data/DAMENG/dm.ini' FROM BACKUPSET '/data/dm8_20231009/data/DAMENG/bak/BACKUP_FILE'"

/data/dm8_20231009/bin/dmrman CTLSTMT="RECOVER DATABASE '/data/dm8_20231009/data/DAMENG/dm.ini' UPDATE DB_MAGIC"

6.配置文件设置

修改dmarch.ini

 vi /data/dm8_20231009/data/DAMENG/dmarch.ini

主库配置

ARCH_WAIT_APPLY            = 0   #0:高性能 1:事务一致

[ARCHIVE_LOCAL]

ARCH_TYPE                = LOCAL  #本地归档类型

ARCH_DEST                = /data/dm8_20231009/data/DAMENG/arch/  #本地归档存放路径

ARCH_FILE_SIZE           = 1024  #单个归档大小,单位 MB

ARCH_SPACE_LIMIT         = 51200  #归档上限,单位 MB

[ARCHIVE_REALTIME1]

ARCH_TYPE                = REALTIME  #实时归档类型

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

[ARCHIVE_ASYNC]

ARCH_TYPE   =ASYNC

ARCH_DEST   =GRP1_ASYNC_03

ARCH_TIMER_NAME   =RT_TIMER

实时备库

ARCH_WAIT_APPLY            = 0   #0:高性能 1:事务一致

[ARCHIVE_LOCAL]

ARCH_TYPE                = LOCAL  #本地归档类型

ARCH_DEST                = /data/dm8_20231009/data/DAMENG/arch/  #本地归档存放路径

ARCH_FILE_SIZE           = 1024  #单个归档大小,单位 MB

ARCH_SPACE_LIMIT         = 51200  #归档上限,单位 MB

[ARCHIVE_REALTIME1]

ARCH_TYPE                = REALTIME  #实时归档类型

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

[ARCHIVE_ASYNC]

ARCH_TYPE   =ASYNC

ARCH_DEST   =GRP1_ASYNC_03

ARCH_TIMER_NAME   =RT_TIMER

异步备库

[ARCHIVE_LOCAL]

ARCH_TYPE                = LOCAL  #本地归档类型

ARCH_DEST                = /data/dm8_20231009/data/DAMENG/arch/  #本地归档存放路径

ARCH_FILE_SIZE           = 1024  #单个归档大小,单位 MB

ARCH_SPACE_LIMIT         = 51200  #归档上限,单位 MB

配置mal系统文件

vi /data/dm8_20231009/data/DAMENG/dmmal.ini

主库、实时备库、异步备库相同

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

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

MAL_TEMP_PATH              = /data/dm8_20231009/data/malpath/  #临时文件目录

MAL_BUF_SIZE               = 512  #单个 MAL 缓存大小,单位 MB

MAL_SYS_BUF_SIZE           = 2048  #MAL 总大小限制,单位 MB

MAL_COMPRESS_LEVEL         = 0  #MAL 消息压缩等级,0 表示不压缩

[MAL_INST1]

MAL_INST_NAME            = GRP1_RT_01  #实例名,和 dm.ini 的 INSTANCE_NAME 一致

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

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

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

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

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

MAL_INST_DW_PORT         = 5536  #实例监听守护进程 TCP 连接的端口

[MAL_INST2]

MAL_INST_NAME            = GRP1_RT_02

MAL_HOST                 = 192.168.164.10

MAL_PORT                 = 5336

MAL_INST_HOST            = 192.168.164.10

MAL_INST_PORT            = 5236

MAL_DW_PORT              = 5436

MAL_INST_DW_PORT         = 5536

[MAL_INST3]

MAL_INST_NAME            = GRP1_ASYNC_03

MAL_HOST                 = 192.168.164.9

MAL_PORT                 = 5336

MAL_INST_HOST            = 192.168.164.9

MAL_INST_PORT            = 5236

MAL_DW_PORT              = 5436

MAL_INST_DW_PORT         = 5536

配置守护进程文件

 vi /data/dm8_20231009/data/DAMENG/dmwatcher.ini

主库、实时备库

[GRP1]

DW_TYPE                  = GLOBAL  #全局守护类型

DW_MODE                  = AUTO  #MANUAL:故障手切 AUTO:故障自切

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

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

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

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

INST_INI                 = /data/dm8_20231009/data/DAMENG/dm.ini  #dm.ini 文件路径

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

INST_STARTUP_CMD         = /data/dm8_20231009/bin/dmserver  #命令行方式启动

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

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

异步备库

[GRP1]

DW_TYPE                  = LOCAL  #全局守护类型

DW_MODE                  = MANUAL  #MANUAL:故障手切 AUTO:故障自切

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

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

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

INST_INI                 = /data/dm8_20231009/data/DAMENG/dm.ini  #dm.ini 文件路径

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

INST_STARTUP_CMD         = /data/dm8_20231009/bin/dmserver  #命令行方式启动

注意组名和OGUID要一致,异步备库不具备故障自动切换功能,DW_MODE配置不起作用,配置为MANUAL即可

定时器配置文件

vi /data/dm8_20231009/data/DAMENG/dmtimer.ini

主库、实时备库需要配置,异步备库不需要配置

[RT_TIMER]

TYPE=2

FREQ_MONTH_WEEK_INTERVAL = 1

FREQ_SUB_INTERVAL = 0

FREQ_MINUTE_INTERVAL = 0

START_TIME = 00:01:00

END_TIME = 23:59:00

DURING_START_DATE = 2023-10-09 11:00:00

DURING_END_DATE = 9999-12-31 23:59:59

NO_END_DATE_FLAG = 1

DESCRIBE = RT_TIMER

IS_VALID = 1

配置监视器文件

vi /data/dm8_20231009/bin/dmmonitor.ini

集群任意节点(一般在备库),配置监视器文件,本文配置在实时备库上,并配置为确认监视器

MON_DW_CONFIRM             = 1  #0:非确认(故障手切) 1:确认(故障自切)

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

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

MON_LOG_FILE_SIZE          = 512  #单个日志大小,单位 MB

MON_LOG_SPACE_LIMIT        = 2048  #日志上限,单位 MB

[GRP1]

MON_INST_OGUID           = 45331  #组 GRP1 的唯一 OGUID 值

MON_DW_IP                = 192.168.164.13:5436  #IP 对应 MAL_HOST,PORT 对应 MAL_DW_PORT

MON_DW_IP                = 192.168.164.10:5436

MON_DW_IP                = 192.168.164.9:5436

7.启动主备集群

使用dmdba用户到数据库安装目录的bin目录下执行以下命令

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

另外开一个终端使用disql连接数据库

主库

SQL> SP_SET_PARA_VALUE (1,'ALTER_MODE_STATUS',1);

SQL> SP_SET_OGUID(45331);

SQL> ALTER DATABASE PRIMARY;

SQL> SP_SET_PARA_VALUE (1,'ALTER_MODE_STATUS',0);

实时备库和异步备库

SQL> SP_SET_PARA_VALUE (1,'ALTER_MODE_STATUS',1);

SQL> SP_SET_OGUID(45331);

SQL> ALTER DATABASE STANDBY;

SQL> SP_SET_PARA_VALUE (1,'ALTER_MODE_STATUS',0);

注册服务

主库

[root@~]# /data/dm8_20231009/script/root/dm_service_installer.sh -t dmserver -p GRP1_RT_01 -dm_ini /data/dm8_20231009/data/DAMENG/dm.ini -m mount

[root@~]# /data/dm8_20231009/script/root/dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /data/dm8_20231009/data/DAMENG/dmwatcher.ini

实时备库

[root@~]# /data/dm8_20231009/script/root/dm_service_installer.sh -t dmserver -p GRP1_RT_02 -dm_ini /data/dm8_20231009/data/DAMENG/dm.ini -m mount

[root@~]# /data/dm8_20231009/script/root/dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /data/dm8_20231009/data/DAMENG/dmwatcher.ini

异步备库

[root@~]# /data/dm8_20231009/script/root/dm_service_installer.sh -t dmserver -p GRP1_ASYNC_03 -dm_ini /data/dm8_20231009/data/DAMENG/dm.ini -m mount

[root@~]# /data/dm8_20231009/script/root/dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /data/dm8_20231009/data/DAMENG/dmwatcher.ini

启动守护进程

dmdba用户在bin目录下执行以下命令

./DmWatcherServiceWatcher start

启动监视器

在实时备库上启动确认监视器,命令如下

 ./dmmonitor /data/dm8_20231009/bin/dmmonitor.ini

8.验证数据同步

主库:使用disql连接数据库,创建表插入数据

实时备库:使用disql连接数据库查询数据

异步备库定时同步数据

使用disql连接数据库查询数据

监视器输入 show arch send info组名.实例名 查看异步备库归档日志信息

  更多关于达梦数据库详细内容请关注达梦在线服务平台官网:

达梦数据库 - 新一代大型通用关系型数据库 | 达梦在线服务平台

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值