首页 > 数据库 > 国内数据库 > 基于X-86平台的达梦8守护集群搭建
基于X-86平台的达梦8守护集群搭建操作步骤:
一、环境配置信息:
主机IP 实例名 MAL监听TCP端口 对外服务IP地址 实例的对外服务端口 例对应的守护进程监听TCP连接的端口 实例监听守护进程TCP连接的端口
MAL_HOST MAL_INST_NAME MAL_PORT MAL_INST_HOST MAL_INST_PORT MAL_DW_PORT MAL_INST_DW_PORT
192.168.1.110 GRP1_RW_01 61141 192.168.1.110 5236 52141 33141
192.168.1.111 GRP1_RW_02 61142 192.168.1.111 5236 52142 33142
二、配置步骤
1.主备库初始化数据库:
主库:
[dmdba@localhost dm8]$ dminit path='/dm8/data/' instance_name=GRP1_RW_01 db_name=DM CASE_SENSITIVE=Y EXTENT_SIZE=32 PAGE_SIZE=32 LOG_SIZE=256 PORT_NUM=5236
[root@localhost ~]# cd /dm8/script/root/
[root@localhost root]# ./dm_service_installer.sh -t dmserver -dm_ini /dm8/data/DM/dm.ini -p DM
[root@localhost root]# systemctl start DmServiceDM.service
[root@localhost root]# systemctl enable DmServiceDM.service
备库:
[dmdba@localhost dm8]$ dminit path='/dm8/data/' instance_name=GRP1_RW_02 db_name=DM CASE_SENSITIVE=Y EXTENT_SIZE=32 PAGE_SIZE=32 LOG_SIZE=256 PORT_NUM=5236
[root@localhost ~]# cd /dm8/script/root/
[root@localhost root]# ./dm_service_installer.sh -t dmserver -dm_ini /dm8/data/DM/dm.ini -p DM
[root@localhost root]# systemctl start DmServiceDM.service
[root@localhost root]# systemctl enable DmServiceDM.service
2.备份还原(主库执行数据备份,先关闭实例,再执行备份。)
1)主备库关闭数据库
[root@localhost root]# systemctl stop DmServiceDM.service
[dmdba@localhost ~]$ cd /dm8/bin
[dmdba@localhost ~]$ ./dmrman CTLSTMT="BACKUP DATABASE '/dm8/data/DM/dm.ini' FULL TO BACKUP_FILE1 BACKUPSET '/dm8/backup/'"
dmrman备份数据库(cd /dm8/bin -> ./dmrman)
BACKUP DATABASE '/dm8/data/DM/dm.ini' BACKUPSET '/dm8/backup';
将备份文件复制到备库对应目录下
scp -r /dm8/backup/* dmdba@192.168.1.111:/dm8/backup
2)备库执行数据恢复,先关闭实例,再执行恢复。
[root@localhost root]# systemctl stop DmServiceDM.service
[dmdba@localhost bin]$ cd /dm8/bin
[dmdba@localhost bin]$ ./DmAPService start
[dmdba@localhost bin]$ ./dmrman CTLSTMT="RESTORE DATABASE '/dm8/data/DM/dm.ini' FROM BACKUPSET '/dm8/backup'"
[dmdba@localhost bin]$ ./dmrman CTLSTMT="RECOVER DATABASE '/dm8/data/DM/dm.ini' FROM BACKUPSET '/dm8/backup'"
[dmdba@localhost bin]$ ./dmrman CTLSTMT="RECOVER DATABASE '/dm8/data/DM/dm.ini' UPDATE DB_MAGIC"
3.dm.ini文件修改(主备)
集群配置(配置文件都在dm.ini同目录/dm8/data/DM/)
[dmdba@dw_p DM]$ vi /dm8/data/DM/dm.ini
INSTANCE_NAME = GRP1_RW_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
4.配置dmmal.ini文件(主备)
主备库配置一致, vi /dm8/data/DM/dmmal.ini
[dmdba@localhost DM]$ vi /dm8/data/DM/dmmal.ini
#########################################################################
MAL_CHECK_INTERVAL = 5
MAL_CONN_FAIL_INTERVAL = 5
[MAL_INST1]
MAL_INST_NAME = GRP1_RW_01
MAL_HOST = 192.168.1.110
MAL_PORT = 61141
MAL_INST_HOST = 192.168.1.110
MAL_INST_PORT = 5236
MAL_DW_PORT = 52141
MAL_INST_DW_PORT = 33141
[MAL_INST2]
MAL_INST_NAME = GRP1_RW_02
MAL_HOST = 192.168.1.111
MAL_PORT = 61142
MAL_INST_HOST = 192.168.1.111
MAL_INST_PORT = 5237
MAL_DW_PORT = 52142
MAL_INST_DW_PORT = 33142
#########################################################################
5.配置dmarch.ini归档文件
主备库配置不一致,vi /dm8/data/DM/dmarch.ini
例如:
#########################################################################
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = GRP1_RW_02
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/arch
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 204800
备库
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = GRP1_RW_01
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/arch
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 204800
##########################################################################
5.配置dmwatcher.ini文件
主备库一致,vi /dm8/data/DM/dmwatcher.ini
达梦数据守护又自动切换和手动切换两种,配置自动切换模式必须单独服务器部署确认监视器
[dmdba@localhost DM]$ vi /dm8/data/DM/dmwatcher.ini
################################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/DM/dm.ini
INST_AUTO_RESTART = 1
INST_STARTUP_CMD = /dm8/bin/dmserver
RLOG_SEND_THRESHOLD = 0
RLOG_APPLY_THRESHOLD = 0
#############################################################################
6.监视器文件配置
主备库上都部署,配置一致,vi /dm8/data/DM/dmmonitor.ini
################################dmmonitor.ini(自动切换模式下,监视器模式MON_DW_Confirm = 1,监视组名要保持跟dmwatcher.ini一致)##################################
MON_DW_Confirm = 1
MON_LOG_PATH = /dm8/log
MON_LOG_INTERVAL = 60
MON_LOG_FILE_SIZE = 256
MON_LOG_SPACE_LIMIT = 1024
[GRP1]
MON_INST_OGUID = 453331
MON_DW_IP = 192.168.1.110:52141
MON_DW_IP = 192.168.1.111:52142
#############################################################################
7.mount启动数据库,设置oguid,更改数据库模式
########################主从启动数据库至mount状态(cd /dm8/bin)######################
主:
./DmServiceDM start mount
从:
./DmServiceDM start mount
###################################################################
使用disql登录数据库,分别执行以下命令更改
主库
./disql sysdba/SYSDBA:5236
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
sp_set_oguid(453331);
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
alter database primary; #主库模式
备库
./disql sysdba/SYSDBA:5236
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
sp_set_oguid(453331);
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
alter database standby; #备库模式
8.启动守护进程
启动各个主备库上的守护进程(cd /dm8/bin)
./dmwatcher /dm8/data/DM/dmwatcher.ini &
启动监视器
./dmmonitor /dm8/data/DM/dmmonitor.ini
输入 show 命令查看集群状态:
其中守护进程状态 WSTATUS 为 OPEN,实例状态 ISTATUS 为 OPEN,归档类型 RTYPE 为 TIMELY,归档状态 RSTAT 为VALID。
9.注册服务
先关闭前面前台启动的实例服务与守护进程服务,先关守护,再关实例,先关主,再关备
主库:
[dmdba@cnsz92vl21954 bin]$ ps -ef |grep -i dmwatcher|grep -v grep |awk '{print $2}'|xargs kill -9
[dmdba@cnsz92vl21954 bin]$ ./DmServiceDM stop
备库:
[dmdba@cnsz92vl21954 bin]$ ps -ef |grep -i dmwatcher|grep -v grep |awk '{print $2}'|xargs kill -9
[dmdba@cnsz92vl21954 bin]$ ./DmServiceDM stop
用root用户注册守护进程服务,在数据库安装目录下/dm8/script/root目录下
./dm_service_installer.sh -t dmwatcher -p DM -watcher_ini /dm8/data/DM/dmwatcher.ini
systemctl enable DmWatcherServiceDM
监视器服务(自动切换才需要,且必须,手动切换不用)
./dm_service_installer.sh -t dmmonitor -p DM -monitor_ini /dm8/data/DM/dmmonitor.ini
systemctl enable DmWatcherServiceDM
10.启动集群
方法一:dmdba用户启动,在安装目录的bin目录下
启动主库实例:./DmServiceDM start
启动备库实例:./DmServiceDM start
启动主库守护进程:./DmWatcherServiceDM start
启动备库守护进程:./DmWatcherServiceDM start
方法二:root用户执行
启动主库实例:systemctl start DmServiceDM
启动备库实例:systemctl start DmServiceDM
启动主库守护进程:systemctl start DmWatcherServiceDM
启动备库守护进程:systemctl start DmWatcherServiceDM
11.集群测试
至此,集群搭建完成,可进行测试,在主库建表插数据,到备库查看是否有数据
主库disql登录,创建测试表,并插入数据,提交
create table test(id int);
insert into test values (1);
commit;
备库disql登录
select * from test;
12.主备切换
达梦数据守护集群提供切换功能,在主库故障情况下,将备库切换为主库,快速恢复服务,自动切换则由监视器自动处理,无需人工干预。dmdba用户数据库安装目录下bin目录下
./dmmonitor /dm8/data/DM/dmmonitor.ini #启动监视器
login #登录监视器
用户名
密码
choose switchover #查询可切换为主库的备库
switcherover GRPDW.RW2 #主备切换
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28793776/viewspace-2904657/ ,如需转载,请注明出处,否则将追究法律责任。