环境如下:
IP 192.168.18.119 centos7.6操作系统 以下改机器简称为主库
IP 192.168.18.120 centos7.6操作系统 以下改机器简称为备库
1.
首先,使用NTP服务同步二个节点的时间,在二个节点安装数据库软件并在node1上初始化一个实例
2
.在主库上以dmdba用户登录,执行dmrman备份
backup database '/dm8/data/DAMENG/dm.ini' full backupset '/dm8/backup/full01';
然后将备份文件copy到备库上
在备注上以dmdba用户登录,执行dmrman还原
./dmrman ctlstmt="restore database to '/dm8/data/DAMENG' from backupset '/dm8/backup/full01'"
./dmrman ctlstmt="recover database '/dm8/data/DAMENG/dm.ini' from backupset '/dm8/backup/full01'"
./dmrman ctlstmt="recover database '/dm8/data/DAMENG/dm.ini' update db_magic"
3
在主库修改dm.ini配置文件
INSTANCE_NAME = GRP1_RT_01
PORT_NUM = 5236
DW_INACTIVE_INTERVAL = 60
ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2
MAL_INI = 1
ARCH_INI = 1
RLOG_SEND_APPLY_MON = 64
在主库/dm8/data/DAMENG下创建文件dmmal.ini
MAL_CHECK_INTERVAL = 5
MAL_CONN_FAIL_INTERVAL = 5
[MAL_INST1]
MAL_INST_NAME = GRP1_RT_01
MAL_HOST = 192.168.18.119
MAL_PORT = 55101
MAL_INST_HOST = 192.168.18.119
MAL_INST_PORT = 5236
MAL_DW_PORT = 65101
MAL_INST_DW_PORT = 45101
[MAL_INST2]
MAL_INST_NAME = GRP1_RT_02
MAL_HOST = 192.168.18.120
MAL_PORT = 55121
MAL_INST_HOST = 192.168.18.120
MAL_INST_PORT = 5236
MAL_DW_PORT = 65121
MAL_INST_DW_PORT = 45121
在主库/dm8/data/DAMENG下创建文件dmarch.ini
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = GRP1_RT_02
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
在主库/dm8/data/DAMENG下创建文件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 = /dm8/data/DAMENG/dm.ini
INST_AUTO_RESTART = 1
INST_STARTUP_CMD = /dm8/bin/dmserver
RLOG_SEND_THRESHOLD = 0
RLOG_APPLY_THRESHOLD = 0
然后以mount方式启动主库
./dmserver /dm8/data/DAMENG/dm.ini mount
使用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);
修改从库的dm.ini文件
INSTANCE_NAME = GRP1_RT_02
PORT_NUM = 5236
DW_INACTIVE_INTERVAL = 60
ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2
MAL_INI = 1
ARCH_INI = 1
RLOG_SEND_APPLY_MON = 64
在从库/dm8/data/DAMENG下创建文件dmmal.ini
MAL_CHECK_INTERVAL = 5
MAL_CONN_FAIL_INTERVAL = 5
[MAL_INST1]
MAL_INST_NAME = GRP1_RT_01
MAL_HOST = 192.168.18.119
MAL_PORT = 55101
MAL_INST_HOST = 192.168.18.119
MAL_INST_PORT = 5236
MAL_DW_PORT = 65101
MAL_INST_DW_PORT = 45101
[MAL_INST2]
MAL_INST_NAME = GRP1_RT_02
MAL_HOST = 192.168.18.120
MAL_PORT = 55121
MAL_INST_HOST = 192.168.18.120
MAL_INST_PORT = 5236
MAL_DW_PORT = 65121
MAL_INST_DW_PORT = 45121
在从库/dm8/data/DAMENG下创建文件dmarch.ini
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = GRP1_RT_01
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
在主库/dm8/data/DAMENG下创建文件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 = /dm8/data/DAMENG/dm.ini
INST_AUTO_RESTART = 1
INST_STARTUP_CMD = /dm8/bin/dmserver
RLOG_SEND_THRESHOLD = 0
RLOG_APPLY_THRESHOLD = 0
然后以mount方式启动从库
./dmserver /dm8/data/DAMENG/dm.ini mount
使用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);
分别在主库和备库上启动守护进程
./dmwatcher /dm8/data/DAMENG/dmwatcher.ini
在其中任意一台服务器或者第三台服务器上配置监视器
监视器配置文件dmmonitor.ini
MON_DW_CONFIRM = 1
MON_LOG_PATH = /dm8/data/log
MON_LOG_INTERVAL = 60
MON_LOG_FILE_SIZE = 32
MON_LOG_SPACE_LIMIT = 0
[GRP1]
MON_INST_OGUID = 453331
MON_DW_IP = 192.168.18.119:65101
MON_DW_IP = 192.168.18.120:65121
启动监视器
./dmmonitor /dm8/data/DAMENG/dmmonitor.ini
在监视器输入tip或show查询状态
关闭集群
先关闭监视器—>关闭备库守护进程—>关闭主库守护进程–>关闭主库—>关闭备库
3
注册服务
分别在主库和备库上以root用户登录创建服务
/dm8/script/root/dm_service_installer.sh -t dmwatcher -watcher_ini /dm8/data/DAMENG/dmwatcher.ini -p TEST
在主库和备库上启动服务
systemctl start DmWatcherServiceTEST
登录监视器查看状态
故障自动切换测试
在主库停止服务
systemctl stop DmWatcherServiceTEST
查看监视器信息
原备库成功切换为主库
恢复原主库为备库,在原主库启动服务
systemctl start DmWatcherServiceTEST
成功恢复为备库
注意:需要确认监视器处于运行中才会进行自动故障切换,所以还可以把监视器注册为服务
/dm8/script/root/dm_service_installer.sh -t dmmonitor -monitor_ini /dm8/data/DAMENG/dmmonitor.ini -p TEST
至此,数据守护集群搭建完毕