Dm8 mpp主备部署

1、介绍

1.1 MPP 主备

MPP 主备就是在MPP 集群的基础上,为每一个 MPP 节点配置一套实时主备系统,这些实时主备系统一起构成了 MPP .备库只做数据容灾、备份,MPP 备库并不是 MPP 集群的一部分,只是某个MPP 节点(主库)的镜像主备系统。通过dmmpp.ctl文件可以实现mpp集群的主备切换,需要所有节点的dm.ini文件都配置MPP_INI=1。dmmpp.ctl控制文件记录了mpp集群的节点信息,在主备切换或者备库接管后必须更新新的主库信息到dmpp.ctl文件中。

1.2 dmmpp.ctl文件

dmmpp.ctl 控制文件的信息主要包括:系统状态、MPP 节点数、文件校验码、故障节点数、故障节点序号、配置项名、实例名、实例节点序号,以及根据节点数和实例序号生成 的哈希映射数组等。MPP 集群中节点间的关联信息记录在dmmpp.ctl 控制文件中,因此, 所有MPP 主节点存放的 dmmpp.ctl 文件内容要求完全一致。

环境说明:4台已经安装dm8数据库,操作系统版本rhel 7.4

EP01主库:192.168.10.21和192.168.11.21

EP02主库:192.168.10.22和192.168.11.22

EP01备库:192.168.10.23和192.168.11.23

EP02备库:192.168.10.24和192.168.11.24

监视器:192.168.11.20

达梦数据库安装参考:https://mp.csdn.net/mp_blog/creation/editor/119575165

1、备份还原

2.1备份

#停止EP01主库数据库dmserver服务,启动dmap服务。

su - dmdba

cd /dm8/dmdbms/bin

./DmServiceDMSERVER stop

./DmAPService start

#EP01主库使用dmrman执行备份

./dmrman

RMAN>backup database '/dm8/dmdata/EP01/DAMENG/dm.ini' backupset 'full_bak';

2.2 还原

#将EP01主库的备份拷贝到EP01备库和EP02的主备库进行还原。

#停止EP01备库的数据库dmserver服务,启动dmap服务。

su - dmdba

cd /dm8/dmdbms/bin

./DmServiceDMSERVER stop

./DmAPService start

#使用dmrman还原

su - dmdba

cd /dm8/dmdbms/bin

RMAN>restore database '/dm8/dmdata/EP01/DAMENG/dm.ini' from backupset '/dm8/bak/full_bak';

RMAN>recover database '/dm8/dmdata/EP01/DAMENG/dm.ini' from backupset '/dm8/bak/full_bak';

RMAN>recover database '/dm8/dmdata/EP01/DAMENG/dm.ini' update db_magic;

#停止EP02主备库的数据库dmserver服务,启动dmap服务。

su - dmdba

cd /dm8/dmdbms/bin

./DmServiceDMSERVER stop

./DmAPService start

#使用dmrman还原

su - dmdba

cd /dm8/dmdbms/bin

RMAN>restore database '/dm8/dmdata/EP02/DAMENG/dm.ini' from backupset '/dm8/bak/full_bak';

RMAN>recover database '/dm8/dmdata/EP02/DAMENG/dm.ini' from backupset '/dm8/bak/full_bak';

RMAN>recover database '/dm8/dmdata/EP02/DAMENG/dm.ini' update db_magic;

3、EP01主备配置

3.1配置dm.ini

#EP01主库

cd /dm8/dmdata/EP01/DAMENG

vi dm.ini

INSTANCE_NAME = GRP1_MPP_EP01

PORT_NUM = 5236

DW_INACTIVE_INTERVAL = 60 

ALTER_MODE_STATUS = 0

ENABLE_OFFLINE_TS = 2

MAL_INI = 1 

ARCH_INI = 1

MPP_INI = 1

RLOG_SEND_APPLY_MON = 64

#EP01备库

cd /dm8/dmdata/EP01/DAMENG

vi dm.ini

INSTANCE_NAME = GRP1_MPP_EP11

说明:其他参数和主库一样

3.2配置dmmal.ini

#EP01和EP02主备库的dmmal.ini配置一样

cd /dm8/dmdata/EP01/DAMENG

vi dmmal.ini

MAL_CHECK_INTERVAL = 5

MAL_CONN_FAIL_INTERVAL = 5

[MAL_INST1]

MAL_INST_NAME = GRP1_MPP_EP01

MAL_HOST = 192.168.11.21

MAL_PORT = 61141

MAL_INST_HOST = 192.168.10.21

MAL_INST_PORT = 5236

MAL_DW_PORT = 52141

MAL_INST_DW_PORT = 33141

[MAL_INST2]

