达梦数据库(dm8) Centos7 高可用集群

国产数据库-达梦

  • 一、环境详情
  • 二、Centos7 参数优化(所有节点)
  • 三、创建用户(所有节点)
  • 四、开始安装(所有节点)
  • 五、服务注册启动

当前安装:在指定版本环境下 测试,仅供参考

  • 官网描述:
    达梦数据守护集群软件(DM Data Watch)是一种集成化的高可靠性解决方案,该方案基于数据库REDO日志,不依赖于第三方软件和存储,用于解决由于硬件故障、自然灾害等原因导致的数据库服务长时间中断问题,提供不间断数据库服务,可同时满足用户对数据安全性和高可用性的要求。数据守护包含的主要部件有:主数据库、备数据库、联机REDO日志系统、本地REDO日志归档服务、实时REDO日志归档服务、REDO日志重做服务、MAL系统、守护进程和监视器。其中,守护进程和监视器是两个独立的工具,其他部件集成在DM8数据库服务器DMSERVER中。
  • 实时监控:
    达梦数据守护能够提供主备机切换、备机接管、应用自动重连、自动同步历史数据功能,通过监控工具DMWMON,可实时监控主、备数据库的状态和数据同步情况。

一、环境详情

  1. 软件版本

    软件版本下载地址
    Centos 7CentOS Linux release 7.9.2009 (Core) x86清华镜像站: link
    达梦数据库dm8_20230418_x86_rh6_64.zip官网: link
  2. 节点分配
    如有需要还可以多配置一个副监视器(node4),部署方式和node3一致

    节点IP角色数据库名实例名portmal inst_dw_portmal dw_port
    node1192.168.162.221主机DM01DMSERVER0152364510165101
    node2192.168.162.222备机DM01DMSERVER0252364510165101
    node3192.168.162.223主监视器

二、Centos7 参数优化(所有节点)

  1. 关闭防火墙
    可以设置防火墙开放 5236 端口,或者直接关闭防火墙,这里选择直接关闭。
  • 关闭防火墙: systemctl stop firewalld
  • 禁止开机自启: systemctl disable firewalld
  1. 修改系统最大进程数和最大文件打开数

    vim /etc/security/limits.conf修改以下内容:
    * soft nofile 65536
    * hard nofile 131072
    * soft nproc 2048
    * hard nproc 4096
    
  2. 修改进程数据限制

    vim /etc/security/limits.d/90-nproc.conf
    修改以下内容:
    * soft nproc 1024
    * soft nproc 2048
    

    查看优化信息

    ulimit -a
    

三、创建用户(所有节点)

  1. 登录 root 创建 mss 用户

    groupadd mss
    useradd -m -d /home/mss mss -g mss 
    passwd mss123456
    
  2. 创建目录
    登录 mss 用户

    # 创建安装目录
    mkdir /home/mss/dm8
    # 创建镜像目录
    mkdir /home/mss/dm8/iso
    

