达梦7守护进程配置
- 格式:doc
- 大小:306.50 KB
- 文档页数:9
达梦数据库主备部署服务器硬件需求按实际业务需求,选择合适的服务器,参考如下:硬件要求物理内存>= 16 GB交换分区Swap空间 >= 物理内存/tmp⼤⼩> 1000MB⽹络物理机器需要 2 个⽹卡磁盘根据实际应⽤系统需要挂载合适⼤⼩磁盘时间服务器按机房要求配置连接时间服务器⽬录与存储规划:⽤途⽬录路径备注数据库软件安装⽬录/dm8可⽤空间 > 50GB实例安装⽬录/dmdata单独挂载性能最好的磁盘建议SSD 归档⽇志存放⽬录/dmarch单独挂载磁盘备份⽂件存放⽬录/dmbak单独挂载磁盘IP规划主机⽹卡 IP地址备注DM1 Eth0 192.168.2.37 对外通信DM1 Eth1 10.0.0.1 主备之间通信DM2 Eth0 192.168.2.38 对外通信DM2 Eth1 10.0.0.2 主备之间通信特别注意:所有关于dm的⽬录及下属⽬录属主和属组必须为 "dmdba" 和 "dinstall"操作步骤(主备都需要操作)1、⽤户与组groupadd dinstall //创建⽤户组useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba //创建⽤户passwd dmdba //修改⽤户密码2、资源限制vim /etc/security/limits.conf#添加如下内容dmdba soft core unlimiteddmdba hard core unlimiteddmdba soft nofile 65536dmdba hard nofile 65536dmdba soft nproc 65536dmdba hard nproc 65536dmdba soft stack 65536dmdba hard stack 655363、⽤户环境变量vi /home/dmdba/.bash_profile //⽂件末尾添加如下内容:export DM_HOME=/dm8export PATH=$PATH:$DM_HOME/binexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DM_HOME/bin4、安装数据库(这⾥以centos7系统安装)1)将安装包上传到服务器后使⽤ root ⽤户挂载 iso 安装包⽂件到 /mnt ⽬录下:2)切换到dmdba⽤户Su – dmdbaCd /mnt./DMInstall.bin -i①选择安装语⾔,c/C中⽂,e/E英⽂②提⽰是否安装key⽂件,输⼊y,输⼊key⽂件的位置③选择时区,21即东8区④选择安装类型,默认典型安装(包含所有内容)3)使⽤root⽤户执⾏命令/dm8/script/root/root_installer.sh4)授权属主Chown -R dmdba.dinstal /dmdata /dm8 /dmbak /dmarch5、使⽤ dminit ⼯具初始化实例cd /dm8/bin./dminit path=/dmdata page_size=326、参数优化安装完成需要调整 dm.ini ⽂件参数。
达梦主备集群段错误(核⼼已转储)在给客户部署两套主备集群的时候,出现⼀件让我⾮常头疼的问题。
第⼀套集群在政务外⽹,第⼆套集群在互联⽹。
部署第⼀套集群的时候,启动达梦守护进程报错(段错误(核⼼已转储)),主备节点都报错,检查dm.ini 、 dmarch.ini 、 dmmal.ini和dmwatcher.ini,都没发现有任何错误。
这个时候我们猜测,会不会是安装包的问题,我们⽤的安装包如下:dm8_20210915_HWarm_centos7_64_ent_8.1.2.70.iso这是最新的安装包,我之前没⽤这个安装包部署过集群,猜测可能是安装包中有bug。
正好,在客户的第⼆套集群上试⼀下,看看会不会出现同样的问题。
吭哧吭哧部署完后,发现互联⽹上的那套集群,⼀切正常,这下傻眼了,检查了下集群配置,政务外⽹的和互联⽹的集群配置⼀模⼀样,那为什么政务外⽹那套集群会报错呢?接下来开始正式排查问题。
⼀、查看报错信息这是启动守护进程时报的错,从报错信息上看不出什么问题,后来也查看了watcher的⽇志,也没发现什么问题,最后只能⽣成core⽂件,查看core⽂件中的报错信息。
⼆、⽣成core⽂件集群出现问题,core⽂件⼀般会⾃动⽣成,可以直接查找对应的core⽂件,也可以指定core⽂件⽣成路径。
1、直接查找core⽂件因为我们是在启动dmwatcher的时候报错,所以可以直接通过守护进程的关键字进⾏查找。
1)、find查找find / -name *dmwatcher*查到的内容如下:2)、拷贝出来如果觉得直接在这⾥查看不⽅便,可以拷贝最新的core到指定⽬录,最好把名字重命名⼀下,默认的名称太长了。
cp拷贝出来拷贝最新的,⼀般最下⾯的⽐较新:cp /var/lib/systemd/coredump/core.dmwatcher.1001.88045ab03b7c437bb3b6ebbc53218cb6.16566.1631948801000000000000.lz4/home/dmdba/3)、Lz4解压lz4 core.dmwatcher.1001.88045ab03b7c437bb3b6ebbc53218cb6.16566.1631948801000000000000.lz44)、重命名mv core.dmwatcher.1001.88045ab03b7c437bb3b6ebbc53218cb6.16566.1631948801000000000000 core.165665)、查看core[root@localhost dmdba]# cd dmdbms/bin[root@localhost bin]# gdb /home/dmdba/core.16566输⼊bt6)、猜测core报错说“连接已存在”,猜测可能是ip和端⼝冲突导致的。
达梦dimp参数-回复达梦dimp参数是指在使用达梦数据库管理系统时,可以配置的一系列参数。
这些参数可以帮助用户优化数据库性能、提高系统稳定性,以及满足不同业务需求。
本文将详细介绍达梦dimp参数,包括参数的定义、常用参数值及其作用,以及如何进行参数配置。
首先,我们需要了解什么是达梦dimp参数。
DIMP的全称是"Dynanic Intelligent Management of Parameters",即数据库参数的动态智能管理。
DIMP不仅提供了一套默认的参数配置,还支持根据实际需求进行调整和优化,以满足用户不同的业务需求。
接下来,我们来介绍一些常用的达梦dimp参数及其作用:1. IMP_ENABLE:此参数用于启用或禁用数据库参数动态管理功能。
将该参数设置为1则启用,设置为0则禁用。
默认值为1,建议保持开启状态。
2. IMP_LIMIT_PERCENT:此参数用于控制动态调整数据库参数的幅度。
其取值范围为0~100,表示动态调整时参数变化的百分比。
默认值为20,即每次调整不超过原值的20。
根据具体业务需求可以进行调整。
3. IMP_START_HOUR和IMP_END_HOUR:这两个参数定义了每天达梦dimp服务的工作时间段。
设置了工作时间段后,达梦dimp服务只会在该时间段内进行参数调整,默认情况下是全天24小时工作。
这两个参数的取值范围为0~23,可以根据实际业务需求进行调整。
4. IMP_DELTA_THRESHOLD:此参数用于控制数据库参数的调整触发阈值。
当参数的当前值与理想值之间的差异超过该阈值时,将触发参数调整。
默认值为10,表示参数值的浮动范围不应超过理想值的10。
根据具体业务需求进行调整。
除了上述常用参数外,达梦dimp还支持对各类特定参数进行动态调整,例如内存分配相关参数、并发连接数相关参数等。
用户可以根据自身业务需求,调整这些参数以优化数据库性能。
搭建守护进程在以前的文章中,介绍了即将推出的达梦7的一些新特性,如水平分区、批量处理技术、并行集群技术等。
现在为大家结合介绍一下数据守护中的守护进程方案的相关配置。
一、概述数据守护(DATA WATCH),可以满足用户对数据可靠性、安全性的需求,解决由于硬件故障、自然灾害等原因导致的数据库服务长时间中断问题,提高系统的可用性。
数据守护方案是一个集成化的灾难恢复解决方案,为DM可靠性解决方案之一,可有效避免主机单点故障,备机可作为只读服务器对外提供服务,实现负载均衡。
达梦数据守护方案DATA WATCH有两种实现方式:一种是基于观察器的数据守护(OBSV);另外一种是基于守护进程的数据守护(DMWATCH)。
故障处理策略守护进程有三种故障处理策略:a)不支持,在此模式下,可以与观察器共存,故障切换由观察器完成,守护进程只负责重启本地数据库实例。
b)基本型,在守护进行之间可相互通信的前提下,数据库实例异常时,提供故障自动切换以及故障恢复功能。
适合无法确保网络可靠性的应用场景。
不能与观察器同时配置。
c)增强型,守护进程可自主决定是否进行故障切换,数据库实例异常或者出现硬件故障时,提供故障自动切换以及故障恢复功能。
适合守护进程之间的网络是绝对可靠的应用场景。
不能与观察器同时配置。
基本型与增强型的区别在于网络是否通畅以及是否是硬件故障。
例如实例DM1发生异常,当前模式是基本型,那么只有当监控发生故障的实例的守护进程A将发生故障的消息发送到另一个守护进程B,并且B接收到了消息之后,才会进行故障恢复或者是故障自动切换,否则在网络状况不好的情况下,B没有收到消息,那么就不会进行任何处理;如果当前模式是增强型,也就意味着网络是通畅的,当守护进程A将DM1故障的消息广播出去之后,守护进程B一定会接收到,那么就可以进行故障恢复或者状态切换。
守护进程的构成基于守护进程的数据守护方案由守护进程和监视器两个模块共同完成数据守护的功能,主要由以下几个部件构成:1.一个监视器dmmon(可以没有)。
达梦数据库主备集群(数据守护)搭建实时主备概述实时主备由⼀个主库以及⼀个或者多个配置了实时(Realtime)归档的备库组成,其主要⽬的是保障数据库可⽤性,提⾼数据安全性。
实时主备系统中,主库提供完整的数据库功能,备库提供只读服务。
主库修改数据产⽣的Redo⽇志,通过实时归档机制,在写⼊联机Redo⽇志⽂件之前发送到备库,实时备库通过重演Redo⽇志与主库保持数据同步。
当主库出现故障时,备库在将所有Redo⽇志重演结束后,就可以切换为主库对外提供数据库服务1 环境准备服务器主库IP:192.168.118.120 dm8数据库实例名:RAC1 端⼝号:5236服务器备库IP:192.168.118.121 dm8数据库实例名:RAC2 端⼝号:5236# 数据库启动服务命令路径/dm8/bin,实例配置⽂件路径/dm8/data/DAMENG/2 主备库分别初始化实例(按客户要求)./dminit path=/dm8/data page_size=32 instance_name=RAC1./dminit path=/dm8/data page_size=32 instance_name=RAC23 备份还原# 如果是初始搭建环境,可以通过对主库脱机备份、对备库脱机还原的⽅式来准备数据,如果主库已经处于运⾏状态,则可以对主库进⾏联机备份、对备库脱机还原的⽅式来准备数据。
3.1 主库创建实例之后,启动数据库并登录./dmserver /dm8/data/DAMENG/dm.ini3.2 关闭数据库,以dmrman备份数据库BACKUP DATABASE '/dm8/data/DAMENG/dm.ini' BACKUPSET '/dm8/data/backup';3.3 将备份⽂件复制到备库对应⽬录下(如果是root⽤户,复制成功需要将备份⽂件设置属于dmdba:dinstall⽤户组)scp -r /dm8/data/backup dmdba@192.168.118.121:/dm8/data/backup3.4 备库启动dmrman执⾏数据库还原RESTORE DATABASE '/dm8/data/DAMENG/dm.ini' FROM BACKUPSET '/dm8/data/backup';RECOVER DATABASE '/dm8/data/DAMENG/dm.ini' FROM BACKUPSET '/dm8/data/backup';RECOVER DATABASE '/dm8/data/DAMENG/dm.ini' UPDATE DB_MAGIC;4 配置集群⽂件4.1 vim dm.ini #主备库实例都需更改下⾯参数ALTER_MODE_STATUS = 0 #不允许⼿⼯⽅式修改实例模式/状态/OGUIDENABLE_OFFLINE_TS = 2 #不允许备库 OFFLINE 表空间MAL_INI = 1 #打开 MAL 系统ARCH_INI = 1 #打开归档配置4.2 vim dmmal.ini #主备库配置必须完全⼀致MAL_CHECK_INTERVAL = 5 #MAL 链路检测时间间隔MAL_CONN_FAIL_INTERVAL = 5 #判定 MAL 链路断开的时间[MAL_INST1]MAL_INST_NAME = RAC1 #实例名,和 dm.ini 中的 INSTANCE_NAME ⼀致MAL_HOST = 192.168.118.120 #MAL 系统监听 TCP 连接的 IP 地址MAL_PORT = 61141 #MAL 系统监听 TCP 连接的端⼝MAL_INST_HOST = 192.168.118.120 #实例的对外服务 IP 地址MAL_INST_PORT = 5236 #实例的对外服务端⼝,dm.ini 中的 PORT_NUM ⼀致MAL_DW_PORT = 52141 #实例对应的守护进程监听 TCP 连接的端⼝MAL_INST_DW_PORT = 33141 #实例监听守护进程 TCP 连接的端⼝[MAL_INST2]MAL_INST_NAME = RAC2MAL_HOST = 192.168.118.121MAL_PORT = 61141MAL_INST_HOST = 192.168.118.121MAL_INST_PORT = 5236MAL_DW_PORT = 52141MAL_INST_DW_PORT = 331414.3 vim dmarch.ini #主备库归档⽬标实例名不⼀致,其他⼀致#与联机 Redo ⽇志⽂件可以被覆盖重⽤不同,本地归档⽇志⽂件不能被覆盖,写⼊其中Redo ⽇志信息会⼀直保留,直到⽤户主动删除;如果配置了归档⽇志空间上限,系统会⾃动删除最早⽣成的归档 Redo ⽇志⽂件,腾出空间。
扫描了解更多资讯通用性高可用性高性能高安全性易用性兼容性03 04 06 11 15 19概述产品特性目录小结产品架构主机E P守护备机系统监视器DMWMON事务处理系统主机备机分析业务内网:224.254.16外网:10内网:224.内网:图3 DM7主备系统的典型架构双因子结合的身份鉴别提供基于用户口令和用户数字证书相结合的用户身份鉴别功能。
当接收的用户口令和用户数字证书均正确时,才算认证通过,用户口令和用户数据证书有一个不正确或与相应的用户名不匹配,则认证不通过,这种增强的身份认证方式可以更好的防止口令被盗、冒充用户登录等情况,为数据库安全把好了第一道关。
另外,DM7还支持基于操作系统的身份认证、基于LDAP集中式的第三方认证。
审计分析与实时侵害检测提供数据库审计功能,审计类别包括:系统级审计、语句级审计、对象级审计。
同时DM7还通过了中国信息安全评测中心的EAL 级评测4。
图6 安全等级DM7图7 EAL4级证书图8 安全结构体系DM7加密引擎DM7提供加密引擎功能,当DM7内置的加密算法,比如AES系列、DES系列、DESEDE系列、RC4等加密算法,无法满足用户数据存储加密要求时,用户可能希望使用自己特殊的加密算法,或强度更高的加密算法。
用户可以采用DM7的加密引擎功能,将自己特殊的或高强度的加密算法按照DM7提供的加密引擎标准接口要求进行封装,封装后的加密算法,即可以在DM7的存储加密中按常规的方法进行使用,大大提高了数据的安全性。
产品特性客体重用D 7内置的客体重用机制使数据库管理系统能够清扫被重新分配的系统资源,以保证数据信息不会因为资源的动态分配而泄露给未授权的用户。
M 产品特性所有主客体的强制访问控制DM7达到了安全四级的要求。
强制访问控制是利用策略和标记实现数据库访问控制的一种机制。
该功能主要是针对数据库用户、各种数据库对象、表以及表内数据。
控制粒度同时达到列级和记录级。
达梦(DM8)数据守护一、DM8数据守护架构 (2)1、DM8数据守护架构图 (2)2、DM8数据守护架构组成 (3)1. DMWA TCHER (3)2. DMMONITOR (3)二、DM8数据守护搭建 (3)1. 环境说明 (3)1.服务器规划 (3)2. 端口规划 (4)3. 数据准备 (4)1. 打包主库数据目录DMANGE (4)2. 删除从库数据目录DMANGE数据 (4)3. scp主库DMANGE数据到从库 (5)4. 修改主库配置文件 (5)1. 配置dm.ini (5)2. 配置dmmal.ini (5)3. 配置dmarch.ini (7)4. 配置dmwatcher.ini (7)5. 配置dmwatcher.ctl (7)5. 修改从库配置文件 (8)6. 配置dm.ini (8)7. 配置dmmal.ini (8)8. 配置dmarch.ini (9)9. 配置dmwatcher.ini (10)10. 配置dmwatcher.ctl (10)11. 配置dmmonitor.ini (10)4. 配置主库 (11)1. 启动主库 (11)2. 设置OGUID (11)3. 修改数据库模式 (11)5. 配置从库 (11)1. 启动备库 (11)2. 设置OGUID (12)3. 修改数据库模式 (12)6. 启动守护进程 (12)7. 启动监视器 (12)三、DM8数据守护验证 (12)1. 验证主从数据是否同步 (12)1. 主库新建一个表空间 (12)2. 通过DM管理工具分别查看主库和从库是否新建表空间 (13)2. 验证主从故障切换 (14)一、DM8数据守护架构1、DM8数据守护架构图2、DM8数据守护架构组成1.DMWATCHER守护进程(dmwatcher)是DM 数据守护系统不可或缺的核心部件,是数据库实例和监视器之间信息流转的桥梁。
数据库实例向本地守护进程发送信息,接收本地守护进程的消息和命令;监视器(dmmonitor)接收守护进程的消息,并向守护进程发送命令;数据库实例与监视器之间没有直接的消息交互;守护进程解析并执行监视器发起的各种命令(Switchover/Takeover/Open force 等),并在必要时通知数据库实例执行相应的操作。
Linux系统怎么创建守护进程Linux Daemon(守护进程)是运行在后台的一种特殊进程。
它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。
它不需要用户输入就能运行而且提供某种服务,不是对整个系统就是对某个用户程序提供服务。
今天小编就来给大家科普一下什么是守护进程以及linux系统如何创建守护进程。
创建守护进程的步骤首先我们要了解一些基本概念:1、进程组:每个进程也属于一个进程组每个进程主都有一个进程组号,该号等于该进程组组长的PID号。
一个进程只能为它自己或子进程设置进程组ID号2、会话期:会话期(session)是一个或多个进程组的集合。
setsid()函数可以建立一个对话期:如果,调用setsid的进程不是一个进程组的组长,此函数创建一个新的会话期。
(1)此进程变成该对话期的首进程(2)此进程变成一个新进程组的组长进程。
(3)此进程没有控制终端,如果在调用setsid前,该进程有控制终端,那么与该终端的联系被解除。
如果该进程是一个进程组的组长,此函数返回错误。
(4)为了保证这一点,我们先调用fork()然后exit(),此时只有子进程在运行现在我们来给出创建守护进程的所需步骤:编写守护进程的一般步骤:(1)在父进程中执行fork并exit推出;(2)在子进程中调用setsid函数创建新的会话;(3)在子进程中调用chdir函数,让根目录”/”成为子进程的工作目录;(4)在子进程中调用umask函数,设置进程的umask为0;(5)在子进程中关闭任何不需要的文件描述符补充:系统常用维护技巧1,在“开始”菜单中选择“控制面板”选项,打开“控制面板”窗口,单击“管理工具”链接2,在打开的“管理工具”窗口中双击“事件查看器”图标3,接着会打开“事件查看器”窗口4,在右侧窗格中的树状目录中选择需要查看的日志类型,如“事件查看器本地--Win日志--系统日志,在接着在中间的“系统”列表中即查看到关于系统的事件日志5,双击日志名称,可以打开“事件属性”对话框,切换到“常规”选项卡,可以查看该日志的常规描述信息6,切换到“详细信息”选项卡,可以查看该日志的详细信息7,打开“控制面板”窗口,单击“操作中心”链接,打开“操作中心”窗口,展开“维护”区域8,单击“查看可靠性历史记录”链接,打开“可靠性监视程序”主界面,如图所示,用户可以选择按天或者按周为时间单位来查看系统的稳定性曲线表,如果系统近日没出过什么状况,那么按周来查看会比较合适。
达梦DM7 MPP 架构轻松应对数据的爆发式增长为了支持海量数据存储和处理、高并发处理、高性价比、高可用性等需求,提供高端数据仓库解决方案,达梦数据库7.0版本(DM7 )提供了大规模并行处理MPP架构,以极低的成本代价,为客户提供业界领先的计算性能。
DM7 采用完全对等无共享( share-nothing )的MPP 架构,支持SQL 并行处理,可自动化分区数据和并行查询,无I/O 冲突。
MPP 架构凸显六大特色MPP 系统工作起来就像是一台单独的计算机,由于采用自动化的并行处理,执行速度比传统的单节点数据库大大提高。
采用了MPP 架构的DM7 具有以下6 大特色:1.大规模并行处理。
DM7的MPP架构最多可以同时部署1024 个节点,采用统一的并行操作数据库引擎,由于数据分散在不同的数据库节点上,在高速的内部网络环境下,对于海量数据的并发查询可极大地减少I/O,提高查询效率。
2.核心的MPP架构。
DM7的MPP架构提供数据存储和查询的自动化并行,插入的数据会被自动分区保存到相应的节点,查询时在各节点的数据库引擎上并行执行查询,并将所有结果数据自动汇集到主查询节点上,数据无共享、无I/O 冲突。
3.可靠的数据保护机制。
DM7 提供了数据守护系统,满足用户对数据可靠性、安全性的需求,解决由于硬件故障、自然灾害等原因导致的数据库服务长时间中断问题,提高系统的可用性。
MPP 系统中的每个节点都可配置数据守护系统,增加节点数据的完整冗余镜像。
节点和镜像节点之间可以互相转换成MPP 中的工作节点。
4.持列存储。
在数据仓库(OLAP)、数据挖掘等查询密集型应用中可使用列存储表,在查询只需要少数几个字段的时候,能大大减少I/O,同时列存储也利于使用设计更好的压缩/ 解压算法,进一步减少存储空间。
5.功能齐全。
DM7的MPP系统和单节点数据库相比,几乎没有任何功能上的限制,支持各种约束,支持触发器,支持存储过程、系统函数、复杂查询等。
搭建守护进程在以前的文章中,介绍了即将推出的达梦7的一些新特性,如水平分区、批量处理技术、并行集群技术等。
现在为大家结合介绍一下数据守护中的守护进程方案的相关配置。
一、概述数据守护(DATA WATCH),可以满足用户对数据可靠性、安全性的需求,解决由于硬件故障、自然灾害等原因导致的数据库服务长时间中断问题,提高系统的可用性。
数据守护方案是一个集成化的灾难恢复解决方案,为DM可靠性解决方案之一,可有效避免主机单点故障,备机可作为只读服务器对外提供服务,实现负载均衡。
达梦数据守护方案DATA WATCH有两种实现方式:一种是基于观察器的数据守护(OBSV);另外一种是基于守护进程的数据守护(DMWATCH)。
故障处理策略守护进程有三种故障处理策略:a)不支持,在此模式下,可以与观察器共存,故障切换由观察器完成,守护进程只负责重启本地数据库实例。
b)基本型,在守护进行之间可相互通信的前提下,数据库实例异常时,提供故障自动切换以及故障恢复功能。
适合无法确保网络可靠性的应用场景。
不能与观察器同时配置。
c)增强型,守护进程可自主决定是否进行故障切换,数据库实例异常或者出现硬件故障时,提供故障自动切换以及故障恢复功能。
适合守护进程之间的网络是绝对可靠的应用场景。
不能与观察器同时配置。
基本型与增强型的区别在于网络是否通畅以及是否是硬件故障。
例如实例DM1发生异常,当前模式是基本型,那么只有当监控发生故障的实例的守护进程A将发生故障的消息发送到另一个守护进程B,并且B接收到了消息之后,才会进行故障恢复或者是故障自动切换,否则在网络状况不好的情况下,B没有收到消息,那么就不会进行任何处理;如果当前模式是增强型,也就意味着网络是通畅的,当守护进程A将DM1故障的消息广播出去之后,守护进程B一定会接收到,那么就可以进行故障恢复或者状态切换。
守护进程的构成基于守护进程的数据守护方案由守护进程和监视器两个模块共同完成数据守护的功能,主要由以下几个部件构成:1.一个监视器dmmon(可以没有)。
2.两个站点site1,site2。
3.站点site1,site2上面分别有一个守护进程dmwatch1,dmwatch2,这两个守护进程属于同一个守护进程组,这个守护进程组监控监控组G_A。
4.监控组G_A包含两个数据库实例:inst1(主机),inst2(备机)。
这两个实例分别位于站点site1,site2上面。
说明:上面是最基本的配置,守护进程组可以拥有多个监控组,但是不能超过不超过8个;监视器和站点必须在同一个网段里面。
用户可根据不同的场景需求配置不同的部件。
DM守护进程和监视器的体系结构,如图1所示:图1 DM守护进程和监视器的体系结构说明:1.站点1的守护进程DW1监控实例DM1;站点2的守护进程DW2监控实例DM3;2.站点1中的实例DM1和站点2的实例DM3属于同一个监控组G_A;3.监视器A负责监控监控组G_A。
二、守护进程的功能守护进程主要有以下几种功能:1.故障自动切换和恢复在基于守护进程的数据守护系统中,当主机发生故障时,系统通过主备机守护进程之间的交互,实现主备机的切换,并且实现主机的自动故障处理;当备机发生故障时,备机的守护进程负责备机的故障处理,并且在备机的故障解决之后,主机将REDO日志发送给备机,实现主备机之间的数据同步。
故障自动切换的前提条件是,守护进程的故障处理策略是基本型或者是增强型,不能是不支持类型。
在发生故障时,基于守护进程的数据守护系统能够达到以下的效果:a) 主机故障,备机自动切换为主机,对外提供数据库服务。
b) 备机故障,主机可正常提供数据库服务。
c) 故障实例恢复后,自动同步历史数据,并作为备机加入系统。
d) 当实例异常终止时,重新启动数据库实例。
2.手动切换和基于观察器的数据守护方案相似,基于守护进程的数据守护方案也支持手动切换主备机。
用户通过监视器向守护进程发送SWITCHOVER命令,守护进程收到之后,和属于同一监控组的另一个守护进程进行交互,并完成切换。
手动切换的前提条件是,守护进程的故障处理策略是基本型或者是增强型,且守护进程DW_A和DW_B都处于OPEN状态,并且主机的实时归档为VALID状态。
在这个前提下,原主机切换为备机,原备机切换为主机。
3.查询守护进程状态在系统运行的过程中,用户如果想了解当前站点的守护进程的状态等信息,可以通过SHOW命令来查询守护进程的信息。
4.同时监控多个实例在基于守护进程的数据守护方案中,一个守护进程可以同时监控多个实例(这些实例必须在同一台主机上),并且不同实例的模式可以不同(例如,守护进程同时监控实例A和实例B,并且实例A为主机模式,同时实例B为备机模式)。
需要注意的是,这些实例属于不同的监控组。
一个守护进程最多监控8个实例,太多的话,会给站点造成很大的负担,降低系统效率。
5.停止对实例的监控如果想关闭数据库实例,必须先通过监视器发布停止监控组的命令,守护进程收到命令后,关闭对实例的监控,然后用户才能关闭实例;否则,如果直接关闭数据库实例,可能导致守护进程强制重启实例,或者故障自动切换等问题。
6.重启对实例的监控当用户修改完配置或者其他操作完毕,可以重新开启守护进程对实例的监控。
用户通过监视器向守护进程发送STARTUP的命令,守护进程收到之后,就开始监控对应的数据库实例。
这有一个前提:主备机上的守护进程都是启动的,并且配置信息无误。
三、准备工作这里我们准备配置搭建一个守护进程系统,这个系统的监视器配置在一个安装windows操作系统的PC机上,主机和备机分别在站点:site1(192.168.0.85)和site2(192.168.0.234)上,操作系统均为linux操作系统。
site1上有实例DM85, site2上有实例DM234。
其中DM85是主机,DM234是备机。
首先要确保在主机DM85和备机DM234上成功安装达梦数据库管理系统。
这里,主备机的安装目录为:/home/dmdbms7。
另外,主机上的数据要和备机上完全一致。
可以采用重新新建一个库,也可以采取将主机上的数据拷贝到备机上的方式使得主备机的初始数据一致。
最后,要保证主备机上的守护进程和实例都没有启动。
四、配置步骤具体的配置流程:1.配置dm.ini2.配置dmmal.ini3.配置dmarch.ini4.配置dmwatch.ini5.配置dmmon.ini6.动主备机实例到MOUNT状态,建立主备的MAL链路7.通过系统过程设置主备机的OGUID8.分别修改主备和备机的模式到指定模式(PRIMARY或者STANDBY)9.启动主备机的守护进程10.启动监视器11.登录监视器下面进行详细的描述:1 配置dm.inisite1中的DM85的dm.ini的一些参数修改如下:INSTANCE_NAME = DM85DW_UDP_PORT = 5247INST_UDP_PORT = 5257MAIL_INI = 1ARCH_INI = 1site2中的DM234的dm.ini的一些参数修改如下:INSTANCE_NAME = DM234DW_UDP_PORT = 5247INST_UDP_PORT = 5257MAIL_INI = 1ARCH_INI = 1其中DW_UDP_PORT是守护进程UDP端口;INST_UDP_PORT是实例UDP端口。
MAIL_INI和ARCH_INI设置为1表示启用mail系统和归档。
2 配置dmmal.inisite1中的dmmal.ini配置如下:[mal_inst1]mal_inst_name = DM85mal_host = 192.168.0.85mal_port = 5237[mal_inst2]mal_inst_name = DM234mal_host = 192.168.0.234mal_port = 5237site1和site2的dmmal.ini文件时完全一致的。
3 配置dmarch.ini配置本地归档和实时归档,DM85的实时归档目标为DM234:DM85的dmarch.ini为:[ARCHIVE_LOCAL1]ARCH_TYPE = LOCALARCH_DEST = /home/dmdbms7/dataARCH_FILE_SIZE = 128ARCH_SPACE_LIMIT = 0[ARCHIVE_REALTIME]ARCH_TYPE = REALTIMEARCH_DEST = DM234DM234的dmarch.ini为:[ARCHIVE_LOCAL1]ARCH_TYPE = LOCALARCH_DEST = /home/dmdbms7/dataARCH_FILE_SIZE = 128ARCH_SPACE_LIMIT = 0[ARCHIVE_REALTIME]ARCH_TYPE = REALTIMEARCH_DEST = DM854 配置dmwatch.iniDM85的dmwatch.ini为:[G_A]INST_NAME = DM85INST_UDP_PORT = 5257PATH =/home/dmdbms7/bin/dmserver /home/dmdbms7/bin/dm.iniOGUID = 862417DW_UDP_PORT = 5247SWITCH_MODE = 2 #0: 不支持; 1: 基本型; 2: 增强型BRO_ADDR = 192.168.0.255START_TYPE = 1 #0: 服务方式启动; 1:控制台方式启动说明:G_A是监控组,监控实例DM85(DM234)。
DW_UDP_P ORT表示守护进程UDP端口是5247。
OUGID是标识监控组的ID号,其监控的实例应该配置相同的OGUID,这个号码用户可以随便写一个。
监控进程负责监控G_A的实例DM85。
BRO_ADDR表示守护进程广播的网段。
实例DM85的启动路径在/home/dmdbms7/bin/dmserver,守护进程与数据库实例之间通信的端口是INST_UDP_PORT (5257)。
切换模式是增强型(2)。
PATH举例说明:Windows上exe:Path = 路径\dmserver 路径\dm.iniWindows上服务方式启动:Path = net start 服务名Linux上exe:Path = 路径/dmserver 路径/dm.ini,注意:此处的路径中不能带有空格Linux上服务方式启动:Path = service dmserverd restartDM234的dmwatch.ini为:[G_A]INST_NAME = DM234INST_UDP_PORT = 5257PATH =/home/dmdbms7/bin/dmserver /home/dmdbms7/bin/dm.iniOGUID = 862417DW_UDP_PORT = 5247SWITCH_MODE = 2 #0: 不支持; 1: 基本型; 2: 增强型BRO_ADDR = 192.168.0.255START_TYPE = 1 #0: 服务方式启动; 1:控制台方式启动5 配置dmmon.ini监视器的配置dmmon.ini的文件内容为:MON_OGUID = 862417MON_PORT = 5243GROUP_NAME = G_AMON_UDP_PORT = 192.168.0.2556启动主备机实例到MOUNT状态用下面的命令将主、备机实例启动到mount状态。