【最详细版】达梦主备守护集群搭建

一、环境准备

关于达梦数据库的安装以及初始化实例均在博主的初学者必看篇之国产数据库—达梦详细说明

网络环境规划

主库: 192.168.223.30
备库: 192.168.223.40
监视器:192.168.223.50

注:数据库均已以dmdba:dinstall用户安装在/dm8目录下

二、初始化参数说明

dm.ini

DB_NAME INSTANCE_NAME PORT_NUM
主库 DMDW DMSVR1 5236
备库 DMDW DMSVR2 5236

参数说明:

DB_NAME INSTANCE_NAME PORT_NUM
参数含义 数据库名 实例名 端口号

dmmal.ini

MAL_INST_NAME MAL_INST_HOST MAL_INST_PORT MAL_INST_DW_PORT MAL_HOST MAL_PORT MAL_DW_PORT
主库 DMSVR01 192.168.223.30 5236 45101 192.168.223.30 55101 65101
备库 DMSVR02 192.168.223.40 5236 45201 192.168.223.40 55201 65201

参数说明:

MAL_INST_NAME MAL_INST_PORT MAL_INST_DW_PORT MAL_HOST MAL_PORT MAL_DW_PORT
参数含义 与 dm.ini 中的 INSTANCE_NAME 一致 与 dm.ini 中的 PORT_NUM 一致 节点实例监听守护进程的端口 MAL 系统监听 TCP 内部网络 IP MAL 系统监听 TCP 连接的端口 MAL 系统监听 TCP 连接的端口

三、为了保持主备库一致,需要将主库进行脱机备份,将备份文件发送到备库,备库进行脱机还原

备份前提:初始化后的实例需要启动一次才能进行备份

第一步:在主库上使用命令行方式启动数据库服务

[dmdba@localhost bin]$ ./dmserver /dm8/data/DMDW/dm.ini 

第二步:使用脱机工具dmrman进行主库全库备份

RMAN> backup database '/dm8/data/DMDW/dm.ini' backupset '/dm8/backup';

第三步:将主库的备份文件发送到备库

[dmdba@localhost bin]$ scp -r /dm8/backup/ 192.168.223.40:/dm8/backup

第四步:在备库使用脱机工具dmrman进行备库全库还原

RMAN> restore database '/dm8/data/DMDW/dm.ini' from backupset  '/dm8/backup'; 	
RMAN> recover database '/dm8/data/DMDW/dm.ini' from backupset '/dm8/backup'; 	
RMAN> recover database '/dm8/data/DMDW/dm.ini' update db_magic;

四、开始搭建和配置主库

第一步:初始化主库实例

初始化主库:

[dmdba@localhost bin]$ ./dminit path=/dm8/data db_name=DMDW instance_name=DMSVR01

第二步:将dm.ini文件的参数修改为以下内容

MAL_INI  = 1
ARCH_INI = 1
ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2

第三步:新建dmmal.ini文件并插入以下内容

MAL_CHECK_INTERVAL=5
MAL_CONN_FAIL_INTERVAL=5
[MAL_INST1]
MAL_INST_NAME=DMSVR01
MAL_INST_HOST=192.168.223.30
MAL_INST_PORT=5236
MAL_INST_DW_PORT=45101
MAL_HOST=192.168.223.30
MAL_PORT=55101
MAL_DW_PORT=65101

[MAL_INST2]
MAL_INST_NAME=DMSVR02
MAL_INST_HOST=192.168.223.40
MAL_INST_PORT=5236
MAL_INST_DW_PORT=45201
MAL_HOST=192.168.223.40
MAL_PORT=55201
MAL_DW_PORT=65201

第四步:新建dmarch.ini文件并插入以下内容

[ARCHIVE_REALTIME]
ARCH_TYPE=REALTIME
ARCH_DEST=DMSVR02
[ARCHIVE_LOCAL1]
ARCH_TYPE=LOCAL
ARCH_DEST=/dm8/arch
ARCH_FILE_SIZE=128
ARCH_SPACE_LIMIT=0

第五步:新建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/DMDW/dm.ini
INST_AUTO_RESTART=1
INST_STARTUP_CMD=/dm8/bin/dmserver