四、开始安装(所有节点)

  1. 上传镜像
    上传镜像文件(dm8_20230418_x86_rh6_64.iso)到 /home/mss/dm8 下

  2. 挂载镜像
    切换 root 用户

    mount /home/mss/dm8/dm8_20230418_x86_rh6_64.iso /home/mss/dm8/iso/
    # 查看是否挂载
    df -h
    

    授权 mss 用户目录权限

    chown -R mss:mss /home/mss
    
  3. 创建其它文件夹
    切换 mss 用户

    cd /home/mss/dm8
    mkdir install
    
  4. 执行安装

    cd /home/mss/dm8/iso
    ./DMInstall.bin -i
    

    在这里插入图片描述
    选择典型安装-1,安装路径 /home/mss/dm8/install
    安装完成提示:
    在这里插入图片描述

    数据库安装完成后,需要切换至 root 用户执行上图中的命令 root_installer.sh 创建 DmAPService,否则会影响数据库备份。

    su root
    cd  /home/mss/dm8/install/script/root
    ./root_installer.sh
    
  5. 创建实例

    切换 mss 用户
    注: 关于这些参数说明可进入安装目录的bin下,执行./dminit help
    case_sensitive :字符串比较大小写敏感,默认开启1(区分大小写),设置为 0 则不区分大小写

    在 node1 创建实例一:

    cd /home/mss/dm8/install/bin
    ./dminit path=/home/mss/dm8/data DB_NAME=DM01 INSTANCE_NAME=DBSERVER01 CASE_SENSITIVE=0  PORT_NUM=5236 SYSDBA_PWD=casic123456 SYSAUDITOR_PWD=casic123456 PAGE_SIZE=32 EXTENT_SIZE=32  CHARSET=1  LOG_SIZE=500
    

    在 node2 创建实例二:

    cd /home/mss/dm8/install/bin
    ./dminit path=/home/mss/dm8/data DB_NAME=DM01 INSTANCE_NAME=DBSERVER02 CASE_SENSITIVE=0  PORT_NUM=5236 SYSDBA_PWD=casic123456 SYSAUDITOR_PWD=casic123456 PAGE_SIZE=32 EXTENT_SIZE=32  CHARSET=1  LOG_SIZE=500
    

    在 node3 创建监视器:

    cd /home/mss/dm8/install/bin
    ./dminit path=/home/mss/dm8/data DB_NAME=DM01
    
  6. 配置实例参数
    切换 mss 用户

    配置 node1 实例一:------------------------------------------------------------------

    cd /home/mss/dm8/data/DM01
    

    (1)配置dm.ini

    INSTANCE_NAME =DBSERVER01
    PORT_NUM = 5236
    DW_INACTIVE_INTERVAL = 60
    #不允许手工方式修改实例模式/状态/OGUID
    ALTER_MODE_STATUS = 0
    #不允许备库 OFFLINE 表空间
    ENABLE_OFFLINE_TS = 2
    #打开 MAL 系统
    MAL_INI = 1
    #打开归档配置
    ARCH_INI = 1
    #统计最近 64 次的日志重演信息
    RLOG_SEND_APPLY_MON = 64
    

    (2)新建dmmal.ini

    #配置上端口规划中规划的各端口参数:
    #PORT_NUM、MAL_INST_DW_PORT、MAL_DW_PORT
    #[MAL_INST1]中填写主机的、
    #[MAL_INST2]中填写备机的MAL_CHECK_INTERVAL = 5
    MAL_CONN_FAIL_INTERVAL = 5[MAL_INST1]
    MAL_INST_NAME = DBSERVER01
    MAL_HOST = 192.168.162.221
    MAL_PORT = 55101
    MAL_INST_HOST = 192.168.162.221
    MAL_INST_PORT = 5236
    MAL_DW_PORT = 65101
    MAL_INST_DW_PORT = 45101[MAL_INST2]
    MAL_INST_NAME = DBSERVER02
    MAL_HOST = 192.168.162.222
    MAL_PORT = 55101
    MAL_INST_HOST = 192.168.162.222
    MAL_INST_PORT = 5236
    MAL_DW_PORT = 65101
    MAL_INST_DW_PORT = 45101
    

    (3)新建dmarch.ini

    [ARCHIVE_REALTIME]
    ARCH_TYPE = REALTIME
    ARCH_DEST =DBSERVER02[ARCHIVE_LOCAL1]
    ARCH_TYPE = LOCAL
    ARCH_DEST = /home/mss/dm8/data/DM01/arch
    ARCH_FILE_SIZE = 128
    ARCH_SPACE_LIMIT = 0
    

    (4)新建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/mss/dm8/data/DM01/dm.ini
    INST_AUTO_RESTART = 1
    INST_STARTUP_CMD = /home/mss/dm8/install/bin/dmserver
    RLOG_SEND_THRESHOLD = 0
    RLOG_APPLY_THRESHOLD = 0
    

    配置 node2 实例二:------------------------------------------------------------------

    cd /home/mss/dm8/data/DM01
    

    (1)配置dm.ini

    INSTANCE_NAME = DBSERVER02
    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
    

    (2)新建dmmal.ini

    #配置上端口规划中规划的各端口参数:
    #PORT_NUM、MAL_INST_DW_PORT、MAL_DW_PORT
    #[MAL_INST1]中填写主机的、
    #[MAL_INST2]中填写备机的MAL_CHECK_INTERVAL = 5
    MAL_CONN_FAIL_INTERVAL = 5[MAL_INST1]
    MAL_INST_NAME = DBSERVER01
    MAL_HOST = 192.168.162.221
    MAL_PORT = 55101
    MAL_INST_HOST = 192.168.162.221
    MAL_INST_PORT = 5236
    MAL_DW_PORT = 65101
    MAL_INST_DW_PORT = 45101[MAL_INST2]
    MAL_INST_NAME = DBSERVER02
    MAL_HOST = 192.168.162.222
    MAL_PORT = 55101
    MAL_INST_HOST = 192.168.162.222
    MAL_INST_PORT = 5236
    MAL_DW_PORT = 65101
    MAL_INST_DW_PORT = 45101
    

    (3)新建dmarch.ini

    [ARCHIVE_REALTIME]
    ARCH_TYPE = REALTIME
    ARCH_DEST =DBSERVER01[ARCHIVE_LOCAL1]
    ARCH_TYPE = LOCAL
    ARCH_DEST = /home/mss/dm8/data/DM01/arch
    ARCH_FILE_SIZE = 128
    ARCH_SPACE_LIMIT = 0
    

    (4)新建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/mss/dm8/data/DM01/dm.ini
    INST_AUTO_RESTART = 1
    INST_STARTUP_CMD = /home/mss/dm8/install/bin/dmserver
    RLOG_SEND_THRESHOLD = 0
    RLOG_APPLY_THRESHOLD = 0
    

    配置 node3 监视器:------------------------------------------------------------------

    cd /home/mss/dm8/data/DM01
    

    (1)新建dmmonitor.ini

    # 0表示普通监视器 ,最多配置8个,1 确认监视器模式
    MON_DW_CONFIRM = 1
    MON_LOG_PATH = /home/mss/dm8/install/log
    # 每隔 60s 定时记录系统信息到日志文件
    MON_LOG_INTERVAL = 60
    # 每个日志文件最大 32M
    MON_LOG_FILE_SIZE = 32
    # 不限定日志文件总占用空间
    MON_LOG_SPACE_LIMIT = 0[GRP1]
    #组 GRP1 的唯一OGUID 值
    MON_INST_OGUID = 453331
    ##dmmal.ini####MAL_HOST:MAL_DW_PORT###################
    MON_DW_IP = 192.168.162.221:65101
    MON_DW_IP = 192.168.162.222:65101
    
  7. **备份主机数据库 node1 **
    登录 node1 服务器

    su mss
    cd /home/mss/dm8/install/bin/
    # 初始化
    ./dmserver /home/mss/dm8/data/DM01/dm.ini #如果dmap没启动执行以下命令
    ./dmap#执行备份
    ./dmrman CTLSTMT="BACKUP DATABASE '/home/mss/dm8/data/DM01/dm.ini' FULL TO fullbak01 BACKUPSET '/home/mss/dm8/backup/fullbak01'"
    拷贝221备份文件到222
    scp -r /home/mss/dm8/backup mss@192.168.162.222:/home/mss/dm8/
    
  8. **在备份机还原数据库 node2 **
    登录 node2 服务器

    su mss
    cd /home/mss/dm8/install/bin/#如果dmap没启动执行以下命令
    ./dmap./dmrman CTLSTMT="RESTORE DATABASE '/home/mss/dm8/data/DM01/dm.ini' FROM BACKUPSET '/home/mss/dm8/backup/fullbak01'"
    ./dmrman CTLSTMT="RECOVER DATABASE '/home/mss/dm8/data/DM01/dm.ini' FROM BACKUPSET '/home/mss/dm8/backup/fullbak01'"
    ./dmrman CTLSTMT="RECOVER DATABASE '/home/mss/dm8/data/DM01/dm.ini' UPDATE DB_MAGIC"```
    
  9. 主机与备机分别以mount方式启动数据库
    在 node1、node2 分别执行以下命令

    cd /home/mss/dm8/install/bin/
    #如果dmap没启动执行以下命令
    ./dmap
    ./dmserver /home/mss/dm8/data/DM01/dm.ini  mount./disql
    SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
    SQL> SP_SET_OGUID(453331);
    SQL> ALTER DATABASE PRIMARY;
    SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
    
  10. 启动测试服务
    (1) node1 221 机器:

    cd /home/mss/dm8/install/bin/
    ./dmserver /home/mss/dm8/data/DM01/dm.ini  mount
    ./dmwatcher /home/mss/dm8/data/DM01/dmwatcher.ini
    

    在这里插入图片描述
    (2) node1 222 机器:

    cd /home/mss/dm8/install/bin/
    ./dmserver /home/mss/dm8/data/DM01/dm.ini  mount
    ./dmwatcher /home/mss/dm8/data/DM01/dmwatcher.ini
    

    (3) node3 223 机器:

    cd /home/mss/dm8/install/bin/
    ./dmmonitor /home/mss/dm8/data/DM01/dmmonitor.ini
    

    在这里插入图片描述

五、服务注册启动

  1. 进行服务注册

    切换 root 用户
    (1)node1 221 机器 实例一

    su root
    cd  /home/mss/dm8/install/script/root
    ./dm_service_installer.sh -p DMSERVER -t dmserver -dm_ini /home/mss/dm8/data/DM01/dm.ini 
    ./dm_service_installer.sh -p dmwatcher -t dmwatcher -watcher_ini  /home/mss/dm8/data/DM01/dmwatcher.ini
    

    (2)node2 222 机器 实例二

    su root
    cd  /home/mss/dm8/install/script/root
    ./dm_service_installer.sh -p DMSERVER -t dmserver -dm_ini /home/mss/dm8/data/DM01/dm.ini 
    ./dm_service_installer.sh -p dmwatcher -t dmwatcher -watcher_ini  /home/mss/dm8/data/DM01/dmwatcher.ini
    

    (3)node3 223 机器 监测

    su root
    cd  /home/mss/dm8/install/script/root
    ./dm_service_installer.sh -p dmmonitor  -t dmmonitor -monitor_ini   /home/mss/dm8/data/DM01/dmmonitor.ini
    
    //注释: 此命令为删除服务:./dm_service_uninstaller.sh -n DmServiceDMSERVER
    
  2. 启停数据库命令
    (1)node1 221 机器 实例一

    systemctl start DmServiceDMSERVER.service
    systemctl stop DmServiceDMSERVER.service
    systemctl restart DmServiceDMSERVER.service
    systemctl status DmServiceDMSERVER.service
    

    (2)node2 222 机器 实例二

    systemctl start DmServiceDMSERVER.service
    systemctl stop DmServiceDMSERVER.service
    systemctl restart DmServiceDMSERVER.service
    systemctl status DmServiceDMSERVER.service
    

    (3)node3 223 机器 监视器

    systemctl status DmMonitorServicedmmonitor.service
    systemctl start DmMonitorServicedmmonitor.service
    
  3. 连接数据库
    账户:SYSDBA
    密码:SYSDBA

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/36405.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

风丘科技将亮相 EVM ASIA 2023

风丘科技将首次亮相 EVM ASIA 2023 WINDHILL will debut EVM ASIA 2023 ——可持续移动的未来 —The Future of SUSTAINABLE Mobility EVM ASIA 2023是亚太地区电气化的国际性展会,专注于新能源汽车、充电技术及汽车零件制造等。展会致力于促进包括充电站、交通…

[系统安全] 五十二.DataCon竞赛 (1)2020年Coremail钓鱼邮件识别及分类详解

您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列。因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全、逆向分析和恶意代码检测,“系统安全”系列文章会更加聚焦,更加系…

嵌入式Qt开发—Excel表格数据导出

有一个嵌入式Excel表格数据导出的需求:应用软件运行于嵌入式Linux平台上,在设备运行过程中,存储了许多数据,这些数据想以表格的形式导出。考虑到Windows平台的普遍性,需要将数据以excel表格形式导出,故选择…

“中国软件杯”飞桨赛道晋级决赛现场名单公布

“中国软件杯”大学生软件设计大赛是由国家工业和信息化部、教育部、江苏省人民政府共同主办,是全国软件行业规格最高、最具影响力的国家级一类赛事,为《全国普通高校竞赛排行榜》榜单内赛事。今年,组委会联合百度飞桨共同设立了“智能系统设…

基于PHP的轻量级博客typecho

本文完成于 5 月中旬,发布时未在最新版本上验证; 什么是 typecho ? Typecho 是一款基于 PHP 的博客软件,旨在成为世界上最强大的博客引擎。Typecho 在 GNU 通用公共许可证 2.0 下发布。支持多种数据库,原生支持 Markdo…

24届近5年南京大学自动化考研院校分析

今天给大家带来的是南京大学控制考研分析 满满干货~还不快快点赞收藏 一、南京大学 学校简介 南京大学是一所历史悠久、声誉卓著的高等学府。其前身是创建于1902年的三江师范学堂,此后历经两江师范学堂、南京高等师范学校、国立东南大学、国立第四中…

JS 删除的是最后一页的最后一条,页码设置逻辑

删除的场景: 解决思路: 1、计算操作后的总页数 2、删除成功之后的总页数与当前总页数进行比较 3、如果删除成功之后的总页数比小于当前总页数,需要把当前页码减去1;否则,直接进行列表数据的请求 代码实现 /*总条数…

VBA 学习笔记1 对象以及属性

目录 1 取得VBA对象1.1 取得工作簿对象1.2 取得工作表对象1.3 取得单元格对象1.4 取得对象的属性1.5 文档的方法1 进入vba 界面 方式之一: 快捷键:ALTERF11 运行方式之一: 进入vba界面,点击绿色三角符号 1 取得VBA对象 1.1 取得…

DAY21

题目一 给定三个字符串str1、str2和aim, 如果aim包含且仅包含来自str1和str2的所有字符,而且在aim中属于str1的字符 之间保持原来在str1中的顺序,属于str2的字符之间保持原来在str2中的顺序,那么称aim是str1和str2的交错组成。实…

Springboot-Retrofit HTTP工具框架快速使用

在SpringBoot项目直接使用okhttp、httpClient或者RestTemplate发起HTTP请求,既繁琐又不方便统一管理。 因此,在这里推荐一个适用于SpringBoot项目的轻量级HTTP客户端框架retrofit-spring-boot-starter,使用非常简单方便,同时又提供…

约数个数(质因子分解)

思路: (1)由数论基本定理,任何一个正整数x都能写作,其中p1,p2..pk为x的质因子。 (2)由此可以推断,要求一个数约数的个数,注意到约数就是p1,p2...pk的一种组合&#xff…

日常BUG—— SpringBoot项目DEBUG模式启动慢、卡死。

😜作 者:是江迪呀✒️本文关键词:日常BUG、BUG、问题分析☀️每日 一言 :存在错误说明你在进步! 一、问题描述 我们调试程序时,需要使用DEBUG模式启动SpringBoot项目, 有时候会发…

SQL | 使用通配符进行过滤

6-使用通配符进行过滤 6.1-LIKE操作符 前面介绍的所有操作符都是通过已知的值进行过滤,或者检查某个范围的值。但是如果我们想要查找产品名字中含有bag的数据,就不能使用前面那种过滤情况。 利用通配符,可以创建比较特定数据的搜索模式。 …

c++ 有元

友元分为两部分内容 友元函数友元类 友元函数 问题&#xff1a;当我们尝试去重载operator<<&#xff0c;然后发现没办法将operator<<重载成成员函数。因为cout的输出流对象和隐含的this指针在抢占第一个参数的位置。this指针默认是第一个参数也就是左操作 数了。…

基于dbn+svr的交通流量预测,dbn详细原理

目录 背影 DBN神经网络的原理 DBN神经网络的定义 受限玻尔兹曼机(RBM) DBN+SVR的交通流量预测 基本结构 主要参数 数据 MATALB代码 结果图 展望 背影 DBN是一种深度学习神经网络,拥有提取特征,非监督学习的能力,是一种非常好的分类算法,本文将DBN+SVR用于交通流量预测…

二叉树题目:二叉树的直径

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法思路和算法代码复杂度分析 题目 标题和出处 标题&#xff1a;二叉树的直径 出处&#xff1a;543. 二叉树的直径 难度 3 级 题目描述 要求 给定二叉树的根结点 root \texttt{root} root&#xff0c;返回其直径…

考研408 | 【计算机网络】 传输层

导图 传输层的功能 传输层的两个协议 传输层的寻址与端口 UDP协议 UDP的主要特点 UDP首部格式&#xff1a; UDP校验&#xff1a; TCP协议 TCP协议的特点 TCP报文段首部格式 TCP连接管理 TCP的连接建立 SYN洪泛攻击 TCP的连接释放 TCP可靠传输 序号&#xff1a; 确认&#xff1…

ASEMI快恢复二极管APT80DQ20BG怎么检查好坏

编辑-Z 二极管APT80DQ20BG是一种高压快恢复二极管&#xff0c;常用于电源和电能质量控制等领域。如果您的二极管出现故障或需要进行维修&#xff0c;以下是一些可能的解决方案。 首先&#xff0c;确保您已经断开了电源&#xff0c;并且具备基本的电子维修知识和技能。如果您不…

添加vue devtools扩展工具+添加后F12不显示Vue图标

前言&#xff1a;在开启Vue学习之旅时&#xff0c;遇到问题两个问题&#xff0c;第一添加不上vue devtools扩展工具&#xff0c;第二添加完成后&#xff0c;F12不显示Vue图标。查阅了很多博客&#xff0c;自己解决了问题&#xff0c;故写此博客记录。如果你遇到和我一样的问题&…

React源码解析18(3)------ beginWork的工作流程【mount】

摘要 OK&#xff0c;经过上一篇文章。我们调用了&#xff1a; const root document.querySelector(#root); ReactDOM.createRoot(root)生成了FilberRootNode和HostRootFilber。 并且二者之间的对应关系也已经确定。 而下一步我们就需要调用render方法来讲react元素挂载在ro…