达梦数据库主备集群搭建

一、初始化实例
A主
./dminit INI_FILE=/dm/data/DMA/dm.ini /
PATH=/dm/data/ /
DB_NAME=DMA /
INSTANCE_NAME=TEST1 /
PAGE_SIZE=8 /
PORT_NUM=5250 /
TIME_ZONE=+08:00 PAGE_CHECK=0

C备
./dminit INI_FILE=/dm/data/DMA/dm.ini /
PATH=/dm/data/ /
DB_NAME=DMA /
INSTANCE_NAME=TEST2 /
PAGE_SIZE=8 /
PORT_NUM=5250 /
TIME_ZONE=+08:00 PAGE_CHECK=0

B主
./dminit INI_FILE=/dm/data/DMB/dm.ini /
PATH=/dm/data/ /
DB_NAME=DMB /
INSTANCE_NAME=TEST3 /
PAGE_SIZE=8 /
PORT_NUM=5260 /
TIME_ZONE=+08:00 PAGE_CHECK=0

D备
./dminit INI_FILE=/dm/data/DMB/dm.ini /
PATH=/dm/data/ /
DB_NAME=DMB /
INSTANCE_NAME=TEST4 /
PAGE_SIZE=8 /
PORT_NUM=5260 /
TIME_ZONE=+08:00 PAGE_CHECK=0

二、备份还原

cd /home/dmdba/dmdbms/bin/
备份主1
./dmrman USE_AP=2 CTLSTMT=”BACKUP DATABASE ‘/dm/data/DMA/dm.ini’ FULL TO BACKUP_FILE1 BACKUPSET ‘/dm/data/BACK/BACKUP_FILE_01’”

备份主2
./dmrman USE_AP=2 CTLSTMT=”BACKUP DATABASE ‘/dm/data/DMB/dm.ini’ FULL TO BACKUP_FILE1 BACKUPSET ‘/dm/data/BACK/BACKUP_FILE_02’”

还原备1
./dmrman USE_AP=2 CTLSTMT=”RESTORE DATABASE ‘/dm/data/DMA/dm.ini’ FROM BACKUPSET ‘/dm/data/BACK/BACKUP_FILE_01’”

./dmrman USE_AP=2 CTLSTMT=”RECOVER DATABASE ‘/dm/data/DMA/dm.ini’ FROM BACKUPSET ‘/dm/data/BACK/BACKUP_FILE_01’”

./dmrman USE_AP=2 CTLSTMT=”RECOVER DATABASE ‘/dm/data/DMA/dm.ini’ UPDATE DB_MAGIC”

还原备2
./dmrman CTLSTMT=”RESTORE DATABASE ‘/dm/data/DMB/dm.ini’ FROM BACKUPSET ‘/dm/data/BACK/BACKUP_FILE_02’”

./dmrman CTLSTMT=”RECOVER DATABASE ‘/dm/data/DMB/dm.ini’ FROM BACKUPSET ‘/dm/data/BACK/BACKUP_FILE_02’”

./dmrman CTLSTMT=”RECOVER DATABASE ‘/dm/data/DMB/dm.ini’ UPDATE DB_MAGIC”

三、修改配置文件
编辑dmarch.ini
A:主1
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIM
ARCH_DEST = TEST2

[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm/data/DMA/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0

B:主2
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIM
ARCH_DEST = TEST4

[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm/data/DMB/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0

C:备1
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIM
ARCH_DEST = TEST1

[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm/data/DMA/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0

D:备2
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIM
ARCH_DEST = TEST3

[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm/data/DMB/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0

编辑mal文件,每套主备分别用一套

第一套主备 /DMA/dmmal.ini
MAL_CHECK_INTERVAL = 5
MAL_CONN_FAIL_INTERVAL = 5

[MAL_INST1]
MAL_INST_NAME = TEST1
MAL_HOST = 192.168.0.140
MAL_PORT = 61141
MAL_INST_HOST = 192.168.0.140
MAL_INST_PORT = 5250
MAL_DW_PORT = 52141
MAL_INST_DW_PORT = 33141

[MAL_INST2]
MAL_INST_NAME = TEST2
MAL_HOST = 192.168.0.141
MAL_PORT = 61141
MAL_INST_HOST = 192.168.0.141
MAL_INST_PORT = 5250
MAL_DW_PORT = 52141
MAL_INST_DW_PORT = 33141

第二套主备/DMB/dmmal.ini
[MAL_INST1]
MAL_INST_NAME = TEST3
MAL_HOST = 192.168.0.140
MAL_PORT = 61142
MAL_INST_HOST = 192.168.0.140
MAL_INST_PORT = 5260
MAL_DW_PORT = 52142
MAL_INST_DW_PORT = 33142

[MAL_INST2]
MAL_INST_NAME = TEST4
MAL_HOST = 192.168.0.141
MAL_PORT = 61142
MAL_INST_HOST = 192.168.0.141
MAL_INST_PORT = 5260
MAL_DW_PORT = 52142
MAL_INST_DW_PORT = 33142

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

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

四、启动各主备实例
A:
./dmserver /dm/data/DMA/dm.ini mount

SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 1);
sp_set_oguid(54321);
alter database primary;
SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 0);

C:
./dmserver /dm/data/DMA/dm.ini mount
SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 1);
sp_set_oguid(54321);
alter database standby;
SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 0);

B:
./dmserver /dm/data/DMB/dm.ini mount
SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 1);
sp_set_oguid(54321);
alter database primary;
SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 0);

D:
./dmserver /dm/data/DMB/dm.ini mount
SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 1);
sp_set_oguid(64321);
alter database standby;
SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 0);

五、编辑监视器配置文件
vim dmmonitor_a.ini
MON_DW_CONFIRM = 1
MON_LOG_PATH = /dm/data/jtlog
MON_LOG_INTERVAL = 60
MON_LOG_FILE_SIZE = 2048
MON_LOG_SPACE_LIMIT = 0

[GRP1]
MON_INST_OGUID = 54321 #组 GRP1 的唯一 OGUID 值
MON_DW_IP = 192.168.0.140:52141
MON_DW_IP = 192.168.0.141:52141

vim dmmonitor_b.ini
MON_DW_CONFIRM = 1
MON_LOG_PATH = /dm/data/jt2log
MON_LOG_INTERVAL = 60
MON_LOG_FILE_SIZE = 2048
MON_LOG_SPACE_LIMIT = 0

[GRP2]
MON_INST_OGUID = 64321
MON_DW_IP = 192.168.0.140:52142
MON_DW_IP = 192.168.0.141:52142

A主:
./dmwatcher /dm/data/dmwatcher.ini

C备:
./dmwatcher /dm/data/dmwatcher.ini

监视器可在同一台机器上启动
/home/dmdba/dmdbms/bin/dmmonitor /dm/data/dmmonitor_a.ini
/home/dmdba/dmdbms/bin/dmmonitor /dm/data/dmmonitor_b.ini

六、监视器登陆切换试验
login
switchover GRP1.TEST2

第二次切换
switchover GRP1.TEST1

另一组监视器切换
switchover GRP2.TEST4
switchover GRP2.TEST3


版权声明:本文为qwe305188757原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。