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

news2024/11/26 7:33:44

国产数据库-达梦

  • 一、环境详情
  • 二、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) node1 222 机器:

    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.coloradmin.cn/o/875828.html

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

相关文章

ad+硬件每日学习十个知识点(31)23.8.11 (23ad的value,AD的mysql数据库)

文章目录 1.ad的sch库(23版本的value放在下面了)2.安装mysql数据库 1.ad的sch库(23版本的value放在下面了) 答: 2.安装mysql数据库 https://www.bilibili.com/video/BV1EJ411D7dd/?spm_id_from333.337.search-card.…

Redis使用Lua脚本和Redisson来保证库存扣减中的原子性和一致性

文章目录 前言1.使用SpringBoot Redis 原生实现方式2.使用redisson方式实现3. 使用RedisLua脚本实现3.1 lua脚本代码逻辑 3.2 与SpringBoot集成 4. Lua脚本方式和Redisson的方式对比5. 源码地址6. Redis从入门到精通系列文章7. 参考文档 前言 背景:最近有社群技术交…

免费试用!谷露人才Mapping2.0上线,组织架构直链人才库速来体验

关注“谷露软件”公众号,后台回复“人才mapping”即可立刻免费试用。 点击去免费试用 点击去免费试用 谷露软件(Gllue Software)成立于2012年,目前已经成为中国领先的招聘管理系统和招聘解决方案供应商。谷露旗下涵盖猎头版和企业…

基于ssm+vue的新能源汽车在线租赁管理系统源码和论文PPT

基于ssmvue的新能源汽车在线租赁管理系统源码和论文PPT010 开发环境: 开发工具:idea 数据库mysql5.7(mysql5.7最佳) 数据库链接工具:navcat,小海豚等 开发技术:java ssm tomcat8.5 摘 要 随着科学技术的飞速发展&#xff0…

latex三线表按页面大小填充

latex三线表按页面大小填充 使用Latex表格时会出现下图情况,表格没有填充整个页面,导致不美观。 解决方法: 在\begin{tabular}前加上\resizebox{\linewidth}{!}{ , 在\end{tabular} 后加 ‘}’ 如下:\resizebox{…

helm部署vmalert

先决条件 安装以下软件包:git, kubectl, helm, helm-docs,请参阅本教程。 在 CentOS 上启用 snap 并安装 helm 启用 snapd 使用以下命令将 EPEL 存储库添加到您的系统中: sudo yum install epel-release 按如下方式安装 Snap&#xff1…

Nginx 基本原理与最小配置

文章和代码已经归档至【Github仓库:https://github.com/timerring/front-end-tutorial 】或者公众号【AIShareLab】回复 nginx 也可获取。 文章目录 目录结构基本运行原理Nginx配置与应用场景最小配置worker_processesevents模块下worker_connections http模块下inc…

使用chatGPT-4 畅聊量子物理学(二)

Omer 量子力学的主导哲学或模型或解释是什么? ChatGPT 量子力学是一门描述微观世界中粒子行为的物理学理论,但它的解释和哲学观点在学术界存在多种不同的观点和争议。以下是几种主要的哲学观点或解释: 哥本哈根解释:这是最为广泛…

easyx图形库基础:2.基本运动+键盘交互

基本运动键盘交互 一.基本运动1.基本运动:1.如何实现动画:2.实现一个小球从左到右从右到左:(往返运动)3.实现一个五角星的移动:4.实现一个五角星自转和圆周运动的集合:(圆周运动&…

网络安全 Day30-运维安全项目-容器架构上

容器架构上 1. 什么是容器2. 容器 vs 虚拟机(化) :star::star:3. Docker极速上手指南1)使用rpm包安装docker2) docker下载镜像加速的配置3) 载入镜像大礼包(老师资料包中有) 4. Docker使用案例1) 案例01::star::star::…

OLED透明屏售价:通过真实数据和研究报告的说服力分析

随着科技的不断发展,OLED透明屏的应用越来越广泛,因其高色彩饱和度、更快的响应速度和更广的视角,OLED透明屏成为了许多消费者的选择。 但是,OLED透明屏的售价是怎么样的呢?售价的影响因素是什么?如何判断…

蒸散发ET及其组分、植被总初级生产力GPP概念和碳水耦合基本原理丨Penman-Monteith模型冠层导度、蒸散发组分计算

目录 一、蒸散发与光合作用阻抗&Python实践 二、ArcGIS实践应用 三、数据处理实践 四、冠层导度与水、碳通量空间模拟案例分析实践 更多推荐 熟悉蒸散发ET及其组分(植被蒸腾Ec、土壤蒸发Es、冠层截留Ei)、植被总初级生产力GPP的概念和碳水耦合的…

搭建一个能与大家分享的旅游相册网站——“cpolar内网穿透”

如何用piwigo与cpolar结合共同搭建一个能分享的旅行相册网站 文章目录 如何用piwigo与cpolar结合共同搭建一个能分享的旅行相册网站前言1. 使用piwigo这款开源的图片管理软件2. 需要将piwigi网页复制到phpstudy3. “开始安装”进入自动安装程序4. 创建新相册5. 创建一条空白数据…

Apache Doris 2.0.0 版本正式发布:盲测性能 10 倍提升,更统一多样的极速分析体验

亲爱的社区小伙伴们,我们很高兴地向大家宣布,Apache Doris 2.0.0 版本已于 2023 年 8 月 11 日正式发布,有超过 275 位贡献者为 Apache Doris 提交了超过 4100 个优化与修复。 在 2.0.0 版本中,Apache Doris 在标准 Benchmark 数…

【第三讲-三维空间刚体运动】

旋转矩阵 点、向量、坐标系 坐标系分为左左手系和右手系 下面讨论有关向量的运算: 内积 外积: 外积的结果是一个向量,方向垂直于这两个向量,大小为

Intellij IDEA SBT依赖分析插件

可分析模块和传递依赖 安装完插件后,由于IDEA BUG,会出现两个分析按钮,一个是gradle的,一般是后者是新安装的sbt。 选择需要分析的模块 只需要在project/plugins.sbt中添加代码,启动官方分析插件addDependencyTreeP…

一个步骤跳过 Unity 启动Logo | 多平台适用 | 官方API支持

前言【Unity实战篇 】 | 一个步骤跳过 Unity Logo 界面 | 多平台适用 | 官方API支持使用方法核心 API1. RuntimeInitializeOnLoadMethodAttribute2. SplashScreen效果展示总结前言 众所周知,使用Unity引擎打包的工程在启动时都带有Unity的默认启动Logo。这个问题可以通过购买U…

G6 图可视化引擎基本使用

const data1 {nodes: [{ id: 1, label: 采购申请, x: 100, y: 200, labelCfg: { style: { fill: red } } },{ id: 2, label: 采购申请, x: 300, y: 200 },{ id: 3, label: 采购申请关联表, x: 500, y: 200 },{ id: 4, label: 军事闭关, x: 700, y: 100 },{ id: 5, label: 文化…

控价有什么技巧吗

设置一个价格进行管控,简称控价,品牌做控价不光是为了自身利益,也是为了整个行业的健康和发展,同时控价还能保证经销商的利润,以及消费者的利益。如果品牌不控价,不管是新品发售还是常规品的销售&#xff0…

456. 132 模式

456. 132 模式 原题链接:完成情况:解题思路:参考代码:单调栈 原题链接: 456. 132 模式 https://leetcode.cn/problems/132-pattern/description/ 完成情况: 解题思路: /**解题思路&#xff…