单提交机 DM8 两节点实时主备部署与性能验证
本文档用于在一台提交机 VM 上复刻部署规范里的 2 节点 Data Watch 实时主备集群。核心做法是同一台机器上放两个实例目录实例名不同所有服务端口错开用本机 IP 模拟两台机器。1. 架构与端口角色实例名实例目录归档目录实例端口MAL 端口守护监听端口实例监听守护端口主库DW1_01/dmdata/DW1_01/DAMENG/dmarch/DW1_0115236533654365536备库DW1_02/dmdata/DW1_02/DAMENG/dmarch/DW1_0215237533754375537统一参数安装目录/dmdbms守护组GDW1OGUID45331账号密码SYSDBA/Dameng1234HOST_IP提交机本机 IP。只在本机验证时可用127.0.0.1但建议使用 VM 的实际业务 IP。2. 主备集群讲透DM Data Watch 主备集群由数据库实例、实时归档、MAL 通信、守护进程dmwatcher和监视器dmmonitor组成。主库负责对外写入。备库处于STANDBY正常提供只读能力。主库产生 redo 后通过 MAL 链路把日志发给备库。守护进程负责监控本地实例和远端守护进程监视器负责展示状态、执行switchover和takeover。实时主备的关键点是主库在 redo 写入本地联机日志前先把 RLOG_PKG 发给备库备库收到后立即响应不等待重演完成。主库收到响应后继续写本地联机日志并响应业务。因此它的 RPO 接近 0但备库查询仍可能有极短应用延迟。RTO 取决于监视器模式、故障检测时间和人工接管速度。本次采用DW_MODEMANUAL和MON_DW_CONFIRM0原因是提交机只有一台没有独立仲裁机手动模式更适合验收和练习避免单机模拟时自动接管误判。3. 归档类型差异类型配置位置发送时机高可用行为RPO/RTO 逻辑本次用途实时归档REALTIMEdmarch.ini主库写联机 redo 前发送主备核心同步机制支持切换接管RPO 接近 0RTO 看守护和监视器接管主线同步归档SYNCdmarch.ini主库归档日志刷盘后由归档线程发送不作为本次 2 节点实时主备主线RPO 通常较低但与归档刷盘/发送相关RTO 不等同主备接管补充理解异步归档ASYNCdmarch.inidmtimer.ini定时器触发后扫描本地归档发送更适合异地备或级联备不能替代本次主线 HARPO 取决于定时周期和积压RTO 依赖额外接管策略演示理解性能目标优先选实时主备。读写分离在读多写少时可能更高但需要接口层配置且单 VM 上两个实例争抢 CPU/IO结果不一定比单实例稳定。4. 初始化与配置步骤以下命令以dmdba用户执行注册服务命令以root执行。4.1 准备目录mkdir-p/dmdata/DW1_01 /dmdata/DW1_02 /dmarch/DW1_01 /dmarch/DW1_02mkdir-p/dmdata/malpath /dmdata/backup /dmdbms/log4.2 初始化主库/dmdbms/bin/dminitPATH/dmdata/DW1_01INSTANCE_NAMEDW1_01PORT_NUM15236PAGE_SIZE32EXTENT_SIZE32LOG_SIZE2048CHARSET1CASE_SENSITIVEYSYSDBA_PWDDameng1234SYSAUDITOR_PWDDameng1234首次启动主库并修改基础参数/dmdbms/bin/dmserver /dmdata/DW1_01/DAMENG/dm.ini另开窗口执行-- disql SYSDBA/Dameng1234HOST_IP:15236ALTERDATABASEMOUNT;SP_SET_PARA_VALUE(2,PORT_NUM,15236);SP_SET_PARA_VALUE(2,DW_INACTIVE_INTERVAL,60);SP_SET_PARA_VALUE(2,ALTER_MODE_STATUS,0);SP_SET_PARA_VALUE(2,ENABLE_OFFLINE_TS,2);SP_SET_PARA_VALUE(2,MAL_INI,1);SP_SET_PARA_VALUE(2,ARCH_INI,1);SP_SET_PARA_VALUE(2,RLOG_SEND_APPLY_MON,64);ALTERDATABASEOPEN;关闭前台dmserver后备份主库/dmdbms/bin/dmrmanCTLSTMTBACKUP DATABASE /dmdata/DW1_01/DAMENG/dm.ini FULL BACKUPSET /dmdata/backup/DW1_FULL PARALLEL 44.3 配置主库文件把templates/dmmal.ini复制到/dmdata/DW1_01/DAMENG/dmmal.ini将其中HOST_IP替换为提交机 IP。把templates/dmarch_primary.ini复制为/dmdata/DW1_01/DAMENG/dmarch.ini。把templates/dmwatcher_01.ini复制为/dmdata/DW1_01/DAMENG/dmwatcher.ini。4.4 准备备库复制主库实例目录到备库目录cp-a/dmdata/DW1_01/DAMENG /dmdata/DW1_02/修改备库dm.iniINSTANCE_NAME DW1_02 PORT_NUM 15237把templates/dmmal.ini复制到/dmdata/DW1_02/DAMENG/dmmal.ini同样替换HOST_IP。把templates/dmarch_standby.ini复制为/dmdata/DW1_02/DAMENG/dmarch.ini。把templates/dmwatcher_02.ini复制为/dmdata/DW1_02/DAMENG/dmwatcher.ini。恢复备库数据/dmdbms/bin/dmrmanCTLSTMTRESTORE DATABASE /dmdata/DW1_02/DAMENG/dm.ini FROM BACKUPSET /dmdata/backup/DW1_FULL/dmdbms/bin/dmrmanCTLSTMTRECOVER DATABASE /dmdata/DW1_02/DAMENG/dm.ini FROM BACKUPSET /dmdata/backup/DW1_FULL/dmdbms/bin/dmrmanCTLSTMTRECOVER DATABASE /dmdata/DW1_02/DAMENG/dm.ini UPDATE DB_MAGIC4.5 注册服务服务名必须区分两个实例/dmdbms/script/root/dm_service_installer.sh-tdmserver-pDW101-dm_ini/dmdata/DW1_01/DAMENG/dm.ini-mmount/dmdbms/script/root/dm_service_installer.sh-tdmserver-pDW102-dm_ini/dmdata/DW1_02/DAMENG/dm.ini-mmount/dmdbms/script/root/dm_service_installer.sh-tdmwatcher-pWatcher101-watcher_ini/dmdata/DW1_01/DAMENG/dmwatcher.ini /dmdbms/script/root/dm_service_installer.sh-tdmwatcher-pWatcher102-watcher_ini/dmdata/DW1_02/DAMENG/dmwatcher.ini如需注册监视器/dmdbms/script/root/dm_service_installer.sh-tdmmonitor-pMonitorDW1-monitor_ini/dmdbms/bin/dmmonitor.ini5. 启动与角色设置启动两个实例为 mount/dmdbms/bin/DmServiceDW101 start /dmdbms/bin/DmServiceDW102 start设置主库-- disql SYSDBA/Dameng1234HOST_IP:15236SP_SET_PARA_VALUE(1,ALTER_MODE_STATUS,1);SP_SET_OGUID(45331);ALTERDATABASEPRIMARY;SP_SET_PARA_VALUE(1,ALTER_MODE_STATUS,0);设置备库-- disql SYSDBA/Dameng1234HOST_IP:15237SP_SET_PARA_VALUE(1,ALTER_MODE_STATUS,1);SP_SET_OGUID(45331);ALTERDATABASESTANDBY;SP_SET_PARA_VALUE(1,ALTER_MODE_STATUS,0);启动守护进程/dmdbms/bin/DmWatcherServiceWatcher101 start /dmdbms/bin/DmWatcherServiceWatcher102 start配置监视器cptemplates/dmmonitor.ini /dmdbms/bin/dmmonitor.inised-is/HOST_IP/提交机实际IP/g/dmdbms/bin/dmmonitor.ini /dmdbms/bin/dmmonitor /dmdbms/bin/dmmonitor.ini监视器里执行show global info list tip6. 验证场景6.1 主备同步主库执行CREATETABLEDW_TEST(IDINT,C1VARCHAR(50));INSERTINTODW_TESTVALUES(1,PRIMARY_TO_STANDBY);COMMIT;备库执行SELECT*FROMDW_TEST;SELECTARCH_DEST,ARCH_TYPE,ARCH_STATUSFROMV$ARCH_STATUS;预期备库能查到数据主库到DW1_02的实时归档状态为VALID。6.2 正常切换监视器执行choose switchover GDW1 switchover GDW1.DW1_02 show global info预期DW1_02变为PRIMARYDW1_01变为STANDBY。6.3 故障接管停止当前主库实例后在监视器执行choose takeover GDW1 takeover GDW1.DW1_02 show global info如果常规接管不满足条件先执行SELECTSF_DW_CHECK_TAKEOVER();仅在确认归档有效且原主库不会重新写入时才考虑takeover force。7. 性能提交方法7.1 单实例基线使用同样 VM、同样 DM 参数只启动单实例记录工具sysbench / JMeter / 自写 SQL 循环任选一种。并发数建议固定 8、16 或 32。持续时间建议至少 3 分钟。指标TPS、QPS、平均延迟、P95 延迟、CPU、IO wait。7.2 实时主备压测启动主备和守护只连接当前主库端口压测。记录同样指标并计算主备性能比例 实时主备 TPS / 单实例 TPS7.3 基本优化点MAL_COMPRESS_LEVEL0本机或内网无需压缩降低 CPU 开销。归档目录与数据目录分开至少逻辑路径分开便于观察 IO。压测时关闭过重 SQL 日志只保留必要监控。根据 VM 内存调大BUFFER但不要挤爆系统页缓存。保持两个实例端口、服务名、归档目录完全独立避免相互覆盖。8. 最终提交内容建议提交以下内容集群架构和端口表。实时、同步、异步归档差异表。show global info、list、tip的关键输出截图或文本。主备同步验证 SQL 结果。正常切换或故障接管验证结果。单实例与实时主备性能表以及主备/单机比例。

