DM数据守护是集成化的高可用、高性能数据库解决方案,作为异地容灾首选,可在硬件故障、自然灾害等极端场景下避免数据损坏/丢失,保障数据安全,并实现快速恢复服务(秒级切换,不受数据规模影响),相比传统备份还原(需数小时甚至更久)效率显著更高。
实时主备
MPP主备
DMDSC主备
读写分离集群
DM数据守护的核心逻辑为:主库(生产库)将产生的Redo日志传输至备库,备库接收并重新应用(重演)该日志,从而实现与主库的数据同步。其核心思想是通过监控主备库状态及数据同步情况,针对Redo日志传输、重演过程中可能出现的异常提供解决方案。
DM数据守护系统主要由以下组件构成:
alter database open
前也会进入此状态。DM数据守护涉及以下配置文件:dm.ini
(数据库配置)、dm.ctl
(数据库控制文件)、dmmal.ini
(MAL配置)、dmarch.ini
(Redo日志归档配置)、dmwatcher.ini
(守护进程配置)、dmmonitor.ini
(监视器配置)、dmtimer.ini
(定时器配置)、dmmpp.ctl
(MPP控制文件)等。
dmmpp.ctl:MPP控制文件;
dm.ctl:无需用户修改,放置于指定目录即可;
一致性要求:
dmmal.ini
需严格一致;dmarch.ini
需配置相同ARCH_TYPE
;dmwatcher.ini
需配置相同DW_TYPE
、DW_MODE
、DW_ERROR_TIME
;存放路径:
dm.ini
:无限制,通常放数据库目录;dmmal.ini
、dmarch.ini
、dmtimer.ini
:路径由dm.ini
的CONFIG_PATH
指定;dmwatcher.ini
、dmmonitor.ini
:通常与dm.ini
同目录;dm.ctl
:路径由dm.ini
的CTL_PATH
指定;dmmpp.ctl
:路径由dm.ini
的SYSTEM_PATH
指定。dm.ini
:数据库核心配置文件,含数据守护相关参数;
dmtimer.ini
:定时器配置文件,参数与SP_ADD_TIMER()
过程用法一致。
监视器(dmmonitor)是基于监视器接口实现的命令行工具,作为DM数据守护系统的核心组件,主要功能如下:
配置数据守护,需通过备份还原同步各数据库数据,确保数据完全一致。主库可为新初始化库或生产库;备库需先初始化一个新库。
dminit
初始化数据库时生成随机密钥,主备库密钥不同,备库无法解析主库加密数据;序号 | Primary | Standby |
---|---|---|
服务器名 | dmtest1 | dmtest2 |
对应ID地址 | 192.168.123.10 | 192.168.123.11 |
实例名 | DMSERVER | DMTEST |
实例端口 | 5236 | 5237 |
系统监听MAL端口 | 61141 | 61142 |
本地守护进程端口 | 52141 | 52142 |
监听守护进程端口 | 33141 | 33142 |
OGUID | 453331 | 453331 |
安装目录 | /home/dmdba/dmdbms | /home/dmdba/dmdbms |
实例目录 | /home/dmdba/dmdbms/data/DAMENG/ | /home/dmdba/dmdbms/data/DAMENG/ |
归档目录 | /oradata/arch | /oradata/arch |
备注 | ||
监视器主机名称 | - | dbtest3 |
监视器IP地址 | - | 10.12.10.104 |
如果是初始搭建环境,可以通过对主库脱机备份、对备库脱机还原的方式来准备数据,如果主库已经处于运行状态,则可以对主库进行联机备份、对备库脱机还原的方式来准备数据。
两种方式都需要服务器配置本地归档,本地归档配置方式如下:
[dmdba@dbtest1 mnt]$ dm
服务器[localhost:5236]:处于普通打开状态
登录使用时间 : 5.958(ms)
disql V8
SQL> alter database mount;
操作已执行
已用时间: 3.775(毫秒). 执行号:0.
SQL> alter database archivelog;
操作已执行
已用时间: 1.733(毫秒). 执行号:0.
SQL> alter database add archivelog 'dest=/dmdata/arch,type=local,file_size=1024,space_limit=2048,arch_flush_buf_size=16,hang_flag=1';
操作已执行
已用时间: 3.221(毫秒). 执行号:0.
SQL> alter database open;
操作已执行
已用时间: 35.335(毫秒). 执行号:0.
dmrman
命令);RESTORE DATABASE
);RECOVER DATABASE UPDATE DB_MAGIC
)。BACKUP DATABASE
);RESTORE DATABASE
);RECOVER DATABASE FOR STANDBY
);RECOVER DATABASE UPDATE DB_MAGIC
)。关闭数据库服务
[dmdba@dbtest1 arch]$ DmServiceDMSERVER stop
Stopping DmServiceDMSERVER: [ OK ]
进行脱机全库备份
[dmdba@dbtest1 arch]$ dmrman CTLSTMT="BACKUP DATABASE '/home/dmdba/dmdbms/data/DAMENG/dm.ini' FULL TO BACKUP_FILE1 BACKUPSET '/dmdata/data/BACKUP_FILE_01'"
dmrman V8
BACKUP DATABASE '/home/dmdba/dmdbms/data/DAMENG/dm.ini' FULL TO BACKUP_FILE1 BACKUPSET '/dmdata/data/BACKUP_FILE_01'
file dm.key not found, use default license!
Processing backupset /dmdata/data/BACKUP_FILE_01
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:04][Remaining:00:00:00]
backup successfully!
time used: 00:00:05.548
查看备份文件并传输至备库-192.168.123.11
[dmdba@dbtest1 arch]$ ls -tlr /dmdata/data/
总用量 0
drwxr-xr-x. 2 dmdba dinstall 59 6月 25 23:03 BACKUP_FILE_01
备库停止服务
[dmdba@dmtest2 mnt]$ DmServiceDMTEST stop
Stopping DmServiceDMTEST: [ OK ]
备库启动恢复
[dmdba@dmtest2 mnt]$ dmrman CTLSTMT="RESTORE DATABASE '/home/dmdba/dmdbms/data/DAMENGS/dm.ini' FROM BACKUPSET '/dmdata/data/BACKUP_FILE_01'"
dmrman V8
RESTORE DATABASE '/home/dmdba/dmdbms/data/DAMENGS/dm.ini' FROM BACKUPSET '/dmdata/data/BACKUP_FILE_01'
file dm.key not found, use default license!
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:02][Remaining:00:00:00]
restore successfully.
time used: 00:00:02.602
备库数据更新
[dmdba@dmtest2 mnt]$ dmrman CTLSTMT="RECOVER DATABASE '/home/dmdba/dmdbms/data/DAMENGS/dm.ini' UPDATE DB_MAGIC"
dmrman V8
RECOVER DATABASE '/home/dmdba/dmdbms/data/DAMENGS/dm.ini' UPDATE DB_MAGIC
file dm.key not found, use default license!
recover successfully!
time used: 00:00:01.245
配置dm.ini
##实例名,建议使用“组名_守护环境_序号”的命名方式,总长度不能超过16
INSTANCE_NAME = DMSERVER
PORT_NUM = 5236 ##数据库实例监听端口
DW_INACTIVE_INTERVAL = 60 ##接收守护进程消息超时时间
ALTER_MODE_STATUS = 0 ##不允许手工方式修改实例模式/状态/OGUID
ENABLE_OFFLINE_TS = 2 ##不允许备库OFFLINE表空间
MAL_INI = 1 ##打开MAL系统
ARCH_INI = 1 ##打开归档配置
RLOG_SEND_APPLY_MON = 64 ##统计最近64次的日志发送信息
配置 dmmal.ini
AL_CHECK_INTERVAL = 5 ##MAL链路检测时间间隔
MAL_CONN_FAIL_INTERVAL = 5 ##判定MAL链路断开的时间
[MAL_INST1]
MAL_INST_NAME = DMSERVER ##实例名,和dm.ini中的INSTANCE_NAME一致
MAL_HOST = 192.168.1.10 ##MAL系统监听TCP连接的IP地址
MAL_PORT = 61141 ##MAL系统监听TCP连接的端口
MAL_INST_HOST = 192.168.123.10 ##实例的对外服务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 = DMTEST
MAL_HOST = 192.168.1.11
MAL_PORT = 61142
MAL_INST_HOST = 192.168.123.11
MAL_INST_PORT = 5236
MAL_DW_PORT = 52142
MAL_INST_DW_PORT = 33142
配置 dmarch.ini
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME ##实时归档类型
ARCH_DEST = DMTEST ##实时归档目标实例名
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL ##本地归档类型
ARCH_DEST = /dmdata/arch ##本地归档文件存放路径
ARCH_FILE_SIZE = 128 ##单位Mb,本地单个归档文件最大值
ARCH_SPACE_LIMIT = 0 ##单位Mb,0表示无限制,范围1024~2147483647M
配置 dmwatcher.ini
[GRP1]
DW_TYPE = GLOBAL ##全局守护类型
DW_MODE = AUTO ##自动切换模式
DW_ERROR_TIME = 10 ##远程守护进程故障认定时间
INST_RECOVER_TIME = 60 ##主库守护进程启动恢复的间隔时间
INST_ERROR_TIME = 10 ##本地实例故障认定时间
INST_OGUID = 453331 ##守护系统唯一OGUID值
INST_INI = /home/dmdba/dmdbms/data/DAMENG/dm.ini ##dm.ini配置文件路径
INST_AUTO_RESTART = 1 ##打开实例的自动启动功能
INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/DmServiceDMSERVER ##命令行方式启动
RLOG_SEND_THRESHOLD = 0 ##指定主库发送日志到备库的时间阈值,默认关闭
RLOG_APPLY_THRESHOLD = 0 ##指定备库重演日志的时间阈值,默认关闭
启动服务到mount阶段
[dmdba@dbtest1 bin]$ ./DmServiceDMSERVER start mount
Starting DmServiceDMSERVER: [ OK ]
设置 OGUID
服务器[localhost:5236]:处于普通配置状态
登录使用时间 : 4.284(ms)
disql V8
SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
DMSQL 过程已成功完成
已用时间: 11.816(毫秒). 执行号:1.
SQL> sp_set_oguid(453331);
DMSQL 过程已成功完成
已用时间: 3.781(毫秒). 执行号:2.
SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
DMSQL 过程已成功完成
已用时间: 12.630(毫秒). 执行号:3.
修改数据库模式
SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
DMSQL 过程已成功完成
已用时间: 13.624(毫秒). 执行号:4.
SQL> ALTER DATABASE Primary;
操作已执行
已用时间: 15.753(毫秒). 执行号:0.
SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
DMSQL 过程已成功完成
已用时间: 21.753(毫秒). 执行号:5.
配置dm.ini
##实例名,建议使用“组名_守护环境_序号”的命名方式,总长度不能超过16
INSTANCE_NAME = DMTEST
PORT_NUM = 5237 ##数据库实例监听端口
DW_INACTIVE_INTERVAL = 60 ##接收守护进程消息超时时间
ALTER_MODE_STATUS = 0 ##不允许手工方式修改实例模式/状态/OGUID
ENABLE_OFFLINE_TS = 2 ##不允许备库OFFLINE表空间
MAL_INI = 1 ##打开MAL系统
ARCH_INI = 1 ##打开归档配置
RLOG_SEND_APPLY_MON = 64 ##统计最近64次的日志重演信息
** 配置 dmmal.ini**
AL_CHECK_INTERVAL = 5 ##MAL链路检测时间间隔
MAL_CONN_FAIL_INTERVAL = 5 ##判定MAL链路断开的时间
[MAL_INST1]
MAL_INST_NAME = DMSERVER ##实例名,和dm.ini中的INSTANCE_NAME一致
MAL_HOST = 192.168.1.10 ##MAL系统监听TCP连接的IP地址
MAL_PORT = 61141 ##MAL系统监听TCP连接的端口
MAL_INST_HOST = 192.168.123.10 ##实例的对外服务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 = DMTEST
MAL_HOST = 192.168.1.11
MAL_PORT = 61142
MAL_INST_HOST = 192.168.123.11
MAL_INST_PORT = 5236
MAL_DW_PORT = 52142
MAL_INST_DW_PORT = 33142
配置 dmarch.ini
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME ##实时归档类型
ARCH_DEST = DMSERVER ##实时归档目标实例名
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL ##本地归档类型
ARCH_DEST = /dmdata/arch ##本地归档文件存放路径
ARCH_FILE_SIZE = 128 ##单位Mb,本地单个归档文件最大值
ARCH_SPACE_LIMIT = 0 ##单位Mb,0表示无限制,范围1024~2147483647M
配置 dmwatcher.ini
[GRP1]
DW_TYPE = GLOBAL ##全局守护类型
DW_MODE = AUTO ##自动切换模式
DW_ERROR_TIME = 10 ##远程守护进程故障认定时间
INST_RECOVER_TIME = 60 ##主库守护进程启动恢复的间隔时间
INST_ERROR_TIME = 10 ##本地实例故障认定时间
INST_OGUID = 453331 ##守护系统唯一OGUID值
INST_INI = /home/dmdba/dmdbms/data/DAMENGS/dm.ini ##dm.ini配置文件路径
INST_AUTO_RESTART = 1 ##打开实例的自动启动功能
INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/DmServiceDMTEST ##命令行方式启动
RLOG_SEND_THRESHOLD = 0 ##指定主库发送日志到备库的时间阈值,默认关闭
RLOG_APPLY_THRESHOLD = 0 ##指定备库重演日志的时间阈值,默认关闭
启动到mount
[dmdba@dmtest2 DAMENGS]$ DmServiceDMTEST start mount
Starting DmServiceDMTEST: [ OK ]
设置 OGUID
SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
DMSQL 过程已成功完成
已用时间: 12.816(毫秒). 执行号:1.
SQL> sp_set_oguid(453331);
DMSQL 过程已成功完成
已用时间: 4.181(毫秒). 执行号:2.
SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
DMSQL 过程已成功完成
已用时间: 11.680(毫秒). 执行号:3.
修改数据库模式
SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
DMSQL 过程已成功完成
已用时间: 15.624(毫秒). 执行号:4.
SQL> ALTER DATABASE standby;
操作已执行
已用时间: 11.753(毫秒). 执行号:0.
SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
DMSQL 过程已成功完成
已用时间: 24.713(毫秒). 执行号:5.
192.168.123.12 服务器配置 dmmonitor.ini
目录位置与dm.ini保持一致即可
MON_DW_CONFIRM = 1 ##确认监视器模式
MON_LOG_PATH = /dmdata/data ##监视器日志文件存放路径
MON_LOG_INTERVAL = 60 ##每隔60s定时记录系统信息到日志文件
MON_LOG_FILE_SIZE = 32 ##每个日志文件最大32M
MON_LOG_SPACE_LIMIT = 0 ##不限定日志文件总占用空间
[GRP1]
MON_INST_OGUID = 453331 ##组GRP1的唯一OGUID值
##以下配置为监视器到组GRP1的守护进程的连接信息,以“IP:PORT”的形式配置
##IP对应dmmal.ini中的MAL_HOST,PORT对应dmmal.ini中的MAL_DW_PORT
MON_DW_IP = 192.168.1.10:52141
MON_DW_IP = 192.168.1.11:52142
主备服务器配置dmwatcher服务
使用root用户,在$DM_HOME/script/root目录下
./dm_service_installer.sh -t dmwatcher -dm_ini /home/dmdba/dmdbms/data/DAMENG/dmwatcher.ini -p DW
注册DmWatcherServiceDW服务
主备操作启动DmWatcherServiceDW 服务
dbtest1
[dmdba@dbtest1 data]$ DmWatcherServiceDW start
Starting DmWatcherServiceDW: [ OK ]
dbtest2
[dmdba@dmtest2 data]$ DmWatcherServiceDW start
Starting DmWatcherServiceDW: [ OK ]
启动dmmonitor服务查看状态
dmmonitor -h
Invalid input -h
dmmonitor V8
version: 03134284368-20250430-272000-20149 Pack1
书写格式: ./dmmonitor [ini_path] [path=ini_path] | help | [raft_file_path=file_path raft_file_size=file_size mon_magic=mon_magic mon_name=mon_name overwrite=overwrite]
使用示例: ./dmmonitor path=/opt/dmdbms/data/DAMENG/dmmonitor.ini
使用示例: ./dmmonitor /opt/dmdbms/data/DAMENG/dmmonitor.ini
使用示例: ./dmmonitor raft_file_path=xxx raft_file_size=xxx mon_magic=xxx mon_name=xxx overwrite=xxx
----------------------------------------------------------------------------------------------------------------------------------------
关键词(KEYWORD) 说明 缺省值 是否必选项
----------------------------------------------------------------------------------------------------------------------------------------
PATH ini绝对路径或者当前目录的dmmonitor.ini/dmwmon.ini 无 是
RAFT_FILE_PATH 多实例监视器联机日志路径,需要与dmmonitor.ini中MON_LOG_PATH一致 无 否
RAFT_FILE_SIZE 多实例监视器联机日志空闲大小,单位MB 无 否
MON_MAGIC 多实例监视器魔数,同一套多实例监视器集群需要一致 无 否
MON_NAME 多实例监视器实例名 无 否
OVERWRITE 是否允许删除老联机日志,生成新的多实例监视器联机日志,取值0,则不允许,取值1,则允许 0 否
HELP 打印帮助信息 无 否
----------------------------------------------------------------------------------------------------------------------------------------
查看状态
dmmonitor PATH=/home/dmdba/dmdbms/data/DAMENGJ/dmmonitor.ini
[monitor] 2025-06-26 18:52:19: DMMONITOR[4.0] V8
[monitor] 2025-06-26 18:52:20: DMMONITOR[4.0] IS READY.
[monitor] 2025-06-26 18:52:20:
#-----------------------------------------------------------------------------------------------#
GET MONITOR CONNECT INFO FROM DMWATCHER(DMSERVER), THE FIRST LINE IS SELF INFO.
DW_CONN_TIME MON_CONFIRM MID MON_IP MON_VERSION
2025-06-26 18:52:20 FALSE 239757064 ::ffff:192.168.1.12 DMMONITOR[4.0] V8
#-----------------------------------------------------------------------------------------------#
[monitor] 2025-06-26 18:52:20: 收到守护进程(DMSERVER)消息
WTIME WSTATUS INST_OK INAME ISTATUS IMODE RSTAT N_OPEN FLSN CLSN
2025-06-26 18:52:20 OPEN OK DMSERVER OPEN PRIMARY VALID 5 56619 56619
[monitor] 2025-06-26 18:52:21: 收到守护进程(DMTEST)消息
WTIME WSTATUS INST_OK INAME ISTATUS IMODE RSTAT N_OPEN FLSN CLSN
2025-06-26 18:52:21 OPEN OK DMTEST OPEN STANDBY VALID 5 56619 56619
输入命令非法,请输入help命令查看帮助信息!
show
2025-06-26 18:55:56
#================================================================================#
GROUP OGUID MON_CONFIRM MODE MPP_FLAG
GRP1 453331 FALSE AUTO FALSE
<<DATABASE GLOBAL INFO:>>
DW_IP MAL_DW_PORT WTIME WTYPE WCTLSTAT WSTATUS INAME INST_OK N_EP N_OK ISTATUS IMODE DSC_STATUS RTYPE RSTAT DETACHED
192.168.1.10 52141 2025-06-26 18:55:56 GLOBAL VALID OPEN DMSERVER OK 1 1 OPEN PRIMARY DSC_OPEN REALTIME VALID FALSE
EP INFO:
INST_IP INST_PORT INST_OK INAME ISTATUS IMODE DSC_SEQNO DSC_CTL_NODE RTYPE RSTAT FSEQ FLSN CSEQ CLSN DW_STAT_FLAG
192.168.123.10 5236 OK DMSERVER OPEN PRIMARY 0 0 REALTIME VALID 4576 56679 4576 56679 NONE
<<DATABASE GLOBAL INFO:>>
DW_IP MAL_DW_PORT WTIME WTYPE WCTLSTAT WSTATUS INAME INST_OK N_EP N_OK ISTATUS IMODE DSC_STATUS RTYPE RSTAT DETACHED
192.168.1.11 52142 2025-06-26 18:55:56 GLOBAL VALID OPEN DMTEST OK 1 1 OPEN STANDBY DSC_OPEN REALTIME VALID FALSE
EP INFO:
INST_IP INST_PORT INST_OK INAME ISTATUS IMODE DSC_SEQNO DSC_CTL_NODE RTYPE RSTAT FSEQ FLSN CSEQ CLSN DW_STAT_FLAG
192.168.123.11 5237 OK DMTEST OPEN STANDBY 0 0 REALTIME VALID 4575 56678 4575 56678 NONE
DATABASE(DMTEST) APPLY INFO FROM (DMSERVER), REDOS_PARALLEL_NUM (1), WAIT_APPLY[FALSE]:
DSC_SEQNO[0], (RSEQ, SSEQ, KSEQ)[4575, 4575, 4576], (RLSN, SLSN, KLSN)[56678, 56678, 56679], N_TSK[0], TSK_MEM_USE[4096]
#================================================================================#
dmmonitor 服务器进行switchover操作
输入命令非法,请输入help命令查看帮助信息!
login
用户名:sysdba
密码:
[monitor] 2025-06-27 17:58:08: 登录监视器成功!
输入命令非法,请输入help命令查看帮助信息!
choose switchover GRP1
Can choose one of the following instances to do switchover:
1: DMTEST
switchover GRP1.DMTEST
此操作需谨慎, 将会导致主库发生切换, 是否继续使用GRP1.DMTEST执行SWITCHOVER操作(YES/NO/Y/N)?
y
[monitor] 2025-06-27 17:58:32: 开始切换实例DMTEST
[monitor] 2025-06-27 17:58:32: 通知守护进程DMSERVER切换SWITCHOVER状态
[monitor] 2025-06-27 17:58:32: 守护进程(DMSERVER)状态切换 [OPEN-->SWITCHOVER]
[monitor] 2025-06-27 17:58:32: 切换守护进程DMSERVER为SWITCHOVER状态成功
[monitor] 2025-06-27 17:58:32: 通知守护进程DMTEST切换SWITCHOVER状态
[monitor] 2025-06-27 17:58:32: 守护进程(DMTEST)状态切换 [OPEN-->SWITCHOVER]
[monitor] 2025-06-27 17:58:32: 切换守护进程DMTEST为SWITCHOVER状态成功
[monitor] 2025-06-27 17:58:32: 实例DMSERVER开始执行SP_SET_GLOBAL_DW_STATUS(0, 6)语句
[monitor] 2025-06-27 17:58:32: 实例DMSERVER执行SP_SET_GLOBAL_DW_STATUS(0, 6)语句成功
[monitor] 2025-06-27 17:58:32: 实例DMTEST开始执行SP_SET_GLOBAL_DW_STATUS(0, 6)语句
[monitor] 2025-06-27 17:58:32: 实例DMTEST执行SP_SET_GLOBAL_DW_STATUS(0, 6)语句成功
[monitor] 2025-06-27 17:58:32: 实例DMSERVER开始执行ALTER DATABASE MOUNT语句
[monitor] 2025-06-27 17:58:32: 实例DMSERVER执行ALTER DATABASE MOUNT语句成功
[monitor] 2025-06-27 17:58:32: 实例DMTEST开始执行SP_APPLY_KEEP_PKG()语句
[monitor] 2025-06-27 17:58:32: 实例DMTEST执行SP_APPLY_KEEP_PKG()语句成功
[monitor] 2025-06-27 17:58:32: 实例DMTEST开始执行ALTER DATABASE MOUNT语句
[monitor] 2025-06-27 17:58:32: 实例DMTEST执行ALTER DATABASE MOUNT语句成功
[monitor] 2025-06-27 17:58:32: 实例DMSERVER开始执行ALTER DATABASE STANDBY语句
[monitor] 2025-06-27 17:58:32: 实例DMSERVER执行ALTER DATABASE STANDBY语句成功
[monitor] 2025-06-27 17:58:32: 实例DMTEST开始执行ALTER DATABASE PRIMARY语句
[monitor] 2025-06-27 17:58:32: 实例DMTEST执行ALTER DATABASE PRIMARY语句成功
[monitor] 2025-06-27 17:58:32: 通知实例DMTEST修改所有归档状态无效
[monitor] 2025-06-27 17:58:32: 修改所有实例归档为无效状态成功
[monitor] 2025-06-27 17:58:32: 实例DMSERVER开始执行ALTER DATABASE OPEN FORCE语句
[monitor] 2025-06-27 17:58:32: 实例DMSERVER执行ALTER DATABASE OPEN FORCE语句成功
[monitor] 2025-06-27 17:58:32: 实例DMTEST开始执行ALTER DATABASE OPEN FORCE语句
[monitor] 2025-06-27 17:58:32: 实例DMTEST执行ALTER DATABASE OPEN FORCE语句成功
[monitor] 2025-06-27 17:58:32: 实例DMSERVER开始执行SP_SET_GLOBAL_DW_STATUS(6, 0)语句
[monitor] 2025-06-27 17:58:32: 实例DMSERVER执行SP_SET_GLOBAL_DW_STATUS(6, 0)语句成功
[monitor] 2025-06-27 17:58:32: 实例DMTEST开始执行SP_SET_GLOBAL_DW_STATUS(6, 0)语句
[monitor] 2025-06-27 17:58:32: 实例DMTEST执行SP_SET_GLOBAL_DW_STATUS(6, 0)语句成功
[monitor] 2025-06-27 17:58:32: 通知守护进程DMSERVER切换OPEN状态
[monitor] 2025-06-27 17:58:32: 守护进程(DMSERVER)状态切换 [SWITCHOVER-->OPEN]
[monitor] 2025-06-27 17:58:33: 切换守护进程DMSERVER为OPEN状态成功
[monitor] 2025-06-27 17:58:33: 通知守护进程DMTEST切换OPEN状态
[monitor] 2025-06-27 17:58:33: 守护进程(DMTEST)状态切换 [SWITCHOVER-->OPEN]
[monitor] 2025-06-27 17:58:33: 切换守护进程DMTEST为OPEN状态成功
[monitor] 2025-06-27 17:58:33: 通知组(GRP1)的守护进程执行清理操作
[monitor] 2025-06-27 17:58:33: 清理守护进程(DMSERVER)请求成功
[monitor] 2025-06-27 17:58:33: 清理守护进程(DMTEST)请求成功
[monitor] 2025-06-27 17:58:33: 实例DMTEST切换成功
2025-06-27 17:58:33
#================================================================================#
GROUP OGUID MON_CONFIRM MODE MPP_FLAG
GRP1 453331 FALSE AUTO FALSE
<<DATABASE GLOBAL INFO:>>
DW_IP MAL_DW_PORT WTIME WTYPE WCTLSTAT WSTATUS INAME INST_OK N_EP N_OK ISTATUS IMODE DSC_STATUS RTYPE RSTAT DETACHED
192.168.1.11 52142 2025-06-27 17:58:33 GLOBAL VALID OPEN DMTEST OK 1 1 OPEN PRIMARY DSC_OPEN REALTIME VALID FALSE
EP INFO:
INST_IP INST_PORT INST_OK INAME ISTATUS IMODE DSC_SEQNO DSC_CTL_NODE RTYPE RSTAT FSEQ FLSN CSEQ CLSN DW_STAT_FLAG
192.168.123.11 5237 OK DMTEST OPEN PRIMARY 0 0 REALTIME VALID 4628 57013 4628 57014 NONE
<<DATABASE GLOBAL INFO:>>
DW_IP MAL_DW_PORT WTIME WTYPE WCTLSTAT WSTATUS INAME INST_OK N_EP N_OK ISTATUS IMODE DSC_STATUS RTYPE RSTAT DETACHED
192.168.1.10 52141 2025-06-27 17:58:32 GLOBAL VALID OPEN DMSERVER OK 1 1 OPEN STANDBY DSC_OPEN REALTIME INVALID FALSE
EP INFO:
INST_IP INST_PORT INST_OK INAME ISTATUS IMODE DSC_SEQNO DSC_CTL_NODE RTYPE RSTAT FSEQ FLSN CSEQ CLSN DW_STAT_FLAG
192.168.123.10 5236 OK DMSERVER OPEN STANDBY 0 0 REALTIME INVALID 4626 56933 4626 56933 NONE
DATABASE(DMSERVER) APPLY INFO FROM (DMTEST), REDOS_PARALLEL_NUM (1), WAIT_APPLY[FALSE]:
DSC_SEQNO[0], (RSEQ, SSEQ, KSEQ)[4626, 4626, 4626], (RLSN, SLSN, KLSN)[56933, 56933, 56933], N_TSK[0], TSK_MEM_USE[0]
#================================================================================#
[monitor] 2025-06-27 17:58:35: 守护进程(DMTEST)状态切换 [OPEN-->RECOVERY]
WTIME WSTATUS INST_OK INAME ISTATUS IMODE RSTAT N_OPEN FLSN CLSN
2025-06-27 17:58:36 RECOVERY OK DMTEST OPEN PRIMARY VALID 7 57014 57014
[monitor] 2025-06-27 17:58:38: 守护进程(DMTEST)状态切换 [RECOVERY-->OPEN]
WTIME WSTATUS INST_OK INAME ISTATUS IMODE RSTAT N_OPEN FLSN CLSN
2025-06-27 17:58:39 OPEN OK DMTEST OPEN PRIMARY VALID 7 57014 57014
文章
阅读量
获赞