五、开始搭建和配置备库

简单方法:除了第一步之外,其余配置文件的编写可以直接复制主库的配置文件到备库,只需修改备库中dmarch.ini文件中实时归档的目标为主库的实例名即可

[dmdba@localhost DMDW]$ scp dmmal.ini dmarch.ini dmwatcher.ini 192.168.223.40:/dm8/data/DMDW

第一步:初始化备库实例

初始化备库:

[dmdba@localhost bin]$ ./dminit path=/dm8/data db_name=DMDW instance_name=DMSVR02

第二步:将dm.ini文件的参数修改为以下内容

MAL_INI  = 1
ARCH_INI = 1
ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2

第三步:新建dmmal.ini文件并插入以下内容

MAL_CHECK_INTERVAL=5
MAL_CONN_FAIL_INTERVAL=5
[MAL_INST1]
MAL_INST_NAME=DMSVR01
MAL_INST_HOST=192.168.223.30
MAL_INST_PORT=5236
MAL_INST_DW_PORT=45101
MAL_HOST=192.168.223.30
MAL_PORT=55101
MAL_DW_PORT=65101

[MAL_INST2]
MAL_INST_NAME=DMSVR02
MAL_INST_HOST=192.168.223.40
MAL_INST_PORT=5236
MAL_INST_DW_PORT=45201
MAL_HOST=192.168.223.40
MAL_PORT=55201
MAL_DW_PORT=65201

第四步:新建dmarch.ini文件并插入以下内容

[ARCHIVE_REALTIME]
ARCH_TYPE=REALTIME
ARCH_DEST=DMSVR01
[ARCHIVE_LOCAL1]
ARCH_TYPE=LOCAL
ARCH_DEST=/dm8/arch
ARCH_FILE_SIZE=128
ARCH_SPACE_LIMIT=0

六、通过命令行方式并以mount方式启动主备库数据库服务

注:如果没有以mount方式启动且发生了redo日志的刷盘需要重新备份主库

[dmdba@localhost bin]$ ./dmserver /dm8/data/DMDW/dm.ini mount

七、分别在主库和备库使用disql连接数据库,设置oguid并将数据库模式切换为主库和备库

主库:

[dmdba@localhost bin]$ ./disql sysdba/SYSDBA
	SQL> sp_set_oguid(453331);
	SQL> alter database primary;

备库:

[dmdba@localhost bin]$ ./disql sysdba/SYSDBA
	SQL> sp_set_oguid(453331);
	SQL> alter database standby;

八、启动主备库数据守护进程

[dmdba@localhost bin]$ ./dmwatcher /dm8/data/DMDW/dmwatcher.ini

十、在 监视器所在库下新建dmmonitor.ini文件并添加以下内容,最后启动监视器

[dmdba@localhost dm8]$ mkdir data
[dmdba@localhost data]$ vim dmmonitor.ini

dmmonitor.ini

MON_DW_CONFIRM=1
MON_LOG_PATH=/dm8/log_monitor
MON_LOG_INTERVAL=60
MON_LOG_FILE_SIZE=32
MON_LOG_SPACE_LIMIT=0
[GRP1]
MON_INST_OGUID=453331
MON_DW_IP=192.168.223.30:65101
MON_DW_IP=192.168.223.40:65201

启动监视器服务

[dmdba@localhost bin]$ ./dmmonitor /dm8/data/dmmonitor.ini	

小伙伴们是不是做到这一步的时候在监视器窗口输入show命令查看集群状态是不是出现这个提示信息啊

组(GRP1)中没有活动实例或者监视器还未收到守护进程消息

出现这个原因是因为没有关闭每台服务器的防火墙,到每台服务器上关闭防火墙之后监视器就会开始输出信息了

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld

十一、关闭流程

监视器==>主库守护进程==>备库守护进程==>主库数据库服务==>备库数据库服务

十二、开启流程

主库数据库服务==>备库数据库服务==>主库守护进程==>备库守护进程==>监视器

你可能感兴趣的:(大数据之达梦数据库,数据库,运维,linux)