相关新闻

TMS320F28004x DMA模块架构解析与驱动开发实战

TMS320F28004x DMA模块架构解析与驱动开发实战

1. DMA模块核心架构与设计思路拆解 在嵌入式实时控制系统中,CPU的算力是宝贵的资源。当系统需要频繁地在内存与外设之间搬运数据时,例如ADC连续采样、SPI/UART通信数据收发,如果这些操作都由CPU通过软件循环来完成,会大量占用CPU时…

2026/10/15 9:28:51 阅读更多 →
C++入门指南:从环境搭建到核心概念与项目实践

C++入门指南:从环境搭建到核心概念与项目实践

1. 项目概述:为什么C依然是硬核开发的基石? 如果你刚接触编程,或者从Python、Java这类语言转过来,第一次打开C的代码可能会有点懵。满眼的 * 、 & 、 :: ,还有各种 new 和 delete ,感觉像是在…

2026/10/15 10:01:15 阅读更多 →
Ubuntu 20.04搭建vsftpd服务器完整指南

Ubuntu 20.04搭建vsftpd服务器完整指南

1. 项目概述 在Linux系统中搭建FTP服务器是一项基础但实用的运维技能。Ubuntu作为最流行的Linux发行版之一,其稳定性和易用性使其成为搭建FTP服务的理想选择。本文将详细介绍在Ubuntu 20.04 LTS系统上配置vsftpd(Very Secure FTP Daemon)服务…

