DM8主备集群搭建
1.概念
DM 数据守护(Data Watch)是一种集成化(不依赖第三方软件和存储)的高可用、高性能数据库解决方案,是数据库异地容灾的首选方案。通过部署 DM 数据守护,可以在硬件故障(如磁盘损坏)、自然灾害(地震、火灾)等极端情况下,避免数据损坏、丢失,保障数据安全,并且可以快速恢复数据库服务,满足用户不间断提供数据库服务的要求。与常规的数据库备份(Backup)、还原(Restore)技术相比,数据守护可以更快地恢复数据库服务。随着数据规模不断增长,通过还原手段恢复数据,往往需要数个小时、甚至更长时间,而数据守护基本不受数据规模的影响,只需数秒时间就可以将备库切换为主库对外提供数据库服务。
1.1分类
DM数据守护提供多种解决方案,可以配置成实时主备、MPP主备或读写分离集群,满足用户关于系统可用性、数据安全性、性能等方面的综合需求,有效降低总体投入,获得超值的投资回报。
(1)实时主备由一个主库以及一个或者多个配置了实时(Realtime)归档的备库组成,其主要目的是保障数据库可用性,提高数据安全性。实时主备系统中,主库提供完整的数据库功能,备库提供只读服务。主库修改数据产生的Redo日志,通过实时归档机制,在写入联机Redo日志文件之前发送到备库,实时备库通过重演Redo日志与主库保持数据同步。当主库出现故障时,备库在将所有Redo日志重演结束后,就可以切换为主库对外提供数据库服务。
(2)MPP主备就是在MPP集群的基础上,为每一个MPP节点配置一套实时主备系统,这些实时主备系统一起构成了MPP主备系统。我们将一个MPP节点对应的主备系统称为一个数据守护组(Group),MPP主备系统中各个数据守护组保持相对独立,当某个MPP主节点出现故障时,在其对应的数据守护组内挑选一个备库切换为主库后,就可以确保整个MPP集群的正常使用。
(3)读写分离集群由一个主库以及一个或者多个配置了即时(Timely)归档或实时(Realtime)归档的备库组成,其主要目标是在保障数据库可用性基础上,实现读、写操作的自动分离,进一步提升数据库的业务支撑能力。读写分离集群通过配置事务一致模式保证主、备库数据一致性,并配合达梦数据库管理系统的各种接口(JDBC、DPI等),将只读操作自动分流到备库,有效降低主库的负载,提升系统吞吐量。
1.2结构
数据守护系统结构图
DM 数据守护系统结构主要由主库、备库、Redo 日志、Redo 日志传输、Redo 日志重演、守护进(dmwatcher)、监视器(dmmonitor)组成。
DM 数据守护(Data Watch)的实现原理非常简单:将主库(生产库)产生的 Redo日志传输到备库,备库接收并重新应用 Redo 日志,从而实现备库与主库的数据同步。
DM数据守护的核心思想是监控数据库状态,获取主、备库数据同步情况,为 Redo 日志传输与重演过程中出现的各种异常情况提供一系列的解决方案。
主库
Primary 模式,提供完整数据库服务的实例,一般来说主库是用来直接支撑应用系统的生产库。
备库
Standby 模式,提供只读数据库服务的实例。备库除了用于容灾,还可以提供备份、查询等只读功能,并且备库还支持临时表的 Insert/Delete/Update 操作。备库支持临时表修改主要基于两个因素:1.临时表数据的修改不会产生 Redo 日志,主库对临时表的修改无法同步到备库;2.可以提供更大灵活性,适应更多应用场景。根据数据同步情况,备库又可以分为可切换备库和不可切换备库。可切换备库是指,主备库之间数据完全同步,主库发生故障、备库切换为主库后,不会造成任何数据丢失的备库。
Redo 日志
Redo 日志记录物理数据页内容变动情况,是数据库十分重要的一个功能,在数据库系统故障(比如服务器掉电)重启时,利用 Redo 日志可以把数据恢复到故障前的状态。Redo 日志也是数据守护的实现基础,数据库中 Insert、Delete、Update 等 DML操作以及 Create TABLE 等 DDL 操作最终都会体现为对某一个或者多个物理数据页的修改,因此备库通过重做 Redo 日志可以与主库数据保持一致。
Redo 日志传输
主备库之间的 Redo 日志传输,以日志包 RLOG_PKG 为单位,主库通过 MAL 系统发送Redo 日志到备库。各种不同数据守护类型的区别,就在于主库日志包 RLOG_PKG 的发送时机,以及备库收到 Redo 日志后的处理策略。
Redo 日志重演
Redo 日志重演的过程,就是备库收到主库发送的 Redo 日志后,在物理数据页上,重新修改数据的过程。Redo 日志重演由专门的 Redo 日志重演服务完成,重演服务严格按照Redo 日志产生的先后顺序,解析 Redo 日志、修改相应的物理数据页,并且重演过程中备库会生成自身的 Redo 日志写入联机日志文件。
守护进程
守护进程(dmwatcher)是数据守护系统的核心工具,监控数据库实例的运行状态和主备库数据同步情况,在出现故障时启动各种处理预案。守护进程是各种消息的中转站,接收数据库实例、其他守护进程、以及监视器发送的各种消息;同时,守护进程也会将收到的数据库实例消息转发给其他守护进程和监视器。守护进程必须和被守护的数据库实例部署在同一台机器上
监视器
监视器(dmmonitor)用来监控守护系统内守护进程、数据库实例信息,执行用户输入命令、监控实例故障、实现自动切换等。监视器一般配置在数据库实例和守护进程以外的机器上。
主备集群搭建
1、准备
2、配置A机器
--****初始化实例**
[dmdba@~] /dm8/bin/dminit PATH=/dm8/data/ INSTANCE_NAME=DW1_01 PAGE_SIZE=32 LOG_SIZE=2048
**--****启动服务**
[dmdba@~] /dm8/bin/dmserver /dm8/data/DAMENG/dm.ini
**--****开启归档**
[dmdba@~] /dm8/disql SYSDBA/SYSDBA@172.16.1.1:5236
#数据库状态
#Open状态 数据库处于正常提供服务的状态,但不能进行归档配置等操作。
#Mount状态 数据库在 Mount 状态下,不能修改数据,不能访问表、视图等数据库对象,但可以执行行修改归档配置、控制文件和修改数据库模式等操作,也可以执行一些不修改数据库内容的操作,比如查询动态视图或者一些只读的系统过程。由于 Mount 状态不生成 PWR 日志,因此数据页可以正常刷盘,也正常推进检查点。系统从 Open 状态切换为 Mount 状态时,会强制回滚所有活动事务,但不会强制清理(Purge)已提交事务,不会强制断开用户连接,也不会强制 Buffer 中的脏页刷盘。
SQL> ALTER DATABASE MOUNT;
#ARCHIVELOG开启归档模式
SQL> ALTER DATABASE ARCHIVELOG;
SQL> ALTER DATABASE ADD ARCHIVELOG 'DEST=/dm8/data/DAMENG/arch,
TYPE=LOCAL, FILE_SIZE=1024, SPACE_LIMIT=51200';
SQL> ALTER DATABASE OPEN;
**--****备份数据**
SQL> BACKUP DATABASE BACKUPSET '/dm8/data/DAMENG/bak/BACKUP_FILE';
2.1配置dm.ini
修改dm.ini
SQL> SP_SET_PARA_VALUE (2,'PORT_NUM',5236);
SQL> SP_SET_PARA_VALUE (2,'DW_INACTIVE_INTERVAL',60);
SQL> SP_SET_PARA_VALUE (2,'ALTER_MODE_STATUS',0);
SQL> SP_SET_PARA_VALUE (2,'ENABLE_OFFLINE_TS',2);
SQL> SP_SET_PARA_VALUE (2,'MAL_INI',1);
SQL> SP_SET_PARA_VALUE (2,'RLOG_SEND_APPLY_MON',64);
关闭前台服务实例
2.2配置dmarch.ini
#DaMeng Database Archive Configuration file
#this is comments
ARCH_WAIT_APPLY = 0
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/data/DAMENG/arch
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 51200
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = DW1_01B
2.3配置dmmal.ini
MAL_CHECK_INTERVAL =10 #MAL 链路检测时间间隔
MAL_CONN_FAIL_INTERVAL =10 #判定 MAL 链路断开的时间
MAL_TEMP_PATH = /opt/dmdbms/data/malpath/ #临时文件目录
MAL_BUF_SIZE = 512 #单个 MAL 缓存大小,单位 MB
MAL_SYS_BUF_SIZE = 2048 #MAL 总大小限制,单位 MB
MAL_COMPRESS_LEVEL = 0 #MAL 消息压缩等级,0 表示不压缩
[MAL_INST1]
MAL_INST_NAME = DW1_01 #实例名,和 dm.ini 的 INSTANCE_NAME 一致
MAL_HOST = 192.168.131.226 #MAL 系统监听 TCP 连接的 IP 地址
MAL_PORT = 5336 #MAL 系统监听 TCP 连接的端口
MAL_INST_HOST = 192.168.131.226 #实例的对外服务 IP 地址
MAL_INST_PORT = 5236 #实例对外服务端口,和 dm.ini 的 PORT_NUM 一致
MAL_DW_PORT = 5436 #实例监听守护进程 TCP 连接的端口
MAL_INST_DW_PORT = 5536 #实例监听守护进程 TCP 连接的端口
[MAL_INST2]
MAL_INST_NAME = DW1_01B #实例名,和 dm.ini 的 INSTANCE_NAME 一致
MAL_HOST = 192.168.131.230 #MAL 系统监听 TCP 连接的 IP 地址
MAL_PORT = 5336 #MAL 系统监听 TCP 连接的端口
MAL_INST_HOST = 192.168.131.230 #实例的对外服务 IP 地址
MAL_INST_PORT = 5236 #实例对外服务端口,和 dm.ini 的 PORT_NUM 一致
MAL_DW_PORT = 5436 #实例监听守护进程 TCP 连接的端口
MAL_INST_DW_PORT = 5536 #实例监听守护进程 TCP 连接的端口
2.4配置dmwatcher.ini
[GDW1]
DW_TYPE = GLOBAL #全局守护类型
DW_MODE = AUTO #故障自动切换模式
DW_ERROR_TIME = 20 #远程守护进程故障认定时间
INST_ERROR_TIME = 20 #本地实例故障认定时间
INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间
INST_OGUID = 45331 #守护系统唯一 OGUID 值
INST_INI = /dm8/data/DAMENG/dm.ini #dm.ini 文件路径
INST_AUTO_RESTART = 1 #打开实例的自动启动功能
INST_STARTUP_CMD = /dm8/bin/dmserver #命令行方式启动
RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阈值,默认关闭
RLOG_APPLY_THRESHOLD =0 #指定备库重演日志的时间阈值,默认关闭
2.5拷贝实例
[dmdba@~]scp -r /dm8/data/DAMENG dmdba@192.168.153.230:/dm8/data/
2.6注册服务
/dm8/script/root/dm_service_installer.sh -t dmserver -p DW1_01 -dm_ini /dm8/data/DAMENG/dm.ini -m mount
/dm8/script/root/dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /dm8/data/DAMENG/dmwatcher.ini
3、配置B机器
3.1修改dmarch.ini
#DaMeng Database Archive Configuration file
#this is comments
ARCH_WAIT_APPLY = 0
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/data/DAMENG/arch
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 51200
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = DW1_01
3.2配置dmmal.ini和dmwatcher.ini
与 A 机器 DW1_01 的 dmmal.ini、dmwatcher.ini 基本相同。
3.3注册服务
/dm8/script/root/dm_service_installer.sh -t dmserver -p DW1_01B -dm_ini /dm8/data/DAMENG/dm.ini -m mount
/dm8/script/root/dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /dm8/data/DAMENG/dmwatcher.ini
3.4恢复数据
/dm8/bin/dmrman CTLSTMT="RESTORE DATABASE '/dm8/data/DAMENG/dm.ini' FROM BACKUPSET '/dm8/data/DAMENG/bak/BACKUP_FILE'"
/dm8/bin/dmrman CTLSTMT="RECOVER DATABASE /dm8/data/DAMENG/dm.ini' FROM BACKUPSET '/dm8/data/DAMENG/bak/BACKUP_FILE'"
/dm8/bin/dmrman CTLSTMT="RECOVER DATABASE '/dm8/data/DAMENG/dm.ini' UPDATE DB_MAGIC
4、配置dmmonitor.ini
MON_DW_CONFIRM =1 #0 为非确认,1 为确认
MON_LOG_PATH = ../log #监视器日志文件存放路径
MON_LOG_INTERVAL = 60 #每隔 60s 定时记录系统信息到日志文件
MON_LOG_FILE_SIZE = 512 #单个日志大小,单位 MB
MON_LOG_SPACE_LIMIT = 2048 #日志上限,单位 MB
[GDW1]
MON_INST_OGUID = 45331 #组 GDW1 的唯一 OGUID 值
MON_DW_IP = 192.168.131.226:5436 #IP 对应 MAL_HOST,PORT 对应 MAL_DW_PORT
MON_DW_IP = 192.168.131.230:5436
4.1注册服务
[root@~] /opt/dmdbms/script/root/dm_service_installer.sh -t dmmonitor -p Monitor -monitor_ini /opt/dmdbms/bin/dmmonitor.ini
5、启动和停止
5.1启动数据库服务修改参数
A机器
[dmdba@~]/dm8/bin/DmServiceDW1_01 start
[dmdba@~]/dm8/bin/disql SYSDBA/SYSDBA@192.168.131.226:5236
SQL> SP_SET_OGUID(45331);
SQL> ALTER DATABASE PRIMARY;
B机器
[dmdba@~]/dm8/bin/DmServiceDW1_01B start
[dmdba@~]/dm8/bin/disql SYSDBA/SYSDBA@192.168.131.230:5236
SQL> SP_SET_OGUID(45331);
SQL> ALTER DATABASE STANDBY;
5.2启动守护进程
AB机器都要启动
[dmdba@~]/dm8/bin/DmWatcherServiceWatcher start
5.3启动监视器
[dmdba@~]/dm8/bin/DmMonitorServiceMonitor start
停止
**停止:**A/B 机器守护进程→A 机器 DW1_01 主库→B 机器 DW1_01B 备库
A/B 机器:[dmdba@~]/opt/dmdbms/bin/DmWatcherServiceWatcher stop
A 机器:[dmdba@~]/opt/dmdbms/bin/DmServiceDW1_01 stop
B 机器:[dmdba@~]/opt/dmdbms/bin/DmServiceDW1_01B stop
重要参数
1、达梦数据库配置文件dm.ini
参数 | 参数值 | 解释说明 |
---|---|---|
INSTANCE_NAME | 数据库实例名(长度不超过 16 个字符),与 dmmal.ini 中的MAL_INST_NAME 对应。配置数据守护系统时,应该保持INSTANCE_NAME 是全局唯一的。 | |
PORT_NUM | 5236 | 服务器监听通讯端口号,服务器配置此参数,有效值范围(1024~65534),发起连接端的端口在 1024-65535 之间随机分配。此参数配置应与dmmal.ini中的MAL_INST_PORT对应。 |
DW_INACTIVE_INTERVAL | 60 | 接收守护进程消息超时时间 |
ALTER_MODE_STATUS | 0 | 是否允许手工修改数据库的模式和状态,1 表示允许,0 表示不允许,此参数可动态修改,默认为 1,数据守护环境下建议配置为 0,避免用户手工干预。 |
ENABLE_OFFLINE_TS | 2 | 是否允许 offline 表空间,1 表示允许,0 表示不允许,2 表示禁止备库,其他放开。守护环境下建议配置为 2。 |
MAL_INI | 1 | 系统配置开关,0 表示不启用 MAL 系统,1 表示启用 MAL系统。 |
ARCH_INI | 1 | Redo 日志归档配置开关,0 表示不启动 Redo 日志归档,1 表示启用 Redo 日志归档,推荐通过命令修改 |
RLOG_SEND_APPLY_MON | 64 | 统计最近64次日志发送消息 |
2、 MAL 配置文件dmmal.ini
需要用到 MAL 环境的实例,所有站点 dmmal.ini 需要保证严格一致。
参数 | 参数值 | 解释说明 |
---|---|---|
MAL_CHECK_INTERVAL | 10 | MAL 链路检测时间间隔,取值范围(0s-1800s),默认 30s,配置为 0 表示不进行 MAL 链路检测,数据守护环境不建议配置为 0,防止网络故障导致服务长时间阻塞 |
MAL_CONN_FAIL_INTERVAL | 10 | 判定 MAL 链路断开的时间,取值范围(2s-1800s),默认 10s |
MAL_TEMP_PATH | /opt/dmdbms/data/malpath/ | 指定临时文件的目录。当邮件使用的内存超过MAL_BUF_SIZE或者MAL_SYS_BUF_SIZE时,将新产生的邮件保存到临时文件。如果缺省,则新产生的邮件保存到temp.dbf文件中 |
MAL_BUF_SIZE | 512 | 单个 MAL 缓存大小限制,以兆为单位。当此 MAL 的缓存邮件超 过此大小,则会将邮件存储到文件中。有效值范围(0~500000),默认为 100,如果配置为 0,则表示不限制单个 MAL 缓存大小 |
MAL_SYS_BUF_SIZE | 2048 | MAL 系统总内存大小限制,单位:M。有效值范围(0~500000),默认为 0,表示 MAL 系统无总内存限制 |
MAL_COMPRESS_LEVEL | 0 | MAL 消息压缩等级,取值范围(0-10)。默认为 0,不进行压缩;1–9 表示采用 lz 算法,从 1 到 9 表示压缩速度依次递减,压缩率依次递增;10 表示采用 snappy 算法,压缩速度高于 lz 算法,压缩率相对低 |
MAL_INST_NAME | 数据库实例名,与 dm.ini 的 INSTANCE_NAME 配置项保持一致,MAL 系统中数据库实例名要保持唯一 | |
MAL_HOST | MAL IP 地址,使用 MAL_HOST + MAL_PORT 创建 MAL 链路。对于 ipv4,直接使用 ip 地址即可,例如:MAL_HOST = 192.168.100.109 | |
MAL_PORT | 5336 | MAL 监听端口,用于数据守护、DSC、MPP 等环境中各节点实例之间MAL链路配置,监听端端口配置此参数,范围1024~65534,发起连接端的端口在 1024~65535 之间随机分配 |
MAL_INST_HOST | 实例对外服务的 IP 地址。若 dm.ini 中配置了 LISTEN_IP,则 MAL_INST_HOST 必须与 LISTEN_IP 保持一致。 对于 ipv4,直接使用 ip 地址即可,例如:MAL_INST_HOST = 192.168.100.109 | |
MAL_INST_PORT | 5236 | MAL_INST_NAME 实例服务器监听通讯端口号,服务器配置此参数 , 有 效 值 范围 ( 1024~65534 ), 发 起 连 接 端的 端 口在1024-65535 之间随机分配此参数的配置应与 dm.ini 中的 PORT_NUM 保持一致 |
MAL_DW_PORT | 5436 | MAL_INST_NAME 实例守护进程的监听端口,其他守护进程或监视器使用 MAL_HOST + MAL_DW_PORT 创建与该实例守护进程的 TCP 连接,监听端配置此参数,有效值范围(1024~65534),发起连接端的端口在 1024-65535 之间随机分配 |
MAL_INST_DW_PORT | 5536 | 节点实例监听守护进程的端口,同一个库上的各实例的守护进程使用MAL_HOST + MAL_DW_PORT T 和各实例创建 TCP 连接,实例服务器配置此参数, 有效值范围(1024~65534),发起连接端的端口在 1024-65535 之间随机分配 |
3、Redo 日志归档配置文件dmarch.ini
参数 | 参数值 | 说明 |
---|---|---|
ARCH_WAIT_APPLY | 0 | 备库收到 Redo 日志后,是否需要重演完成后再响应主库。0 表示收到马上响应(高性能模式),1 表示重演完成后响应(事务一致模式)。配置为即时归档的读写分离集群时,默认值为 1;配置为实时归档的读写分离集群时,默认值为 0 |
ARCH_TYPE | LOCAL | Redo 日志归档类型,LOCAL/REMOTE/REALTIME/TIMELY/ASYNC、分别表示本地归档/远程归档/实时归档/即时归档/异 步归档 |
ARCH_DEST | 归档目标,本地归档为归档文件存放路径,其他归档方式设置为目标数据库实例名,如果目标库为 DMDSC 库,则需要写上 DMDSC每个实例名,以’/’分隔(如 DSC01/DSC02) | |
ARCH_FILE_SIZE | 1024 | 单个 Redo 日志归档文件大小,取值范围(64M~2048M),对本地归档和远程归档有效,缺省为 1024MB,即 1G |
ARCH_SPACE_LIMIT | 51200 | Redo 日志归档空间限制,当同一节点的本地归档文件或远程归档文件达到限制值时,系统自动删除最早生成的归档日志文件。0 表示无空间限制,取值范围(1024M~2147483647M),对本地归档和远程归档有效,缺省为 0 |
4、守护进程配置文件dmwatcher.ini
参数 | 参数值 | 说明 |
---|---|---|
[GROUP_NAME] | 守护进程组名(长度不能超过 16) | |
DW_TYPE | GLOBAL | 守护类型,默认为 LOCAL,LOCAL:本地守护,GLOBAL:全局守护 |
DW_MODE | AUTO | 切换模式,默认为 MANUAL;MANUAL:故障手动切换模式;AUTO:故障自动切换模式 |
DW_ERROR_TIME | 10 | 守护进程故障认定时间,取值范围为(3s~32767s),缺省 15 秒没有收到远程守护进程消息,即认定远程守护进程故障,对本地守护无效。另外此参数也是监视器认定守护进程的故障时间,超过设置的时间间隔仍没有收到守护进程消息,监视器认为守护进程出现故障。 |
INST_ERROR_TIME | 10 | 数据库故障认定时间,取值范围为(3s~32767s),缺省 15 秒没有收到数据库发送的状态信息,即认定其监控的数据库出现故障 |
INST_RECOVER_TIME | 60 | 主库守护进程启动恢复的间隔时间 |
INST_OGUID | 45331 | 数据守护唯一标识码,同一守护进程组中的所有数据库、守护进程和监视 器 , 都 必 须 配 置 相 同 的 OGUID 值 , 取 值 范 围 为0-2147483647。 |
INST_INI | /data/dmdata/DAMENG/dm.ini | 监控数据库 dm.ini 路径。dmwatcher 从 dm.ini 配置文件获取DW_PORT 信息,并 进 一步从 dmmal.ini 中 获 取MAL_HOST/MAL_DW_PORT 等信息。 |
INST_AUTO_RESTART | 1 | 是否自动重启数据库实例,0:不自动重启 1:自动重启。缺省为 0 |
INST_STARTUP_CMD | /opt/dmdbms/bin/dmserver | 数据库启动命令。1. linux 命令行方式启动(不能出现带有空格的路径):INST_STARTUP_CMD = /opt/dm/bin/dmserver;2. linux 服务方式启动:INST_STARTUP_CMD = service dmserverd restart;3. Windows 命令行启动:INST_STARTUP_CMD = c:\dm\bin\dmserver;4. Windows 服务方式启动:INST_STARTUP_CMD = net start 注册服务名(注册服务名,可通过 DM 服务查看器获取) |
RLOG_SEND_THRESHOLD | 0 | 指定主库发送日志到备库的时间阈值,默认关闭 |
RLOG_APPLY_THRESHOLD | 0 | 指定备库重演日志的时间阈值,默认关闭 |
5、监视器配置文件dmmonitor.ini
参数 | 参数值 | 说明 |
---|---|---|
MON_DW_CONFIRM | 1 | 是否配置为确认模式,缺省为 0。0:监控模式 (故障手切)1:确认模式(故障自切) |
MON_LOG_PAT | /opt/dmdbms/log | 日志文件路径,日志文件命名方式为“dmmonitor_年月日时分秒.log”,例如“dmmonitor_20150418230523.log”。 |
MON_LOG_INTERVAL | 60 | 自动记录系统状态信息到日志文件的时间间隔,取值(0、1 或者(5~3600)),单位秒,0 表示不记录任何日志,1 表示只记录监视器正常接收到的消息,5~3600 表示除了记录监视器正常接收消息外,每隔指定的间隔另外记录系统信息到日志文件中,默认值为 1 |
MON_LOG_FILE_SIZE | 512 | 单个日志文件大小,范围 16~2048,单位为 M,默认值为 64,达到最大值后,会自动生成并切换到新的日志文件中,如果达到设定的总空间限制,会自动删除创建时间最早的日志文件 |
MON_LOG_SPACE_LIMIT | 2048 | 日志总空间大小,取值 0 或者 256~4096,单位为 M,默认值为0,表示没有空间限制 |
[GROUP_NAME] | 守护进程组名,与 dmwatcher.ini 中的守护进程组名保持一致 | |
MON_DW_IP | 守护进程 IP 地址和监听端口配置格式为:“守护进程 IP 地址:守护进程监听端口”。其中 IP 地址和 dmmal.ini 中的 MAL_HOST 保持一致,端口和dmmal.ini 中的 MAL_DW_PORT 保持一致。 |
注意点:
1、实时归档只在主库生效,为什么也要在备库上配置实时归档?
当主库发生故障时,备库会切换成主库需要向其他备库发送实时归档,同步数据。
2、热备份时报错:收到的归档日志不连续
解决办法:
①停止数据库服务:
②进入dmrman修复归档日志
③重启数据库服务,重新备份
如果还有任何问题,欢迎到达梦在线服务平台提问哦!
社区 | 达梦在线服务平台https://eco.dameng.com