达梦数据库数据守护集群
技术方案

目录

1 DM7数据守护集群部署实施流程 3
1.1 流程 3
1.2 系统架构图 3
1.3 网络拓扑图 4
2 部署规划 4
2.1 路径规划 4
2.2 实例规划 5
2.3 硬件环境 5
2.4 软件环境 5
3 安装数据库过程 5
3.1 配置操作系统 5
4 配置集群 11
4.1 DMDWC数据守护集群配置 11
步骤1. 环境准备 11
步骤2. 数据库准备 11
步骤3. 配置主库 12
步骤4. 配置备库 14
步骤5. 配置监视器 17
步骤6. 启动守护进程 17
步骤7. 启动监视器 17
步骤8. 维护集群 17
4.2 DMDWC数据守护访问 18
步骤1. 快捷菜单 18
步骤2. 连接数据库 19
步骤3. 新建查询 20
步骤4. 执行SQL语句 20
步骤5. 调整窗口选项 21
步骤6. 在管理工具中,选择任何数据库对象都可以右键生成sql脚本 22
步骤7. 导出功能 22
步骤8. 导入功能 23

1 背景
1.1 需求
本项目需要选择成熟的关系型数据库,需要具有高度的数据可靠性,容错能力,支持灾难情况下的异地容灾高可用要求。
提供数据库读写分离建设服务。
提供数据库实时同步建设服务。
应用系统必须支持同城异地应用双活架构。
2 DM7数据守护集群部署实施流程
2.1 流程

  1. 规划部署实施信息。
  1. 规划程序安装路径。
  2. 规划数据库实例数据存放路径。
  3. 规划归档路径。
  4. 规划备份路径
  5. 规划实例配置
  1. 使用安装包进行安装。
  2. 配置集群
    2.2 系统架构图

2.3 网络拓扑图

3 部署规划
3.1 路径规划

3.2 实例规划

3.3 硬件环境

3.4 软件环境

4 安装数据库过程
4.1 配置操作系统
 创建用户组和用户

  1. 创建安装用户组dinstall
    groupadd dinstall
    创建安装用户dmdba
    useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
    设置密码
    passwd dmdba
     创建目录
  2. 创建数据目录
    mkdir /dmdata
    chown -R dmdba:dinstall /dmdata
    su - dmdba
    mkdir /dmdata/DJPT
    mkdir /dmdata/DJPT/arch
    mkdir /dmdata/DJPT/bak
     修改操作系统参数
    修改/etc/security/limits.conf增加如下内容:

dmdba soft nproc 4096
dmdba hard nproc 4096
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba soft core unlimited

修改/home/dmdba/.bash_profile增加如下内容:
export PATH=PATH:/home/dmdba/dmdbms/binexportLDLIBRARYPATH=PATH:/home/dmdba/dmdbms/bin export LD_LIBRARY_PATH=PATH:/home/dmdba/dmdbms/binexportLDL​IBRARYP​ATH=LD_LIBRARY_PATH:/home/dmdba/dmdbms/bin
export JAVA_HOME=/home/dmdba/dmdbms/jdk
 安装程序过程

  1. 启动安装程序

  2. 选择语言与时区

  3. 进入安装向导

  4. 接受许可证协议

  5. 显示版本号信息

  6. 选择授权文件

  7. 选择安装组件

  8. 选择安装路径

  9. 查看安装小结

  10. 完成安装过程

  11. 进入初始化数据库实例过程,该页面可选择取消初始化数据库,后续单独打开dbca进行,也可以选择选中初始化数据库,继续进行初始化数据库的任务。

5 配置集群
5.1 DMDWC数据守护集群配置
步骤1. 环境准备

步骤2. 数据库准备
各主备库的实例名建议采用“组名_守护环境_序号”的方式命名,方便按组区分不同实
例,注意总长度不能超过 16。本示例中组名为“GRP1”,配置为实时主备,主库命名为
“GRP1_RT_01”,备库命名为“GRP1_RT_02”。