2026/10/16 12:38:47 阅读更多 →

最新新闻

Zabbix 社区模板实战:用 SNMP 模板 SNMP HP v1905 POE 监控 HP 1905 网管型 PoE 交换机的 26 个端口

Zabbix 社区模板实战:用 SNMP 模板 SNMP HP v1905 POE 监控 HP 1905 网管型 PoE 交换机的 26 个端口

【免费下载链接】community-templates Zabbix Community Templates repository 项目地址: https://gitcode.com/gh_mirrors/co/community-templates 点击查看 免费下载 本文围绕 Zabbix 社区模板仓库(community-templates)中的 SNMP HP v190…

2026/10/17 1:49:28 阅读更多 →
动态仿生机制优化算法:无人机路径规划与编队控制的实战解析

动态仿生机制优化算法:无人机路径规划与编队控制的实战解析

最近在做一个无人机编队的项目,路径规划这块折腾了大半个月,试过传统的A*、人工势场法,也玩过遗传算法,但在动态障碍物多、环境又一直变化的情况下总是不太理想。后来把目光放到仿生这一派上,基于鸟类、鱼群这些群体的…

2026/10/17 1:49:28 阅读更多 →
三步上手 RenoDX:DirectX 游戏着色器替换 Mod 工具完整安装指南

三步上手 RenoDX:DirectX 游戏着色器替换 Mod 工具完整安装指南

三步上手 RenoDX:DirectX 游戏着色器替换 Mod 工具完整安装指南 【免费下载链接】renodx Renovation Engine for DirectX Games 项目地址: https://gitcode.com/GitHub_Trending/re/renodx 想给 DirectX 游戏换掉官方着色器、加覆盖层或拉满画质?…

2026/10/17 1:49:28 阅读更多 →
AnythingLLM全栈AI工作台:多模型切换与文档引用追溯实战

AnythingLLM全栈AI工作台:多模型切换与文档引用追溯实战

简介:这份文档面向希望将AI能力融入业务流程的专业人士、开发者、企业IT部门及教学科研与创意工作者,系统梳理了Mintplex Labs推出的全栈AI应用AnythingLLM。内容涵盖多模型支持(OpenAI、Azure OpenAI、AWS Bedrock、Anthropic、Google Gemin…

2026/10/17 1:49:28 阅读更多 →
本质安全设计指南:IEC60079-11-2023参数、选型与送检避坑

本质安全设计指南:IEC60079-11-2023参数、选型与送检避坑

简介:国际电工委员会发布的IEC 60079-11:2023是2023年1月生效的第7版爆炸性环境系列标准之一,专门规定本质安全型“i”的防护要求。它面向防爆电气设备制造商、研发设计人员、防爆检测与认证机构、工程项目安全审查人员,解决在可燃性气体或蒸…

2026/10/17 1:49:28 阅读更多 →
Lokinet多平台部署实战:Windows、Linux、MacOS完整安装教程

Lokinet多平台部署实战:Windows、Linux、MacOS完整安装教程

Lokinet多平台部署实战:Windows、Linux、MacOS完整安装教程 Lokinet是一个匿名、去中心化且基于IP的互联网覆盖网络,让用户能够在保护隐私的同时安全地访问互联网。本教程将详细介绍如何在Windows、Linux和MacOS三大主流操作系统上部署Lokinet&#xff…

2026/10/17 1:48:27 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 21:54:38 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →