当前位置: 首页 > news >正文

达梦数据库---实时主备配置

一、环境准备
实例 IP192.168.1.40192.168.1.41
实例名GRP1_RT_01GRP1_RT_02
实例端口52365236
MAL 端口53365336
MAL 守护进程端口54365436
守护进程端口55365536
OGUID4533145331
守护组GRP1GRP1
安装目录/home/dmdba/dmdbms/home/dmdba/dmdbms
实例目录/dmdata/data//dmdata/data/
归档上限5120051200
二、安装数据库
1、配置yum源

        我这里是新装的虚拟机,从配置yum源开始

## 配置阿里云的yum源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
# 执行缓存并安装一些常用工具
yum makecache
yum install -y vim net-tools yum-utils unzip bash-completion
2、下载达梦数据库安装包

        下载连接:产品下载-达梦数据

        根据所需系统要求下载安装包,我使用的是centos7的系统

3、安装数据库
(1)解压并创建用户
# 解压安装包
unzip dm8_20250506_x86_rh7_64.zip 
# 创建用户和组
groupadd -g 12349 dinstall
useradd -u 12345 -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
passwd dmdba
(2)创建数据目录并进行挂载
# 挂载iso文件
mount -o loop dm8_20250506_x86_rh7_64.iso /mnt
# 创建数据库的数据目录、归档目录以及备份目录
mkdir -p /dmdata/{data,arch,dmbak}
# 修改目录所属权限
chown dmdba:dinstall -R /dmdata
chmod -R 755 /dmdata
(3)进行安装
# 切换到创建的用户dmdba进行安装
su - dmdba
# 进入iso挂载目录执行DMInstall.bin进行安装cd /mnt./DMInstall.bin -i# 选择语言以及时区,key文件输入no
# 我选择的是典型安装,输入相应的安装目录,我安装目录为/home/dmdba/dmdbms
(4)创建systemd服务
# 切换到root用户执行安装后的命令
[root@localhost dameng]# /home/dmdba/dmdbms/script/root/root_installer.sh
移动 /home/dmdba/dmdbms/bin/dm_svc.conf 到/etc目录
创建DmAPService服务
Created symlink from /etc/systemd/system/multi-user.target.wants/DmAPService.service to /usr/lib/systemd/system/DmAPService.service.
创建服务(DmAPService)完成
启动DmAPService服务
[root@localhost dameng]# systemctl status DmAPService.service 
# 修改dmdba的.bash_profile文件
[root@localhost dameng]# cd /home/dmdba/
[root@localhost dmdba]# vim .bash_profile 
[root@localhost dmdba]# cat .bash_profile |tail -n 3
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/dmdba/dmdbms/bin"
export DM_HOME="/home/dmdba/dmdbms"
export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool    # 添加此行内容
[root@localhost dmdba]# source .bash_profile 

        此时,数据库就已经安装完成了,接下来还要进行初始化实例,进行主从配置,也就是数据保护集群;

