ITPub博客

首页 > 数据库 > 国内数据库 > 基于X-86平台的达梦8守护集群搭建

基于X-86平台的达梦8守护集群搭建

原创 国内数据库 作者:tangwuqiao 时间:2022-07-07 14:17:22 0 删除 编辑

基于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/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2015-03-14

  • 博文量
    23
  • 访问量
    910072