文章目录
- 文章目录一、搭建主备集群的前提条件二、搭建步骤
- 1.检查进程 服务器 监视器
- 2.修改open file参数
- 3.脱机备份,备库还原更新db_magic
- 4.配置ini文件
- 5.启动服务和进程,并进行监视
一、搭建主备集群的前提条件
成功安装完成达梦数据库,并搭建至少两台或以上的虚拟机并安装。
操作系统:linux,
示例为一读一写集群,需要二台服务器,一台主,一台备,监视器安装在备库上
主机库IP地址为:192.168.1.147
备机库IP地址为:192.168.1.148
二、搭建步骤
1. 检查进程 服务器 监控器
2.修改open file参数,ulimit -a后检查open files参数是否为65536
3.在root用户在输入命令行
vi /etc/sercurity/limits.conf
将下面两行内容增加到末尾(在end前)。
* soft nofile 65536
* hard nofile 65536 wq保存退出
4. reboot重启虚拟机 并输入ulimit -a 查看是否修改成功
5.准备工作做完之后就可以开始我们的备份还原了,主备集群主要的是主备库同步,达成一致,所以备份还原是重点步骤,千万不能 出错。在/bin目录下使用dmrman工具进行脱机备份,备份文件夹名字为backup2021
./dmrman ctlstmt="backup database '/home/dmdata/DAMENG/dm.ini' full to backup2021backupset '/home/dmdata/DAMENG/backup2021'"
6.将主库备份的文件发送给备库 scp -r 为免密支付,由于博主dmdba用户没有设置密码,所以用root用户进行发送
scp -r /home/dmdata/DAMENG/backup2021/ root@192.168.1.147/home/dmdata/DAMENG/
7.发送完成之后就把主库放一边,就不能再进行操作了,不然很容易主备不一致导致搭建失败。接下来,切换到备库,进入bin目录中进行还原操作。
./dmrman ctlstmt="restore database '/home/dmdata/DAMENG/dm.ini' from backupset '/home/dmdata/DAMENG/backup2021'"
恢复指令:
./dmrman ctlstmt="recover database '/home/dmdata/DAMENG/dm.ini' from backupset '/home/dmdata/DAMENG/backup2021'"
更新db_magic:
./dmrman ctlstmt="recover database '/home/dmdata/DAMENG/dm.ini' update db_magic”
8.备份还原之后,接下来就是配置主备库的配置文件了
配置主备库的Dm.ini文件 文件路径为 /home/dmdata/DAMENG/dm.ini
设置以下参数:
INSTANCE_NAME=DM1(备库为DM2)
ARCH_INI=1
MAL_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 = DM1
MAL_HOST =192.168.1.147
MAL_PORT = 61141
MAL_INST_HOST = 192.168.1.147
MAL_INST_PORT = 5236
MAL_DW_PORT = 52141
MAL_INST_DW_PORT = 33141
[MAL_INST2]
MAL_INST_NAME = DM2
MAL_HOST = 192.168.1.148
MAL_PORT = 61142
MAL_INST_HOST = 192.168.1.148
MAL_INST_PORT = 5236
MAL_DW_PORT = 52142
MAL_INST_DW_PORT = 33142
配置主库dmarch.ini
ARCH_WAIT_APPLY=1
[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME
ARCH_DEST = DM1
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /home/dmarch
ARCH_FILE_SIZE = 512
ARCH_SPACE_LIMIT = 2048
配置主库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 = /home/dmdata/DAMENG/dm.ini
INST_AUTO_RESTART = 1
INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver
RLOG_SEND_THRESHOLD = 0
RLOG_APPLY_THRESHOLD = 0
9. 将以上配置文件发送到备库DM2里
scp dmmal.ini dmarch.ini dmwatcher.ini root@192.168.1.148:/home/dmdata/DAMENG
10.进入bin目录中,以mount状态启动数据库,用来配置数据库的OGUID值,命令为
./dmserver /home/dmdata/DAMENG/dm.ini mount
运行后新打开另一个窗口,使用disql工具登录SYSDBA用户
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1); --将数据库修改为可修改状态
SQL>SP_SET_OGUID(453331);
SQL>ALTER DATABASE PRIMARY; ( 备库为STANDBY)
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);--将数据库修改为不可修改状态
然后exit退出
11.
执行注册服务,注册脚本在dmdbms下的script/root下
使用root用户,注册主库实例服务:
./dm_service_installer.sh -t -dm_ini /home/dmdata/DAMENG/dm.ini -m mount -p DM1
注册主库守护进程服务:
./dm_service_installer.sh -t -watcher_ini /home/dmdata/DAMENG/dm.ini -p DM1
备库同样
./dm_service_installer.sh -t -dm_ini /home/dmdata/DAMENG/dm.ini -m mount -p DM2
注册备库守护进程:
./dm_service_installer.sh -t -watcher_ini /home/dmdata/DAMENG/dm.ini -p DM2
12. 配置监视器 博主这里把监视器配置在 备库中,以方便监视
dmmonitor.ini:
MON_DW_Confirm = 1
MON_LOG_PATH = /home/dmdba/dmdbms/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.1.147:52141
MON_DW_IP = 192.168.1.148:52142 (与dmmal.同步)
13.启动各个库的守护进程和服务
./DmWatcherDM1 start 备库为 ./DmWatcherDM2 start
14. 启动监视
./dmmonitor /home/dmdata/DAMENG/dmmonitor.ini
恭喜
搭建成功!