DW_P 机器上初始化库至目录/home/dmdba/dmdbms/bin
[/home/dmdba/dmdbms/bin]# ./dminit PATH=/data/dmdata
DW_P 机器上启动数据库服务
[/home/dmdba/dmdbms/bin]# ./dmserver PATH=/data/dmdata/DAMENG/dm.ini
启动服务出现SYSTEM IS READY 后,输入exit停止服务。
DW_S1 机器上拷贝数据库
[/home/dmdba/dmdbms/bin]# scp -r /data/dmdata/DAMENG 10.11.28.108: /data/dmdata
将DW_P上数据目录/data/dmdata/DAMENG拷贝到DW_S2上。
步骤3. 配置主库
所有ini配置文件均存放于/data/dmdata/DAMENG目录下
配置 dm.ini
#实例名,建议使用“组名_守护环境_序号”的命名方式,总长度不能超过16
INSTANCE_NAME = GRP1_RT_01
PORT_NUM = 5236 #数据库实例监听端口
DW_PORT = 5257 #守护环境下,监听守护进程连接端口
DW_ERROR_TIME = 60 #接收守护进程消息超时时间
ALTER_MODE_STATUS = 0 #不允许手工方式修改实例模式/状态
ENABLE_OFFLINE_TS = 2 #不允许备库OFFLINE表空间
MAL_INI = 1 #打开MAL系统
ARCH_INI = 1 #打开归档配置
HA_INST_CHECK_FLAG = 1 #检测是否多个实例进程同时启动
RLOG_SEND_APPLY_MON = 64 #统计最近64次的日志发送信息

配置 dmmal.ini
配置 MAL 系统,各主备库的 dmmal.ini 配置必须完全一致,MAL_HOST 使用内部网络 IP,MAL_PORT 与 dm.ini 中 PORT_NUM 使用不同的端口值,MAL_DW_PORT 是各实例
对应的守护进程之间,以及守护进程和监视器之间的通信端口,配置如下:
MAL_CHECK_INTERVAL = 5 #MAL链路检测时间间隔
MAL_CONN_FAIL_INTERVAL = 5 #判定MAL链路断开的时间
[MAL_INST1]
MAL_INST_NAME = GRP1_RT_01 #实例名,和dm.ini中的INSTANCE_NAME一致
MAL_HOST = 10.11.28.107 #MAL 系统监听TCP 连接的IP地址
MAL_PORT = 5336 #MAL系统监听TCP连接的端口
MAL_INST_HOST = 10.11.28.107 #实例的对外服务IP 地址
MAL_INST_PORT = 5236 #实例的对外服务端口,和dm.ini中的PORT_NUM一致
MAL_DW_PORT = 5253 #实例对应的守护进程监听TCP连接的端口
[MAL_INST2]
MAL_INST_NAME = GRP1_RT_02
MAL_HOST = 10.11.28.108
MAL_PORT = 5336
MAL_INST_HOST = 10.11.28.108
MAL_INST_PORT = 5236
MAL_DW_PORT = 5253

配置 dmarch.ini
修改 dmarch.ini,配置本地归档和实时归档。
除了本地归档外,其他归档配置项中的 ARCH_DEST 表示实例是 Primary 模式时,需要同步归档数据的目标实例名。
当前实例 GRP1_RT_01 是主库,需要向 GRP1_RT_02(实时备库)同步数据,因此实时归档的 ARCH_DEST 配置为 GRP1_RT_02。
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME #实时归档类型
ARCH_DEST = GRP1_RT_02 #实时归档目标实例名
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL #本地归档类型
ARCH_DEST = /data/dmarch/DAMENG #本地归档文件存放路径
ARCH_FILE_SIZE = 128 #单位Mb,本地单个归档文件最大值
ARCH_SPACE_LIMIT = 0 #单位Mb,0 表示无限制,范围1024~4294967294M

配置 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 = 121233 #守护系统唯一OGUID值
INST_INI = /data/dmdata/DAMENG/dm.ini #dm.ini配置文件路径
INST_AUTO_RESTART = 1 #打开实例的自动启动功能
INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver #命令行方式启动
RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阀值,默认关闭
RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阀值,默认关闭

配置 dmwatcher.ctl
同一个守护进程组,必须使用同一份 dmwatcher.ctl。因此,只需要使用 dmctlcvt工具生成一份 dmwatcher.ctl 文件,然后分别拷贝到各个数据库目录下即可。
在配置完成 dmwatcher.ini 后,使用 dmctlcvt 工具生成 dmwatcher.ctl:
./dmctlcvt TYPE=3 SRC=/data/dmdata/DAMENG/dmwatcher.ini DEST=/data/dmdata
拷贝生成的 dmwatcher.ctl 文件到数据文件目录/data/dmdata/DAMENG。
启动主库
以 mount 方式启动主库
./dmserver /data/dmdata/DAMENG/dm.ini mount

设置 OGUID和数据库模式
启动命令行工具 DIsql,登录主库设置 OGUID 值
SQL>sp_set_oguid(121233);
SQL>alter database primary;

