一、初始化实例
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