四、数据保护集群配置
1、主节点--primary(以下操作非特殊标注全是dmdba用户执行)
(1)初始化实例
cd dmdbms/bin
./dminit path=/dmdata/data db_name=DAMENG instance_name=GRP1_RT_01 port_num=5236 CASE_SENSITIVE=0 CHARSET=1 PAGE_SIZE=32 EXTENT_SIZE=32 LOG_SIZE=2048 SYSDBA_PWD=Dameng123 SYSAUDITOR_PWD=Dameng123
(2)修改数据库配置
# 终端运行服务,再打开一个新的终端执行sql语句
./dmserver /dmdata/data/DAMENG/dm.ini
./disql SYSDBA/Dameng123@192.168.2.40:5236    # 此条命令在新打开的终端执行ALTER DATABASE MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE ADD ARCHIVELOG 'DEST=/dmdata/arch, TYPE=LOCAL, FILE_SIZE=1024, SPACE_LIMIT=51200';
ALTER DATABASE OPEN;BACKUP DATABASE BACKUPSET '/dmdata/dmbak/BACKUP_FILE';SP_SET_PARA_VALUE (2,'PORT_NUM',5236);
SP_SET_PARA_VALUE (2,'DW_INACTIVE_INTERVAL',60);
SP_SET_PARA_VALUE (2,'ALTER_MODE_STATUS',0);
SP_SET_PARA_VALUE (2,'ENABLE_OFFLINE_TS',2);
SP_SET_PARA_VALUE (2,'MAL_INI',1);
SP_SET_PARA_VALUE (2,'RLOG_SEND_APPLY_MON',64);
exit
# sql语句执行完之后,退出并关闭前面运行的dmserver服务
(3)编写dmarch.ini文件
vim /dmdata/data/DAMENG/dmarch.ini ARCH_WAIT_APPLY      = 0        
[ARCHIVE_LOCAL1]ARCH_TYPE            = LOCAL        ARCH_DEST            = /dmdata/arch        ARCH_FILE_SIZE       = 1024        ARCH_SPACE_LIMIT     = 51200        ARCH_FLUSH_BUF_SIZE  = 2        ARCH_HANG_FLAG       = 1        
[ARCHIVE_REALTIME1]ARCH_TYPE	     = REALTIMEARCH_DEST	     = GRP1_RT_02
(4)编写dmmal.ini文件
vim /dmdata/data/DAMENG/dmmal.ini
MAL_CHECK_INTERVAL         = 10
MAL_CONN_FAIL_INTERVAL     = 10
MAL_TEMP_PATH              = /dmdata/malpath/
MAL_BUF_SIZE               = 512
MAL_SYS_BUF_SIZE           = 2048
MAL_COMPRESS_LEVEL         = 0[MAL_INST1]
MAL_INST_NAME            = GRP1_RT_01
MAL_HOST                 = 192.168.1.40
MAL_PORT                 = 5336
MAL_INST_HOST            = 192.168.1.40
MAL_INST_PORT            = 5236
MAL_DW_PORT              = 5436
MAL_INST_DW_PORT         = 5536[MAL_INST2]
MAL_INST_NAME            = GRP1_RT_02
MAL_HOST                 = 192.168.1.42
MAL_PORT                 = 5336
MAL_INST_HOST            = 192.168.1.42
MAL_INST_PORT            = 5236
MAL_DW_PORT              = 5436
MAL_INST_DW_PORT         = 5536
(5)编写dmwatcher.ini文件
vim /dmdata/data/DAMENG/dmwatcher.ini[GRP1]
DW_TYPE                  = GLOBAL
DW_MODE                  = AUTO
DW_ERROR_TIME            = 20
INST_ERROR_TIME          = 20
INST_RECOVER_TIME        = 60
INST_OGUID               = 45331
INST_INI                 = /dmdata/data/DAMENG/dm.ini
INST_AUTO_RESTART        = 1
INST_STARTUP_CMD         = /home/dmdba/dmdbms/bin/dmserver
RLOG_SEND_THRESHOLD      = 0
RLOG_APPLY_THRESHOLD     = 0
(6)将备份数据同步给备数据库
scp -r /dmdata/dmbak/BACKUP_FILE dmdba@192.168.1.42:/dmdata/dmbak
(7)运行dmserver和dmwatcher
# root用户执行
/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmserver -p GRP1_RT_01 -dm_ini /dmdata/data/DAMENG/dm.ini -m mount
/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /dmdata/data/DAMENG/dmwatcher.ini
2、从库配置
# 进行初始化实例
./dminit path=/dmdata/data db_name=DAMENG instance_name=GRP1_RT_02 port_num=5236 CASE_SENSITIVE=0 CHARSET=1 PAGE_SIZE=32 EXTENT_SIZE=32 LOG_SIZE=2048 SYSDBA_PWD=Dameng123 SYSAUDITOR_PWD=Dameng123
# 恢复备份数据
./dmrman CTLSTMT="RESTORE DATABASE '/dmdata/data/DAMENG/dm.ini' FROM BACKUPSET '/dmdata/dmbak/BACKUP_FILE'"
./dmrman CTLSTMT="RECOVER DATABASE '/dmdata/data/DAMENG/dm.ini' FROM BACKUPSET '/dmdata/dmbak/BACKUP_FILE'"
./dmrman CTLSTMT="RECOVER DATABASE '/dmdata/data/DAMENG/dm.ini' UPDATE DB_MAGIC"# 修改配置文件
vim /dmdata/data/DAMENG/dmarch.iniARCH_WAIT_APPLY            = 0[ARCHIVE_LOCAL]
ARCH_TYPE                = LOCAL
ARCH_DEST                = /dmdata/arch/
ARCH_FILE_SIZE           = 1024
ARCH_SPACE_LIMIT         = 51200 [ARCHIVE_REALTIME1]
ARCH_TYPE                = REALTIME
ARCH_DEST                = GRP1_RT_01# 修改配置文件
vim /dmdata/data/DAMENG/dm.ini ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2
MAL_INI = 1
ARCH_INI = 1## 与主库配置相同
vim /dmdata/data/DAMENG/dmmal.ini
vim /dmdata/data/DAMENG/dmwatcher.ini# root用户执行
/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmserver -p GRP1_RT_02 -dm_ini /dmdata/data/DAMENG/dm.ini -m mount
/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /dmdata/data/DAMENG/dmwatcher.ini
3、配置监视器

        监视器可以独立在第三台机器上安装,也可以在上述两台机器上安装,我是在从库所在的机器(192.168.1.42)上部署的;