步骤4. 配置备库
所有ini配置文件均存放于/data/dmdata/DAMENG目录下
配置 dm.ini
在 DW_S1 机器上配置备库的实例名为 GRP1_RT_02,dm.ini 参数修改如下:
#实例名,建议使用“组名_守护环境_序号”的命名方式,总长度不能超过16
INSTANCE_NAME = GRP1_RT_02
PORT_NUM = 5236 #数据库实例监听端口
DW_PORT = 5257 #守护环境下,监听守护进程连接端口
DW_ERROR_TIME = 60 #接收守护进程消息超时时间
ALTER_MODE_STATUS = 0 #不允许手工方式修改实例模式/状态
ENABLE_OFFLINE_TS = 2 #不允许备库OFFLINE表空间
MAL_INI = 1 #打开MAL系统
ARCH_INI = 1 #打开归档配置
HA_INST_CHECK_FLAG = 1 #检测是否多个实例进程同时启动
RLOG_SEND_APPLY_MON = 64 #统计最近64次的日志发送信息

配置 dmmal.ini
配置 MAL 系统,各主备库的 dmmal.ini 配置必须完全一致,MAL_HOST 使用内部网络 IP,MAL_PORT 与 dm.ini 中 PORT_NUM 使用不同的端口值,MAL_DW_PORT 是各实例
对应的守护进程之间,以及守护进程和监视器之间的通信端口,配置如下:
MAL_CHECK_INTERVAL = 5 #MAL链路检测时间间隔
MAL_CONN_FAIL_INTERVAL = 5 #判定MAL链路断开的时间
[MAL_INST1]
MAL_INST_NAME = GRP1_RT_01 #实例名,和dm.ini中的INSTANCE_NAME一致
MAL_HOST = 10.11.28.107 #MAL 系统监听TCP 连接的IP地址
MAL_PORT = 5336 #MAL系统监听TCP连接的端口
MAL_INST_HOST = 10.11.28.107 #实例的对外服务IP 地址
MAL_INST_PORT = 5236 #实例的对外服务端口,和dm.ini中的PORT_NUM一致
MAL_DW_PORT = 5253 #实例对应的守护进程监听TCP连接的端口
[MAL_INST2]
MAL_INST_NAME = GRP1_RT_02
MAL_HOST = 10.11.28.108
MAL_PORT = 5336
MAL_INST_HOST = 10.11.28.108
MAL_INST_PORT = 5236
MAL_DW_PORT = 5253

配置 dmarch.ini
修改 dmarch.ini,配置本地归档和实时归档。
除了本地归档外,其他归档配置项中的 ARCH_DEST 表示实例是 Primary 模式时,需要同步归档数据的目标实例名。
当前实例 GRP1_RT_01 是主库,需要向 GRP1_RT_02(实时备库)同步数据,因此实时归档的 ARCH_DEST 配置为 GRP1_RT_02。
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME #实时归档类型
ARCH_DEST = GRP1_RT_01 #实时归档目标实例名
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL #本地归档类型
ARCH_DEST = /data/dmarch/DAMENG #本地归档文件存放路径
ARCH_FILE_SIZE = 128 #单位Mb,本地单个归档文件最大值
ARCH_SPACE_LIMIT = 0 #单位Mb,0 表示无限制,范围1024~4294967294M

配置 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 = 121233 #守护系统唯一OGUID值
INST_INI = /data/dmdata/DAMENG/dm.ini #dm.ini配置文件路径
INST_AUTO_RESTART = 1 #打开实例的自动启动功能
INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver #命令行方式启动
RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阀值,默认关闭
RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阀值,默认关闭

配置 dmwatcher.ctl
同一个守护进程组,必须使用同一份 dmwatcher.ctl 文件,这里直接拷贝配置主库时已经生成的 dmwatcher.ctl 到本地数据文件目录/data/dmdata/DAMENG。
启动主库
以 mount 方式启动备库
./dmserver /data/dmdata/DAMENG/dm.ini mount

设置 OGUID和数据库模式
启动命令行工具 DIsql,登录主库设置 OGUID 值
SQL>sp_set_oguid(121233);
SQL>alter database standby;