MAL_INST_NAME = GRP1_MPP_EP11

MAL_HOST = 192.168.11.22

MAL_PORT = 61142

MAL_INST_HOST = 192.168.10.22

MAL_INST_PORT = 5236

MAL_DW_PORT = 52142

MAL_INST_DW_PORT = 33142

[MAL_INST3]

MAL_INST_NAME = GRP2_MPP_EP02

MAL_HOST = 192.168.11.23

MAL_PORT = 61143

MAL_INST_HOST = 192.168.10.23

MAL_INST_PORT = 5236

MAL_DW_PORT = 52143

MAL_INST_DW_PORT = 33143

[MAL_INST4]

MAL_INST_NAME = GRP2_MPP_EP22

MAL_HOST = 192.168.11.24

MAL_PORT = 61144

MAL_INST_HOST = 192.168.10.24

MAL_INST_PORT = 5236

MAL_DW_PORT = 52144

MAL_INST_DW_PORT = 33144

3.3配置dmarch.ini

#EP01主库

cd /dm8/dmdata/EP01/DAMENG

vi dmarch.ini

[ARCHIVE_REALTIME]

ARCH_TYPE = REALTIME

ARCH_DEST = GRP1_MPP_EP11

[ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL

ARCH_DEST = /dm8/arch

ARCH_FILE_SIZE = 1024

ARCH_SPACE_LIMIT = 512000

#EP01备库

cd /dm8/dmdata/EP01/DAMENG

vi dmarch.ini

[ARCHIVE_REALTIME]

ARCH_DEST = GRP1_MPP_EP01

说明:其他参数和主库一致

3.4配置dmmpp.ini

#EP01主库,所有节点都使用这个dmmpp.ctl

cd /dm8/dmdata/EP01/DAMENG

vi dmmpp.ini

[service_name1]

mpp_seq_no = 0

mpp_inst_name = GRP1_MPP_EP01

[service_name2]

mpp_seq_no = 1

mpp_inst_name = GRP2_MPP_EP02

#转换成dmmpp.ctl

cd /dm/dmdbms/bin

./dmctlcvt TYPE=2 SRC=/dm8/dmdata/EP01/DAMENG/dmmpp.ini DEST=/dm8/dmdata/EP01/DAMENG/dmmpp.ctl

#EP01备库,从EP01主库拷贝dmmpp.ctl到相同的目录下。

3.5配置dmwatcher.ini

#EP01主库和EP01备库的dmwatcher.ini配置一样

cd /dm8/dmdata/DAMENG

vi dmwatcher.ini

[GRP1]

DW_TYPE = GLOBAL

DW_MODE = MANUAL

DW_ERROR_TIME = 10

INST_RECOVER_TIME = 60

INST_ERROR_TIME = 10

INST_OGUID = 202108101

INST_INI = /dm8/dmdata/EP01/DAMENG/dm.ini

INST_AUTO_RESTART = 1

INST_STARTUP_CMD = /dm8/dmdbms/bin/dmserver

RLOG_SEND_THRESHOLD = 0

RLOG_APPLY_THRESHOLD = 0

3.6设置主备角色

#EP01主库

cd /dm8/dmdbms/bin

#以mount方式启动主库数据库服务

./dmserver /dm8/dmdata/EP01/DAMENG/dm.ini mount

#如果./disql SYSDBA/SYSDBA登录不了使用以下这种方式登录

./disql SYSDBA/SYSDBA@192.168.10.21:5236#"{mpp_type=local,inet_type=tcp}"

#设置为主库

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

SQL> sp_set_oguid(202108101);

SQL> alter database primary;

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

SQL> select file_LSN, cur_LSN from v$rlog;

#EP01备库

cd /dm8/dmdbms/bin

#以mount方式启动备库数据库服务

./dmserver /dm8/dmdata/EP01/DAMENG/dm.ini mount

./disql sysdba/SYSDBA

#设置为备库

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

SQL> sp_set_oguid(202108101);

SQL> alter database standby;

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

SQL> select file_LSN, cur_LSN from v$rlog;

4、EP02主备配置

4.1配置dm.ini

#EP02主库

cd /dm8/dmdata/EP02/DAMENG

vi dm.ini

INSTANCE_NAME = GRP2_MPP_EP02

PORT_NUM = 5236

DW_INACTIVE_INTERVAL = 60 

ALTER_MODE_STATUS = 0

ENABLE_OFFLINE_TS = 2

MAL_INI = 1 

ARCH_INI = 1

MPP_INI = 1

RLOG_SEND_APPLY_MON = 64

#EP02备库

cd /dm8/dmdata/EP02/DAMENG

vi dm.ini

INSTANCE_NAME = GRP2_MPP_EP22

说明:其他参数和EP02主库一致

4.2配置dmmal.ini

#EP01和EP02主备库的dmmal.ini配置一样

cd /dm8/dmdata/EP02/DAMENG

vi dmmal.ini

4.3配置dmarch.ini

#EP02主库

cd /dm8/dmdata/EP02/DAMENG

vi dmarch.ini

[ARCHIVE_REALTIME]

ARCH_TYPE = REALTIME

ARCH_DEST = GRP2_MPP_EP22

[ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL

ARCH_DEST = /dm8/arch

ARCH_FILE_SIZE = 1024

ARCH_SPACE_LIMIT = 512000

#EP02备库

cd /dm8/dmdata/EP02/DAMENG

vi dmarch.ini

[ARCHIVE_REALTIME]

ARCH_DEST = GRP2_MPP_EP02

说明:其他参数和EP02主库一致

4.4配置dmmpp.ini

#从EP01拷贝dmmpp.ctl文件到EP02主备的/dm8/dmdata/EP02/DAMENG/目录下。

4.5配置dmwatcher.ini

#EP02主库和备库的dmwatcher.ini配置一样

cd /dm8/dmdata/EP02/DAMENG

vi dmwatcher.ini

[GRP2]

DW_TYPE = GLOBAL

DW_MODE = MANUAL

DW_ERROR_TIME = 10

INST_RECOVER_TIME = 60

INST_ERROR_TIME = 10

INST_OGUID = 202108102

INST_INI = /dm8/dmdata/EP02/DAMENG/dm.ini

INST_AUTO_RESTART = 1

INST_STARTUP_CMD = /dm8/dmdbms/bin/dmserver

RLOG_SEND_THRESHOLD = 0

RLOG_APPLY_THRESHOLD = 0

4.6设置主备角色

#EP02主库

cd /dm8/dmdbms/bin

#以mount方式启动主库数据库服务

./dmserver /dm8/dmdata/EP02/DAMENG/dm.ini mount

./disql SYSDBA/SYSDBA

#设置为主库

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

SQL> sp_set_oguid(202108102);

SQL> alter database primary;

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

SQL> select file_LSN, cur_LSN from v$rlog;

#EP02备库

cd /dm8/dmdbms/bin

#以mount方式启动备库数据库服务

./dmserver /dm8/dmdata/EP02/DAMENG/dm.ini mount

./disql sysdba/SYSDBA

#设置为备库

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

SQL> sp_set_oguid(202108102);

SQL> alter database standby;

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

SQL> select file_LSN, cur_LSN from v$rlog;

5、启动mpp主备集群

5.1启动守护进程

#EP01主库和EP01备库

#使用root用户生成dmwatcher服务脚本

./dm_service_installer.sh -t dmwatcher -watcher_ini /dm8/dmdata/EP01/DAMENG/dmwatcher.ini -p  DMWATCHER

#启动dmwatcher

cd /dm8/dmdbms/bin

./ DmServiceDMWATCHER start

#EP02主库和EP02备库

#使用root用户生成dmwatcher服务脚本

./dm_service_installer.sh -t dmwatcher -watcher_ini /dm8/dmdata/EP02/DAMENG/dmwatcher.ini -p  DMWATCHER

#启动dmwatcher

cd /dm8/dmdbms/bin

./ DmServiceDMWATCHER start

#守护进程启动后,进入 Startup 状态,此时实例都处于 Mount 状态。守护进程开始广播自身和其监控实例的状态信息,结合自身信息和远程守护进程的广播信息,守护进程将 本地实例Open,并切换为 Open 状态。

5.2配置监视器

#监视器

mkdir -pv /opt/dmmonitor/{log,config}

#从主库或者备库拷贝/dm8/dmdbms/bin目录到本机/opt/dmmonitor

#使用root用户编辑配置文件dmmonitor_manual.ini

cd /opt/dmmonitor/config

vi dmmonitor_manual.ini

MON_DW_ CONFIRM = 0  #确认监视器模式,0表示普通监视器

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

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

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

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

[GRP1]

MON_INST_OGUID = 202108101   #组GRP1的唯一OGUID值

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

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

MON_DW_IP   = 192.168.11.21:52141

MON_DW_IP   = 192.168.11.23:52143

[GRP2]

MON_INST_OGUID = 202108102   #组GRP2的唯一OGUID值

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

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

MON_DW_IP   = 192.168.11.22:52142

MON_DW_IP   = 192.168.11.24:52144

#启动dmmonitor

cd /opt/dmmonitor/bin

./dmmonitor /opt/dmmonitor/config/dmmonitor_manual.ini

总结

更多资讯请上达梦技术社区了解:https://eco.dameng.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值