vim /home/dmdba/dmdbms/bin/dmmonitor.iniMON_DW_CONFIRM             = 1
MON_LOG_PATH               = ../log
MON_LOG_INTERVAL           = 60
MON_LOG_FILE_SIZE          = 512
MON_LOG_SPACE_LIMIT        = 2048[GRP1]
MON_INST_OGUID           = 45331
MON_DW_IP                = 192.168.1.40:5436
MON_DW_IP                = 192.168.1.42:5436
# root用户执行
/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmmonitor -p Monitor -monitor_ini /home/dmdba/dmdbms/bin/dmmonitor.ini
4、启动集群服务

        到这里,集群搭建就基本完成了,接下来是启动服务就可以了;

## 主库机器启动服务,并设置模式为primary
/home/dmdba/dmdbms/bin/DmServiceGRP1_RT_01 start
/home/dmdba/dmdbms/bin/disql SYSDBA/Dameng123@192.168.2.40:5236
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
SP_SET_OGUID(45331);
ALTER DATABASE PRIMARY;
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);## 备库机器启动服务,并设置模式为standby
/home/dmdba/dmdbms/bin/DmServiceGRP1_RT_02 start
/home/dmdba/dmdbms/bin/disql SYSDBA/Dameng123@192.168.2.202:5236
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
SP_SET_OGUID(45331);
ALTER DATABASE STANDBY;
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);## 主备机器启动watcher服务
/home/dmdba/dmdbms/bin/DmWatcherServiceWatcher start##后台启动monitor
/home/dmdba/dmdbms/bin/DmMonitorServiceMonitor start
##前台启动monitor,会在终端输出信息
/home/dmdba/dmdbms/bin/dmmonitor /home/dmdba/dmdbms/bin/dmmonitor.ini
5、关闭集群服务
##停止,先停止watcher服务再停止service服务
##A/B机器
/home/dmdba/dmdbms/bin/DmWatcherServiceWatcher stop
##A 机器
/home/dmdba/dmdbms/bin/DmServiceGRP1_RT_01 stop
##B机器
/home/dmdba/dmdbms/bin/DmServiceGRP1_RT_02 stop

        接下来就可以进行数据写入进行验证集群之间数据是否同步了;

http://www.dtcms.com/a/411802.html

相关文章:

  • 东莞电子网站建设哪儿有上线了做网站多少钱
  • 深度学习复现:CIFAR-10 数据集任务的实现
  • CTF之文件包含
  • 做的比较好看的国内网站陕西省建设网三类人员考试时间
  • 建设商业网站长春做网站建设的公司
  • 电子商务网站建设参考书电子商务的分类
  • MySQL笔记---数据类型
  • 电商运营学习网站重庆新闻第一眼
  • 建站网络建立科技开发公众号登录微信公众号登录
  • macos制作可以启动的iso引导文件
  • 成都住建局官网平台查询响应式网站建设有利于seo
  • 南京中建乡旅建设投资有限公司网站滕州市做淘宝网站的
  • 金科做的网站产业园区运营公司
  • Java银行
  • 2025 云栖大会|全面聚焦 AI,定义“智能化融合通信”新时代
  • 【学习心得】离线Linux安装conda环境教程
  • 网站开发 项目接单wordpress 仪表盘 渗透
  • AWG线径电流、电阻对照表
  • 网站降权投诉app定制哪里找
  • 学习笔记:Vue Router 中的嵌套路由详解[特殊字符]概述
  • Python包制作 - 以DLT645-2007通讯规约库为例
  • Claude Code + Holopix AI | 轻松复刻 “虚假广告“-丧尸射击小游戏
  • 网站左侧的导航是怎么做的如何选择盐城网站开发
  • win7如何建设免费网站网站建设栏目图片
  • 技术博客 SEO 优化指南:从 0 到 1 提升搜索流量​
  • 保定商城网站建设企业信用查询系统官网
  • 淄博市造价信息网建材信息价及工程造价信息期刊获取方式
  • 【文献阅读】SteganoGAN:High Capacity Image Steganography with GANs
  • 如何给网站做下载附件城乡住房和城乡建设厅官网
  • 东莞常平学校网站建设网站文章更新怎么做