步骤5. 配置监视器
由于主库和实时备库的守护进程配置为自动切换模式,因此这里选择配置确认监视器。
和普通监视器相比,确认监视器除了相同的命令支持外,在主库发生故障时,能够自动通知
实时备库接管为新的主库,具有自动故障处理的功能。
修改 dmmonitor.ini 配置确认监视器,其中 MON_DW_IP 中的 IP 和 PORT 和dmmal.ini 中的 MAL_HOST 和 MAL_DW_PORT 配置项保持一致。
MON_DW_CONFIRM = 1 #确认监视器模式
MON_LOG_PATH = /data/dmdata/log #监视器日志文件存放路径
MON_LOG_INTERVAL = 60 #每隔60s定时记录系统信息到日志文件
MON_LOG_FILE_SIZE = 32 #每个日志文件最大32M
MON_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间
[GRP1]
MON_INST_OGUID = 121233 #组GRP1的唯一OGUID值
#以下配置为监视器到组GRP1的守护进程的连接信息,以“IP:PORT”的形式配置
#IP对应dmmal.ini中的MAL_HOST,PORT对应dmmal.ini中的MAL_DW_PORT
MON_DW_IP = 10.11.28.107:5253
MON_DW_IP = 10.11.28.108:5253

步骤6. 启动守护进程
启动各个主备库上的守护进程:
./dmwatcher /data/dmdata/DAMENG/dmwatcher.ini

步骤7. 启动监视器
启动监视器:
./dmmonitor /data/dmdata/dmmonitor.ini

步骤8. 维护集群
启动集群:
用dmdba用户登录进107服务器:
cd /home/dmdba/dmdbms/conf
./DmServiceGRP1_RT_01 start
./DmWatcherServiceGRP1_RT_01 start

用dmdba用户登录进108服务器:
cd /home/dmdba/dmdbms/conf
./DmServiceGRP1_RT_02 start
./DmWatcherServiceGRP1_RT_02 start

停止集群:
用dmdba用户登录进108服务器:
cd /home/dmdba/dmdbms/conf
./DmWatcherServiceGRP1_RT_02 stop

用dmdba用户登录进107服务器:
cd /home/dmdba/dmdbms/conf
./DmWatcherServiceGRP1_RT_01 stop
./DmServiceGRP1_RT_01 stop

用dmdba用户登录进108服务器:
cd /home/dmdba/dmdbms/conf
./DmServiceGRP1_RT_02 stop

访问集群:
SYSDBA/SYSDBA@10.11.28.107:5236
5.2 DMDWC数据守护访问
步骤1. 快捷菜单

步骤2. 连接数据库
选择客户端文件夹中的DM7管理工具。输入主机IP、端口、用户名及密码等,点击“确认”按钮,即使用客户端工具连接数据库实例

步骤3. 新建查询

步骤4. 执行SQL语句
执行,提交,回滚

步骤5. 调整窗口选项

步骤6. 在管理工具中,选择任何数据库对象都可以右键生成sql脚本

步骤7. 导出功能

步骤8. 导入功能

步骤9. 定时备份
–定时每周六运行,进行全量备份
call SP_CREATE_JOB(‘JOB_FULL_BAK_TIMELY’,1,0,’’,0,0,’’,0,‘定时全量备份’);
call SP_JOB_CONFIG_START(‘JOB_FULL_BAK_TIMELY’);
call SP_ADD_JOB_STEP(‘JOB_FULL_BAK_TIMELY’, ‘STEP_FULL_BAK’, 5, ‘01000/dmdata/GZ_AB/bak’, 1, 2, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE(‘JOB_FULL_BAK_TIMELY’, ‘SCHEDULE_FULL_BAK’, 1, 2, 1, 64, 0, ‘00:05:56’, NULL, ‘2019-10-29 21:00:57’, NULL, ‘’);
call SP_JOB_CONFIG_COMMIT(‘JOB_FULL_BAK_TIMELY’);

–定时每天运行,进行增量备份(晚上,周六除外)
call SP_CREATE_JOB(‘JOB_INCREMENT_BAK_TIMELY_NIGHT’,1,0,’’,0,0,’’,0,‘定时增量备份’);
call SP_JOB_CONFIG_START(‘JOB_INCREMENT_BAK_TIMELY_NIGHT’);
call SP_ADD_JOB_STEP(‘JOB_INCREMENT_BAK_TIMELY_NIGHT’, ‘STEP_INCREMENT_BAK’, 5, ‘11000/dmdata/GZ_AB/bak|/dmdata/GZ_AB/bak’, 1, 2, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE(‘JOB_INCREMENT_BAK_TIMELY_NIGHT’, ‘SCHEDULE_INCREMENT_BAK’, 1, 2, 1, 63, 0, ‘01:05:56’, NULL, ‘2019-10-20 21:00:57’, NULL, ‘’);
call SP_JOB_CONFIG_COMMIT(‘JOB_INCREMENT_BAK_TIMELY_NIGHT’);

达梦7数据库数据守护集群 技术方案相关推荐

  1. 达梦数据库数据守护集群搭建(命令行方式)

    文章目录 达梦数据守护集群介绍 一.前提 二.环境准备 1.数据守护集群搭建 2.配置过程 达梦数据守护集群介绍 达梦数据守护集群软件(DM Data Watch)是一种集成化的高可靠性解决方案,该方 ...

  2. 达梦数据库数据守护集群搭建

    目录 数据守护 集群搭建 备份还原 dm.ini文件修改 配置dmmal.ini文件 配置dmarch.ini归档文件 配置dmwatcher.ini文件 监视器文件配置 mount启动数据库,设置o ...

  3. DM数据库数据守护集群搭建

    目录 1.环境说明 2.数据准备 (1)正常关闭数据库:前台+后台 (2)进行脱机备份 (3)拷贝备份文件到备机 (4)备机进行脱机数据库还原与恢复 3.配置主库DMDB1 3.1 配置dm.ini ...

  4. 达梦V8搭建数据守护模式

    达梦V8的数据守护进程搭建: 自己实验的笔记 环境准备: 1.Linux环境 2.IP互通 3.上传安装介质 安装: 1.新建组及用户 groupadd dinstall useradd -g din ...

  5. DM数据守护集群部署

    DM数据守护集群部署 部署规划 A机器 B机器 心跳ip(MAL_HOST) 172.16.1.1 172.16.1.2 业务ip(对外ip) 192.168.56.145 192.168.56.14 ...

  6. DM数据守护集群搭建

    DM数据守护集群搭建 文章目录 DM数据守护集群搭建 一.概述 二.系统结构图 三.基本概念 (1)主库 (2)备库 (3)Redo日志 (4)Redo日志传输 (5)Redo日志重演 (6)守护进程 ...

  7. DM8数据守护集群搭建

    DM8数据守护集群搭建 1.安装规划 1.1 环境说明 1.2 端口配置 2.准备主库 2.1. 修改dm.ini参数 2.2. 配置dmmal.ini 2.3 配置dmwatcher.ini 3.备 ...

  8. DM8配置数据守护集群

    DM8配置数据守护集群 数据库软件:dm8_setup_rh7_64_ent_8.1.1.88_20200629.iso 操作系统:Centos7 主机地址:192.168.1.170 备机地址:19 ...

  9. 搭建达梦数据守护集群

    DM 数据守护简介: DM 数据守护 (Data Watch) 的实现原理非常简单:将主库(生产库)产生的 REDO 日志传输到备库,备库接收并重新应用 REDO 日志,从而实现备库与主库的数据同步. ...

最新文章

  1. bash: dotnet: 未找到命令..._Docker 常用命令(.NET Core示例)
  2. 1.2句柄及 WinMain函数
  3. sklearn自学指南(part12)--极小角回归及正交匹配追踪
  4. 教程 | 叮咚!答应你们的文件上传教程,到货了!
  5. tuning 02 Diagnostic and Tuning Tools
  6. 前端处理方式:特殊格式时间转换(2020-11-27T02:58:41.000000Z)
  7. 数据交互什么意思_学习编程怎么样才可以不枯燥?什么是前端语言?
  8. Myeclipse6.5中安装maven
  9. vim python一键执行、高亮等一键安装
  10. Qt配置OpenCV教程,无需复杂的编译过程,(详细版)
  11. 生物信息分析员的编程小站
  12. 【软件网每日新闻播报│第9-20期】
  13. (爆笑)国产电视剧的电脑高手
  14. Ubuntu16.04安装NVIDIA Titan Xp显卡驱动
  15. 甲骨文公司总裁Larry Ellison在耶鲁大学的演讲
  16. linux 不识别 svg,manjaro/archlinux用yaourt -Syu滚动升级后大量图标主题不能用svg图标不能识别...
  17. EMNIST: an extension of MNIST to handwritten letters(数据集简介)
  18. randn与rand的区别
  19. POI导出Excel设置单元格背景色
  20. PLSQL - 一次外连接翻车的教训

热门文章

  1. 开发板实战篇3 6位数码管动态显示
  2. 1.java概述与环境搭建
  3. 聊一聊关于Glide在面试中的那些事
  4. facebook浏览器插件_Facebook容器将Facebook与Firefox浏览器的其余部分隔离开
  5. 图的表示:如何存储微博、微信等社交网络中的好友关系?
  6. PTA 数据结构与算法 7-9 旅游规划 (25 point(s))
  7. HiKey970固件烧写
  8. r语言ggplot2 多线图绘制图例_R语言绘制箱线图示例
  9. 熬夜整理的一份elasticsearch中文文档手册
  10. 功率变送器让造纸磨浆机控制系统的可靠又安全