注册
DEM基本功能使用指南
培训园地/ 文章详情 /

DEM基本功能使用指南

淀粉肠大王ᰔᩚ 2026/08/19 265 2 0

DEM基本功能使用指南

DATABASE ENTERPRISE MANAGER
监控、告警、巡检、备份、主备、SQL治理与数据迁移

文档属性 说明
适用范围 DEM9.0.1及相近版本;小版本菜单以实际界面为准
发布日期 2026年8月
信息安全 网络地址、账号、口令、路径及业务对象均已脱敏

使用说明

文档定位

本文是一份DEM基本操作指南。内容按照“先接入、再监控、后处置”的实际工作顺序组织,覆盖dmagent部署、主机与数据库监控、告警闭环、进程管理、在线巡检、远程启停、备份验证、主备集群、SQL治理、数据生成与迁移等常用能力。

本文不是功能学习记录,也不以复述界面为目标。每项操作均尽量给出使用场景、前置条件、菜单路径、执行步骤、成功判定、风险提示和常见问题,便于读者在没有原作者陪同的情况下独立完成操作。

版本说明|示例界面来自DEM9.0.1环境。不同补丁版本可能调整菜单名称、按钮位置或字段标签,但操作对象、权限边界和验证思路基本一致。遇到界面差异时,应以当前环境和官方手册为准。

脱敏与示例约定

文档中的截图保留原始彩色界面,仅对可能暴露环境信息的位置进行局部遮盖;正文统一使用占位符。实际执行时必须替换为本环境的真实值,禁止直接复制示例中的地址、账号或目录。

占位符 含义 示例用途
<DEM_URL> DEM访问地址 浏览器登录入口
<DMAGENT_HOME> dmagent安装目录 执行service.sh或start.sh
<主机A_IP>/<主机B_IP> 被监控主机地址 主机、数据库、主备接入
<数据库端口> 数据库监听端口 连通性检查与实例接入
<代理通信端口> dmagent通信端口 主机与DEM服务端通信
<备份目录> 备份集存放目录 全量、增量备份及校验
<模式名>/<表名> 业务数据库对象 统计信息、SQL调优与迁移

保密|生产截图、日志和报告发布前,应再次检查并脱敏IP、主机名、账号、口令、数据库名、业务对象、路径、证书和令牌;无法判断时按敏感信息处理。

内容导航

第1章DEM能力与工作边界

1.1 DEM是什么

DEM是面向达梦数据库的集中式Web管理与运维平台。典型部署由DEM服务端、DEM仓库数据库、被监控数据库、被监控主机以及部署在主机侧的dmagent组成。浏览器负责操作入口,DEM服务端负责统一管理与任务编排,仓库数据库保存配置、监控数据和告警记录,dmagent负责采集主机与进程信息并执行经授权的运维动作。

从工作流看,DEM把分散的命令行检查集中为可观测、可追踪、可复用的操作链:采集产生指标,指标命中规则形成告警,告警触发人工或自动处置,处置后继续采集并确认恢复。巡检、备份、SQL审核和迁移任务则形成独立的任务记录与结果报告。

组成 主要职责 关键依赖
DEM服务端 提供Web界面、任务编排、权限控制、告警与报表 应用服务、仓库数据库、网络连通
DEM仓库数据库 保存监控历史、配置、任务与审计数据 容量规划、备份、稳定运行
dmagent 采集主机与进程信息,执行文件传输及远程运维 正确的agent.ini、运行账号、端口与权限
被监控数据库 提供数据库运行指标并接受经授权的操作 监听正常、监控账号、最小必要权限
浏览器客户端 提供操作与审计入口 受支持浏览器、访问控制、统一认证策略

1.2 核心能力

资源监控:统一查看主机、数据库、进程、集群的当前状态和历史趋势。

告警管理:按对象、指标和阈值配置规则,区分严重、一般、轻微等级,并跟踪恢复。

运维执行:支持批量SQL、脚本、SSH以及数据库启停、进程拉起等授权操作。

在线巡检:按模板检查主机、数据库、表空间、归档、备份、会话、对象与运行状态。

备份管理:执行全量或增量备份,并通过备份集检查确认介质可读。

高可用管理:部署和监控数据守护集群,查看角色与同步状态并实施受控切换。

SQL治理:执行SQL审核、调优、索引建议与统计信息维护。

数据工具:执行数据生成、数据库迁移、兼容性评估、对象比较和SQL转换。

1.3 能力边界

DEM能够降低重复操作成本,但不能替代变更审批、容量规划、备份恢复演练和故障根因分析。所有会改变数据库状态、数据内容、主备角色或访问路径的操作,都应先获得授权,并准备回退方案。界面显示“成功”也不能代替业务验证:例如主备切换后还必须检查应用重连、读写能力和复制状态。

高风险操作|远程启停、自动拉起、批量脚本、备份目录变更、索引应用、数据迁移以及主备切换均可能影响业务。生产环境必须执行双人复核或等效审批,并保留任务记录。

1.4 通用操作闭环

确认对象:核对环境、主机、实例、端口、集群名称和业务归属。

确认权限:使用最小必要权限账号,避免共享高权限口令。

确认影响:判断操作是只读、可逆还是高风险变更,并确认维护窗口。

执行操作:按步骤保存任务编号、时间、执行人和关键参数。

技术验证:检查服务、端口、数据库状态、告警状态、日志和任务结果。

业务验证:由业务方或应用监控确认连接、读写和关键交易正常。

闭环留痕:记录结果、异常、回退动作和后续改进项。

第2章 实施规划与前置检查

2.1 信息收集

正式接入前先建立资源清单。资源清单既是配置输入,也是后续告警归属、权限分配和故障排查的依据。生产、测试、开发环境应使用明确标签,避免同名实例导致误操作。

类别 必须收集的信息 检查要点
DEM平台 访问地址、版本、仓库容量、管理员与审计角色 确认HTTPS、时间同步、备份与访问来源限制
主机 IP、操作系统、主机名、时区、CPU、内存、磁盘 确认主机名唯一、时间一致、采集端口可达
数据库 实例名、监听端口、版本、字符集、运行账号 确认账号权限、监听地址、实例归属
dmagent 安装目录、运行账号、通信端口、文件传输端口 确认目录权限、agent.ini、服务自启动
业务 系统名称、负责人、维护窗口、告警联系人 确认告警分派、变更审批和升级路径
备份 备份目录、保留周期、介质容量、恢复目标 确认目录可写、空间、跨主机可见性和恢复演练

2.2 网络与端口

网络策略应以实际部署架构和agent.ini为准。不要根据截图中的端口直接开通。至少需要验证浏览器到DEM服务端、DEM服务端到仓库数据库、DEM服务端到dmagent、dmagent到被监控数据库等链路。若使用文件分发、集群部署或批量SSH,还要检查对应的文件传输与远程登录通道。

# 在源端验证目标端口,命令按环境选择 nc -vz <目标IP> <目标端口> telnet <目标IP> <目标端口> curl -kI https://<DEM服务端>:<HTTPS端口>/ ss -lntp | grep '<端口>'

检查|网络连通只表示TCP链路可建立,不代表认证、协议或权限正确。端口通过后仍需执行DEM中的“连接测试”,并观察至少两个采集周期。

2.3 账号与权限

平台账号按角色分离:平台管理员负责对象与权限,运维人员负责监控与处置,审计人员负责查看记录。

数据库监控账号仅授予读取必要动态视图和指标的权限;需要启停、备份或DDL时,再为对应任务配置受控权限。

dmagent运行账号应具备读取主机指标、访问数据库安装目录和执行授权命令的权限,不应默认使用root长期运行。

集群部署或注册系统服务可能需要root权限,应在安装阶段临时使用并保留审计记录。

口令不得写入知识库、脚本明文或截图。优先使用平台的凭据管理能力,并设置轮换周期。

2.4 时间同步与命名

主机、DEM服务端、仓库数据库和数据库服务器的时间偏差会导致采集点错位、告警恢复延迟、任务记录难以对齐,甚至出现主机状态“未知”。接入前应确认NTP或chrony状态,且时区配置一致。

timedatectl status chronyc tracking date '+%F %T %z'

建议采用“环境-系统-节点-角色”的命名方式,例如&lt;生产>-&lt;订单>-&lt;节点01>-&lt;主库>。名称应可唯一定位对象,但不应包含密码、真实客户名称或其他不必要的敏感信息。

2.5 上线前检查清单

检查项 通过标准 未通过处理
版本兼容 DEM、数据库、dmagent处于支持组合 查阅当前版本手册与补丁说明
主机时间 时区一致且时间偏差在组织标准内 修复NTP或chrony后再接入
网络 所需链路双向或单向按架构可达 修正路由、防火墙或安全组
账号 连接测试成功且权限符合最小化原则 补授权或更换专用账号
容量 仓库、日志、备份目录空间满足保留策略 扩容、调整保留或迁移目录
审批 生产操作具备变更单、窗口和回退方案 暂停实施,补齐审批

第3章dmagent部署与主机接入

3.1 dmagent的作用

dmagent是DEM与被监控主机之间的执行与采集组件。主机CPU、内存、网络、磁盘I/O、文件系统和进程等数据主要依赖dmagent上报;远程启停、自动拉起、文件传输和部分集群部署能力也依赖它。dmagent未运行或端口不可达时,主机可能显示离线或未知,相关运维动作也会失败。

3.2 启动前检查

1、确认安装包与DEM版本匹配,并核对&lt;DMAGENT_HOME>目录归属。

2、检查agent.ini中的服务端地址、通信端口、文件传输端口和节点标识。

3、确认运行账号对安装目录、日志目录和需要管理的数据库目录具有必要权限。

4、确认主机时间同步正常,防火墙允许所需链路。

5、若计划注册系统服务,准备临时root权限和回退步骤。

3.3 前台或脚本方式启动

在测试环境或排查阶段,可以直接使用start.sh启动。该方式便于快速观察日志,但需要额外考虑会话退出后的进程保活。正式环境更适合注册为系统服务。

cd <DMAGENT_HOME> ./start.sh <DMAGENT_HOME>/agent.ini ps -ef | grep -v grep | grep dmagent ss -lntp | egrep ':<代理通信端口>|:<文件传输端口>'

3.4 注册并启动系统服务

service.sh可用于安装、启动或重启dmagent服务。安装系统服务通常需要root权限,后续日常运行可使用指定服务账号。实际服务名称以脚本安装结果为准。

cd <DMAGENT_HOME> ./service.sh install systemctl daemon-reload ./service.sh start systemctl enable DmAgentService.service systemctl status DmAgentService.service --no-pager -l

服务状态应显示active(running),并且dmagent所需端口处于监听状态。若服务名不同,应使用安装脚本输出的真实名称,不要机械复制示例。

image.png
图1 主机AAAA上的dmagent服务启动并处于运行状态

3.5 在DEM中添加主机

菜单通常位于“监控→主机→添加主机”。填写主机地址、dmagent通信参数和认证信息后先执行连接测试,再保存。主机首次接入后不要立即以单个采集点判断成功,应等待至少两个采集周期。

1、进入“监控→主机”,选择“添加主机”。

2、填写主机名称、&lt;主机A_IP>、代理通信端口和必要认证信息。

3、执行“连接测试”,确认返回成功。

4、保存配置并进入主机详情页。

5、连续观察CPU、内存、Swap、磁盘、网络和文件系统数据至少两个采集周期。

6、检查主机状态不再显示未知或离线,并确认最近采集时间持续更新。

image.png

图2 DEM已识别主机AAAA并持续采集负载信息

如果需要接入第二台主机,重复相同步骤并使用唯一节点名称。完成后应比较两个节点的采集时间和资源曲线,确保不是仅保存了静态配置。

image.png

图3 主机BBBB上的dmagent服务启动并处于运行状态

3.6 成功判定

层次 判定标准 建议观察
进程 dmagent进程持续存在且无频繁重启 systemctl状态、进程启动时间
端口 配置的通信或传输端口正确监听 ss或netstat输出
连接 DEM连接测试成功 连接测试结果与服务端日志
采集 最近采集时间持续更新 至少两个采集周期
指标 CPU、内存、磁盘、网络等曲线有合理数据 无长期固定值、空值或异常跳变

3.7 常见故障

现象 优先原因 处理建议
主机状态未知 时间不同步、dmagent停止、网络中断、配置错误 按时间→进程→端口→网络→agent.ini顺序检查
连接测试失败 地址或端口错误、防火墙阻断、服务未监听 在DEM服务端验证目标端口并查看dmagent日志
有状态无指标 采集权限不足、系统命令不可用、采集周期未到 等待两个周期后检查账号权限与日志
服务反复重启 端口冲突、配置错误、目录权限或资源不足 查看journalctl和dmagent日志,修复后再启动
自启动未生效 服务未enable或单元文件未刷新 daemon-reload后enable并重启主机验证

第4章 数据库接入与监控基线

4.1 接入前准备

数据库接入应在对应主机已经稳定采集之后进行。这样可以同时观察主机层与数据库层指标,并在告警时判断问题位于网络、主机、进程还是数据库内部。准备数据库地址、监听端口、实例名、监控账号和密码,确认监听正常且监控账号具备读取必要动态视图的权限。

# 主机侧检查监听 ss -lntp | grep ':<数据库端口>' # 数据库内检查实例状态 SELECT INSTANCE_NAME, STATUS$ FROM V$INSTANCE;

4.2 添加数据库监控

菜单通常位于“监控→数据库→添加数据库”。建议将数据库对象绑定到已接入的主机,便于DEM关联展示主机负载、数据库状态和进程信息。

1、进入“监控→数据库”,选择“添加数据库”。

2、填写对象名称、&lt;主机A_IP>、&lt;数据库端口>、数据库类型和版本信息。

3、选择专用监控账号并填写认证信息,避免在名称或备注中记录口令。

4、执行连接测试,确认认证与网络均正常。

5、保存后进入数据库详情页,检查实例状态、会话、表空间、归档和性能指标。

6、等待至少两个采集周期,确认最近采集时间持续更新。

image.png

图4 DEM已接入并管理AAAA_DMSERVER数据库

多节点环境应逐一接入并校验。不要因为其中一个节点接入成功就批量假定其他节点配置正确,尤其要核对IP、端口、实例名和主备角色。

image.png

图5 DEM已接入并管理AAAA与BBBB节点数据库

4.3 建立监控基线

告警阈值不能只使用通用默认值。建议先采集一个完整业务周期,区分工作日、批处理窗口和低峰时段,再建立符合本系统的基线。对于刚上线的系统,可先使用较宽阈值观察趋势,待数据稳定后逐步收紧。

监控域 重点指标 解读要点
主机资源 CPU、内存、Swap、磁盘I/O、文件系统、网络 关注持续高负载、抖动、队列和空间增长趋势
实例状态 运行状态、监听、启动时间、角色 状态变化应与变更记录一致
连接与会话 当前会话、活动会话、连接增长、长事务 结合连接池上限和业务峰值判断
存储 表空间使用率、数据文件、归档空间 同时关注百分比和剩余绝对容量
性能 慢SQL、锁等待、吞吐、缓存与I/O 用趋势和业务时段对比,避免单点误判
可恢复性 最近备份、备份状态、归档连续性 成功任务不等于可恢复,必须定期校验与演练

4.4 监控页面的使用方法

先看对象总览:确认状态、角色、版本、最近采集时间是否可信。

再看时间范围:突发故障使用分钟级窗口,容量趋势使用天或周级窗口。

对齐主机与数据库曲线:CPU上升是否伴随活动会话、I/O或特定SQL增加。

检查同集群节点:主库异常时,备库同步延迟、归档和网络是否同步变化。

保存证据:记录时间范围、筛选条件、指标值和关联任务编号,不只保存局部截图。

4.5 接入验收

验收项 通过条件
对象唯一性 主机名、实例名、环境标签可唯一定位,不与其他环境混淆
连接与采集 连接测试成功,连续两个采集周期有数据
状态一致 DEM状态与数据库查询、服务状态一致
指标完整 主机、实例、会话、表空间、归档、备份等核心页面可查看
权限可控 监控账号为专用账号,权限和口令保管符合组织要求
告警归属 对象已关联负责人、通知策略和升级路径

第5章 告警配置与处置闭环

5.1 告警设计原则

有效告警应当具备明确对象、可执行含义、合理阈值、持续时间、等级、接收人和恢复条件。只配置“超过阈值就报警”容易造成瞬时抖动和告警风暴;只看百分比也可能忽略小容量设备的绝对剩余空间。

要素 建议
对象 明确到主机、数据库、进程、表空间或自定义SQL对象
指标 选择能直接反映风险且可执行处置的指标
阈值 结合历史基线、容量和业务峰值设置
持续时间 过滤短暂尖峰,但不能掩盖真正故障
等级 严重、一般、轻微应对应不同响应时限
通知 绑定值班人、系统负责人和升级路径
恢复 恢复阈值与触发阈值保持适当回差,防止反复抖动

5.2 连接失败告警示例

连接失败告警用于发现DEM无法访问数据库的情况。该告警不等同于数据库一定宕机,还可能由网络、防火墙、监听、服务、认证或资源耗尽引起。

1、在告警配置中选择数据库对象和连接状态类指标。

2、设置告警等级、触发条件、持续时间和接收人。

3、在非生产或已获批窗口中验证规则,避免直接制造生产故障。

4、确认告警页面生成记录,通知链路能够送达。

5、恢复连接后继续观察,确认系统自动生成恢复状态或关闭记录。

image.png

图6 数据库连接失败后生成告警记录

image.png

图7 连接恢复后告警进入恢复或清除状态

5.3 标准处置顺序

连接类告警建议按“网络→端口→服务→认证→资源→数据库内部”的顺序排查。该顺序从外到内,能够减少无效登录和误启停。

1、网络:从DEM服务端或dmagent所在主机验证目标IP可达和路由正确。

2、端口:确认数据库监听端口处于LISTEN,防火墙没有新增拦截。

3、服务:检查数据库服务与进程是否运行,启动时间是否发生变化。

4、认证:确认账号未锁定、口令未过期、权限未被回收。

5、资源:检查CPU、内存、Swap、磁盘空间、文件句柄和连接上限。

6、内部:查看数据库日志、归档、恢复状态、锁与异常会话。

7、验证:修复后等待下一个采集周期,确认告警恢复并执行应用侧验证。

5.4 告警闭环记录

字段 记录内容
告警标识 告警编号、对象、指标、首次与最后发生时间
影响 受影响系统、功能、用户范围和业务时段
诊断 网络、端口、服务、认证、资源和数据库日志证据
处置 执行命令、任务编号、变更单和操作人
恢复 技术状态、采集恢复、告警恢复、业务验证
复盘 根因、预防措施、阈值调整和责任人

不要过早关闭|告警页面消失或恢复只代表当前指标回到正常范围。涉及数据库连接、主备切换或存储空间的事件,还必须完成应用验证和持续观察。

第6章 进程监控与自动拉起

6.1 适用场景

进程监控用于识别数据库服务、监听、代理或其他关键进程的运行状态。DEM可展示进程类型、连接信息、运行时长、启动命令、告警和实时负载;在完成权限与风险评估后,还可配置自动拉起。自动拉起适合启动逻辑稳定、依赖关系清晰、重复启动风险可控的进程,不适合需要人工确认数据一致性或可能发生脑裂的角色进程。

6.2 添加进程监控

1、进入“监控→进程”,选择添加或配置进程。

2、选择所属主机,填写进程名称、匹配方式、进程类型和显示标签。

3、配置启动命令、运行用户、工作目录和必要环境变量。

4、使用“测试”确认DEM能够识别现有进程,并且匹配条件不会命中多个无关进程。

5、保存后观察运行状态、启动时间、CPU和内存等实时负载。

6、如需告警,配置停止、资源异常或运行时长等规则并验证通知。

image.png

图8 进程监控已识别AAAA_DMSERVER运行状态

6.3 自动拉起配置

自动拉起前必须验证启动命令能够在无交互条件下执行,所用账号具备权限,环境变量完整,并且重复执行不会产生多个实例。建议先在测试环境模拟停止,再观察DEM识别、拉起和恢复告警的完整链路。

1、确认该进程允许自动恢复,并完成业务负责人审批。

2、在进程配置中填写经过验证的启动命令和运行用户。

3、设置合理的检测周期、确认次数和拉起次数上限,避免无限循环。

4、配置拉起失败告警和人工升级路径。

5、在维护窗口中停止目标进程,确认DEM先识别停止,再执行拉起。

6、检查新进程PID、启动时间、端口、数据库状态和应用连接。

image.png

图9 自动拉起机制恢复数据库进程后的状态

适用限制|主备集群的主库、仲裁或监视器进程不应仅根据“进程不存在”盲目自动拉起。必须先确认角色、同步状态和故障隔离,防止双主或脑裂。

6.4 成功判定与防抖

检查项 成功标准 防抖建议
进程识别 匹配到唯一目标进程 使用完整路径、端口或参数组合,避免只匹配短名称
启动命令 无交互执行且返回码正确 固定工作目录和环境变量
服务状态 进程、端口、实例状态一致 拉起后等待健康检查,不只看PID
次数控制 失败后停止继续拉起并告警 设置最大次数和冷却时间
审计 每次拉起均有任务与日志记录 关联事件编号和变更单

6.5 常见问题

识别不到进程:检查匹配条件、运行用户、dmagent权限和进程命令行是否发生变化。

识别多个进程:增加安装路径、端口或配置文件参数,缩小匹配范围。

拉起失败:以配置的运行账号手工执行命令,检查环境变量、目录权限和日志。

拉起后仍告警:检查健康状态、监听端口和采集周期,避免只确认进程存在。

频繁拉起:立即停用自动拉起,保留日志并排查进程自身故障或资源不足。

第7章 在线巡检与运行检查

7.1 巡检目标

在线巡检通过模板对多个对象执行一致性检查,并输出可追踪报告。巡检报告通常包含总体概览、数据库维度、检查项维度和dmini参数等内容,检查范围可覆盖健康状态、主机资源、数据库状态、性能、表空间、归档、备份、会话、对象和运行信息。

巡检不是故障发生后的临时查看,而是定期识别趋势、配置漂移和潜在风险的制度化手段。建议将日常巡检、变更前巡检、变更后巡检和专项巡检使用不同模板,避免同一模板既过度冗长又遗漏关键项。

7.2 创建巡检任务

1、进入在线巡检模块,选择新建巡检任务。

2、选择目标数据库或集群,核对环境与业务归属。

3、选择巡检模板;生产环境优先使用经过评审的标准模板。

4、设置执行时间和通知对象。高负载检查应避开业务峰值。

5、执行任务并等待报告生成,记录任务编号。

6、按严重程度、对象和建议分类处理问题,不只查看总体健康分。

image.png

图10 在线巡检报告展示数据库健康结果与检查项

7.3 报告解读

检查域 重点问题 建议动作
健康与状态 实例、服务、角色、启动时间异常 对照变更记录与服务状态
主机资源 持续高CPU、内存压力、Swap、磁盘队列 结合业务时段与历史趋势分析
表空间 使用率高、剩余容量不足、增长异常 评估增长速度并制定扩容或清理计划
归档 归档失败、空间不足、连续性异常 检查归档目标、磁盘和主备传输
备份 缺少近期成功备份或校验 补做备份并执行备份集检查
会话与锁 异常连接增长、长事务、阻塞链 定位来源SQL并评估终止风险
对象与参数 失效对象、统计信息陈旧、参数漂移 在评审后修复并记录变更

7.4 查看当前会话

会话页面用于判断连接规模、活动状态、来源、登录用户和持续时间。出现连接数增长时,应先区分连接池正常扩容、批处理、长事务和连接泄漏,再决定是否终止会话。终止会话可能触发事务回滚并放大I/O,必须先评估。

image.png

图11 数据库当前会话列表及连接状态

优先筛选活动时间长、事务持续时间长或阻塞其他会话的连接。

核对客户端地址、应用账号和模块标签,定位真实来源。

保存会话标识、SQL和时间证据后再联系应用负责人。

必须终止时,先确认回滚规模和业务影响,并在窗口内执行。

7.5 检查表空间

表空间检查不能只看使用率。需要同时关注总容量、已用容量、剩余绝对容量、自动扩展配置、底层文件系统空间和增长速度。使用率较高但增长缓慢的表空间,风险可能低于使用率中等但每日快速增长的表空间。

image.png

图12 表空间使用情况与容量分布

信号 含义 处理
使用率持续上升 业务数据或临时数据稳定增长 评估增长率、保留策略和扩容时间
短时突增 批量导入、临时排序、异常SQL 定位任务和SQL,确认是否会自动释放
文件系统空间不足 即使数据文件可扩展也可能失败 优先扩展或清理底层存储
单文件接近上限 表空间总量仍有余量但单文件受限 新增数据文件或调整扩展策略

7.6 巡检闭环

1、将问题按严重、一般、建议三类分级。

2、为每个问题指定责任人、完成时间和验证标准。

3、涉及参数、索引、扩容或清理的事项走变更流程。

4、修复后重新执行相同模板,保留前后报告。

5、将重复问题转化为告警规则、自动化检查或容量计划。

第8章 批量运维与远程启停

8.1 批量任务的适用范围

DEM的批量运维能力可面向多个对象执行SQL、SCRIPT或SSH任务,常用于统一状态检查、配置核对和窗口内的受控操作。批量能力提高效率,也放大配置错误的影响,因此目标选择、并发度、超时、失败策略和回滚必须明确。

先小范围验证|任何批量任务都应先对单个非关键对象验证命令、权限、返回码和输出解析,再扩大到同一批次。目标列表必须在提交前二次核对。

8.2 批量检查数据库状态

菜单通常位于“运维→批量”。选择SQL类型后添加AAAA、BBBB等目标数据库,执行实例状态查询,并比较返回结果。

SELECT INSTANCE_NAME, STATUS$ FROM V$INSTANCE;

1、新建批量任务并选择SQL任务类型。

2、选择目标数据库,逐一核对实例名、IP、端口和环境标签。

3、输入只读状态查询,设置合理超时。

4、先对单个目标试运行,确认返回列和权限。

5、扩大目标范围并执行,保存任务编号与结果。

6、对失败节点单独重试,不要反复对全部节点重复执行。

image.png

图13 批量查询AAAA与BBBB数据库运行状态

8.3 远程启动与停止

远程启停应视为生产高风险操作。执行前必须确认实例、端口、主机、主备角色、业务窗口和当前连接。停止前检查长事务、备份、归档、迁移和批处理任务;启动后检查进程、监听、实例状态、DEM采集和应用连接。

1、确认变更审批、维护窗口、目标实例和回退方案。

2、检查当前角色、会话、长事务、备份、迁移与主备同步状态。

3、进入数据库启停或批量运维页面,只勾选目标对象。

4、执行停止并等待任务结束,确认进程与监听按预期退出。

5、执行启动,确认进程、监听端口和实例状态正常。

6、等待DEM下一个采集周期,确认告警恢复和指标更新。

7、执行应用连接与关键交易验证,记录停机和恢复时间。

image.png

图14 通过DEM对BBBB数据库执行远程启停

8.4 启停验证矩阵

阶段 数据库侧 主机侧 DEM侧 业务侧
停止前 角色、会话、事务、任务 资源、磁盘、进程 告警与采集正常 窗口已确认
停止后 无法建立新连接或处于预期状态 进程与端口退出 状态在采集后更新 流量已切走
启动后 实例OPEN且角色正确 进程稳定、端口监听 指标持续更新、告警恢复 连接与交易正常

8.5 失败处理

1、任务无响应:先查看任务状态和主机负载,不要重复点击导致并发启停。

2、停止失败:检查当前会话、权限、服务管理方式和数据库日志。

3、启动失败:检查目录权限、参数文件、端口占用、磁盘空间和上次异常退出。

4、DEM显示与实际不一致:等待采集周期,并使用系统服务、进程、端口和数据库查询交叉验证。

5、应用无法恢复:检查连接池、DNS或VIP、账号状态和主备角色,不要只在DEM中反复重启。

第9章 备份执行与可恢复性验证

9.1 备份原则

备份的目标是可恢复,不是产生一个显示“成功”的任务。备份设计必须同时考虑恢复点目标、恢复时间目标、保留周期、存储隔离、加密、校验和恢复演练。增量备份必须建立在可用的全量备份基础上,并且恢复链所需的备份集与归档完整可用。

9.2 执行前检查

检查项 要求
备份策略 明确全量、增量、归档、保留周期和异地副本
目录 &lt;备份目录>存在、可写、空间充足且不与数据文件同故障域
账号 使用授权数据库账号或安装用户,权限满足备份要求
资源 评估CPU、I/O、网络和业务峰值,必要时限速或错峰
并发任务 确认没有冲突的备份、恢复、迁移或维护任务
恢复链 增量备份能够定位对应全量备份和必要归档

9.3 全量与增量备份示例

可以通过DEM的备份任务、SQL窗口或受控的远程执行方式发起备份。以下语句仅展示命令结构,目录必须替换为经审批的实际路径。

-- 全量备份 BACKUP DATABASE FULL BACKUPSET '<全量备份集目录>'; -- 增量备份,需存在可用全量备份 BACKUP DATABASE INCREMENT WITH BACKUPDIR '<全量备份父目录>' BACKUPSET '<增量备份集目录>';

1、确认备份目录和保留策略,记录当前可用空间。

2、选择目标BBBB数据库并核对实例角色。

3、先执行全量备份或确认基线全量备份可用。

4、执行增量备份,观察任务日志和返回状态。

5、检查备份集目录、文件数量、大小和修改时间。

6、使用DMRMAN执行备份集校验,并将结果纳入任务记录。

image.png

图15 通过DEM远程执行BBBB数据库增量备份

9.4 备份集校验

任务成功后,应通过DMRMAN的CHECK BACKUPSET验证备份集结构和可读性。校验不等于完整恢复演练,但能提前发现路径、介质或备份集损坏问题。

dmrman CHECK BACKUPSET '<全量备份集目录>'; CHECK BACKUPSET '<增量备份集目录>';

image.png

图16 全量与增量备份集检查均返回成功

9.5 恢复演练

恢复演练应在隔离环境中定期执行,不能只停留在备份集校验。演练目标包括确认介质可访问、恢复链完整、恢复时长满足目标、数据库能够打开、对象与关键数据可验证,并形成可复用的恢复步骤。

1、选择与生产隔离、容量足够的恢复环境。

2、获取全量、增量和所需归档,核对时间点与校验结果。

3、按正式恢复方案执行还原与恢复,记录每个阶段耗时。

4、启动数据库并检查实例状态、对象有效性和关键数据。

5、由业务或测试方执行抽样验证,确认恢复点满足要求。

6、销毁或妥善保护演练数据,更新恢复手册和实际RTO。

9.6 常见失败

现象 可能原因 处理
目录不可写 权限、挂载或安全策略错误 以实际执行账号验证写权限并检查挂载
空间不足 保留策略失效或估算不足 停止任务,扩容或按策略清理,禁止随意删除恢复链
增量找不到基线 BACKUPDIR错误、全量被移动或清理 恢复基线目录或重新执行全量备份
校验失败 文件缺失、损坏、复制不完整 保留证据,切换副本或重新备份
备份成功但恢复失败 缺少归档、参数或版本不匹配 通过完整演练修正恢复清单

第10章 自定义SQL监控

10.1 适用场景

当内置指标不能直接反映业务或数据库特定状态时,可以配置自定义SQL监控,例如会话数量、特定对象状态、任务积压、逻辑健康值或业务对账结果。自定义SQL应优先使用只读、低成本、返回结构稳定的语句,并明确执行频率和超时。

10.2 设计要求

要求 说明
只读 禁止在监控SQL中执行DML、DDL、提交或调用有副作用的过程
轻量 避免全表扫描、大排序、跨库查询和长时间锁等待
稳定 返回列名、类型和行数应稳定,便于规则解析
最小权限 使用专用监控账号,仅授予所需对象查询权限
可解释 每个阈值都要能说明业务含义和处置动作
可验证 上线前在目标版本与数据规模上测量执行时间

10.3 创建自定义SQL

进入自定义SQL配置页面,新建SQL并选择应用对象。部分版本只使用最后一条SQL的结果触发或展示告警,因此一个监控项建议只保留一个明确结果集,并在当前版本验证实际行为。

SELECT COUNT(*) AS SESSION_COUNT FROM V$SESSIONS;

1、新建自定义SQL,填写名称、用途和责任人。

2、选择目标数据库或对象范围。

3、输入只读SQL,执行测试并确认返回列和耗时。

4、设置采集周期、超时和失败处理,避免高频执行。

5、保存并观察多个采集周期,确认历史数据连续。

image.png

图17 自定义SQL监控返回当前会话数量

10.4 配置告警规则

为SESSION_COUNT等结果配置阈值时,应结合连接池上限、历史峰值和业务批处理窗口。建议设置触发持续时间和恢复回差,例如达到阈值持续多个周期才报警,回落到较低阈值才恢复。

1、选择自定义SQL输出列作为告警指标。

2、配置严重、一般、轻微阈值及持续时间。

3、配置恢复条件和通知对象。

4、在安全环境中验证触发与恢复流程。

5、确认告警内容包含对象、当前值、阈值和处置说明。

image.png

图18 基于自定义SQL结果生成会话数量告警

10.5 发布前审核

用执行计划或实际耗时证明SQL对生产影响可接受。

确认没有敏感字段被写入监控历史或通知消息。

确认空结果、NULL、超时和连接失败时的行为。

确认目标对象变化后不会误报,例如新增实例或切换角色。

为每个告警绑定明确负责人和处置手册。

第11章 数据守护集群部署与切换

11.1 适用范围与前置条件

DEM可用于部署和监控实时主备等数据守护集群。该类操作涉及数据库角色、归档传输、监视器和应用访问路径,风险显著高于单实例接入。正式部署前必须确认版本与授权、主备主机资源、网络时延、端口、存储、时间同步、备份基线、dmagent状态以及业务切换方案。

高可用不等于自动安全|自动故障切换必须建立在可靠的故障检测、仲裁和网络隔离基础上。任何无法确认主库状态的场景,都不应通过简单拉起或强制切换恢复服务。

11.2 部署前检查

检查内容
节点 AAAA、BBBB主机资源、操作系统、时间、主机名和dmagent状态
数据库 版本、实例参数、数据一致性基线、数据库端口和安装目录
网络 主备复制、监视器、DEM与dmagent所需链路稳定可达
存储 数据、归档、日志、备份空间充足,目录权限一致
安全 部署账号、服务账号和数据库账号最小授权,口令受控
业务 VIP或连接串、切换窗口、回切条件和应用验证脚本

11.3 在DEM中部署实时主备

1、确认AAAA与BBBB主机均已接入DEM,dmagent稳定运行。

2、进入集群部署或数据守护部署页面,选择实时主备类型。

3、添加主库、备库和监视器节点,填写各自地址、端口、目录与运行账号。

4、核对主库与备库角色规划,确认不会覆盖已有业务数据。

5、执行配置检查,处理网络、权限、目录和参数问题。

6、启动部署任务并观察每一步日志;任一步失败时先查根因,不要直接重复整批部署。

7、部署完成后使用监视器与DEM交叉验证角色、同步状态和归档传输。

image.png

图19 在AAAA与BBBB节点间部署实时主备环境

11.4 通过监视器验证

监视器输出用于确认各节点角色、实例状态、归档类型和同步状态。正常实时主备环境应能够明确识别一个主库和一个实时备库,节点处于可用状态,实时归档链路有效。字段名称随版本可能不同,但必须能够回答“谁是主库、谁是备库、是否OPEN、是否同步、是否存在积压”。

image.png

图20 dmonitor显示EP01为主库、EP02为实时备库

验证问题 期望结果
角色是否唯一 只有一个PRIMARY,其他节点为预期备库角色
实例是否可用 主库和备库处于预期OPEN或有效状态
归档是否有效 实时归档类型正确,状态有效,无持续积压
监视器是否在线 监视器能够获取最新状态并持续刷新
应用访问是否正确 连接目标、VIP或服务名指向当前主库

11.5 在DEM中纳管集群

部署完成后,在集群监控页面确认组、节点、角色、状态和同步指标。集群对象应与单实例对象建立清晰关联,并配置复制延迟、节点离线、角色变化、归档异常和监视器异常等告警。

image.png

图21 DEM统一展示数据守护集群节点与运行状态

11.6 计划内主备切换

计划内切换用于维护主库、验证容灾或迁移负载。切换前必须确认主备同步、备库可接管、应用连接方式支持切换,并停止或控制可能影响一致性的批处理。

1、发起变更并确认业务窗口、切换目标、回切条件和责任人。

2、检查主备角色、实时同步、归档积压、备库状态和网络稳定性。

3、确认备库资源、监听、账号和应用连接配置能够承接业务。

4、在DEM中选择正确集群和目标节点,执行计划内切换。

5、观察任务日志和监视器输出,确认新主库角色为PRIMARY且旧主库转为预期备库。

6、验证新主库读写、应用重连、关键交易、备库同步和告警状态。

7、持续观察一个业务周期或组织规定窗口,再关闭变更。

image.png

图22 DEM完成数据守护集群主备角色切换

11.7 切换成功判定

层次 必须满足的条件
角色 新主库显示PRIMARY,旧主库处于预期备库角色,无双主
数据库 新主库可读写,实例状态正常,日志无持续异常
复制 旧主库作为备库重新建立实时同步,延迟回到基线
网络 VIP、服务名或连接串正确指向新主库
应用 连接池恢复,关键交易、查询和写入通过
监控 DEM与监视器状态一致,告警恢复且采集持续

11.8 异常处理原则

角色不明确:停止继续操作,隔离可能的旧主库写入路径,使用监视器和日志确认。

同步延迟大:不要立即切换,先分析网络、归档和备库应用速度。

切换后应用不通:优先检查VIP、DNS、连接串和连接池缓存,不要盲目回切。

旧主库无法转备:保留现场,评估重加入或重建备库,避免直接强制启动。

DEM与监视器不一致:以数据库和监视器实时状态交叉验证,并检查DEM采集延迟。

第12章SQL审核、调优与统计信息

12.1 SQL审核

SQL审核用于在执行前识别不符合规则的SQL,例如缺少过滤条件的更新或删除、可能影响大量数据的语句、对象命名问题、全表访问风险等。审核结果是风险提示,不是绝对结论;是否执行仍需结合数据量、执行计划、事务范围、回滚能力和维护窗口评审。

1、进入SQL审核模块,新建审核任务。

2、选择目标数据库或规则集,粘贴待审核SQL。

3、确认SQL中不包含口令、令牌或不必要的敏感数据。

4、执行审核并按严重程度查看命中规则、位置和建议。

5、修改SQL后重新审核,保留前后版本与审批记录。

6、高风险SQL在执行前还应进行执行计划、影响行数和回滚评估。

image.png

图23 SQL审核识别潜在风险语句并给出规则提示

12.2 SQL调优

SQL调优可结合统计信息、执行计划和索引建议分析语句。建议先在只读分析模式下获取建议,再由数据库管理员判断是否适合实际数据分布和业务负载。自动建议不应未经评审直接应用到生产。

1、选择目标数据库并输入代表性SQL与绑定变量。

2、确认测试环境数据分布与生产具有可比性。

3、执行调优分析,查看统计信息、索引和语句改写建议。

4、比较优化前后的执行计划、逻辑读、物理读、返回行数和耗时。

5、评估新增索引对写入、存储、备份和维护的影响。

6、在变更窗口应用并监控,若收益不符合预期则按方案回退。

image.png

图24 SQL调优模块输出统计信息与索引建议

12.3 索引建议的应用

新增索引应解决明确的访问路径问题。索引过多会增加DML成本、存储占用和统计信息维护压力。应用建议前应检查现有相似索引、列选择性、组合列顺序、覆盖范围和查询频率。

image.png

图25 应用建议索引并重新检查查询效果

评估点 问题
重复性 是否已有前导列相同或可覆盖的索引
选择性 过滤列是否能够显著缩小数据范围
写入成本 新增索引会给INSERT、UPDATE、DELETE增加多少开销
空间 索引大小、增长速度和表空间是否可承受
稳定性 绑定变量、数据倾斜和统计信息变化是否导致计划波动
回退 能否在影响出现时安全删除或禁用相关索引

12.4 统计信息维护

优化器依赖统计信息估算行数和成本。数据大量装载、删除、分区交换或分布明显变化后,应评估是否需要更新统计信息。不要把“定期全库高频收集”当成通用方案,应根据对象变化、业务窗口和收集成本制定策略。

CALL DBMS_STATS.GATHER_TABLE_STATS('<模式名>','<表名>');

image.png

图26 更新并检查目标对象统计信息

收集前记录现有统计信息时间和关键SQL执行计划。

对大表评估采样、并行度和业务I/O影响。

收集后检查关键SQL计划是否变化,不以“收集成功”作为唯一标准。

若出现性能回退,按既定方案恢复统计信息或执行计划。

12.5 SQL治理闭环

发现:从慢SQL、告警、巡检或业务反馈确定问题语句。

复现:固定SQL文本、绑定变量、数据量、并发和时间范围。

诊断:分析执行计划、统计信息、索引、锁和资源等待。

评审:比较改写、索引、参数和数据模型方案的收益与副作用。

变更:在窗口内实施,保留脚本和回退方案。

验证:比较技术指标和业务指标,持续观察计划稳定性。

第13章 数据生成、迁移与兼容评估

13.1 数据生成

数据生成功能可向数据库或文件生成测试数据,用于功能测试、容量验证和演示。生成规则必须避免复制生产敏感数据;涉及真实结构时,应确认字段含义、约束、关联关系和数据分布,防止生成大量无效或不可清理的数据。

1、明确生成目标、数据量、字段规则和清理方式。

2、选择目标数据库或文件,确认环境为非生产或已获批准。

3、为主键、外键、日期、枚举和关联字段配置有效规则。

4、先生成小批量样本,检查约束、字符集和业务可用性。

5、扩大数据量并监控空间、日志和执行时间。

6、查看任务报告,记录成功、失败和生成行数。

image.png

图27 数据生成任务完成并输出执行报告

13.2 迁移前准备

迁移不是简单复制数据。完整迁移应覆盖范围确认、兼容评估、对象转换、全量迁移、增量同步或停机窗口、校验、切换和回退。源端与目标端的版本、字符集、大小写规则、数据类型、约束、索引、序列、存储过程、权限和时区都可能影响结果。

阶段 主要产出
盘点 数据库规模、对象清单、依赖、数据增长和停机要求
评估 兼容性问题、改造量、不可转换对象和风险等级
设计 迁移方式、并行度、批次、校验、切换和回退方案
演练 真实规模下的耗时、吞吐、问题清单和修复脚本
正式迁移 任务日志、失败重试、全量与增量状态
验证 对象、行数、校验值、权限、性能和业务结果
切换 连接变更、停写窗口、最终增量和业务确认

13.3 DM到DM静态迁移

同构迁移适合版本升级、环境复制或主机迁移。即使源端与目标端均为DM,也要核对版本、字符集、页大小、对象所有者、权限和目标端已有对象。静态迁移通常要求源端在最终一致性窗口内停止写入,或配合增量同步机制完成切换。

1、新建数据库迁移任务,选择DM源端与DM目标端。

2、填写脱敏后的连接配置并执行源、目标连接测试。

3、选择模式和对象,明确表结构、数据、索引、约束和权限范围。

4、设置并行度、批次、失败策略和目标端同名对象处理方式。

5、先执行小范围演练,修复失败对象后再运行正式任务。

6、迁移完成后执行对象数量、行数、关键字段和业务抽样校验。

image.png

图28 DM源库到DM目标库的静态迁移任务

13.4 数据库对象比较

对象比较用于识别源端与目标端在表、列、索引、约束、视图、存储过程等方面的差异。差异报告需要分类处理:预期差异应在方案中说明,非预期差异应在切换前修复或取得豁免。

image.png

图29 DM源库与目标库的数据库对象比较

结构相同不代表数据相同,应另做行数与内容校验。

目标端性能优化产生的索引可能是预期差异,不应机械覆盖。

存储过程和视图要检查编译状态及依赖对象。

权限、同义词和序列当前值容易遗漏,应单独核对。

13.5 MySQL到DM静态迁移

异构迁移需要重点处理数据类型、字符集、大小写、默认值、自增列、时间语义、保留字、函数和SQL方言。建议先执行兼容性评估,再选择对象与数据迁移,最后处理业务SQL和存储逻辑。

1、盘点MySQL版本、字符集、排序规则、对象数量和数据量。

2、执行兼容性评估并按阻断、需改造、提示分类问题。

3、定义MySQL到DM的数据类型、默认值和函数映射。

4、创建静态迁移任务,测试源端与目标端连接。

5、先迁移结构并处理失败对象,再迁移数据、索引和约束。

6、执行数据校验、SQL转换、性能测试和业务验收。

image.png

图30 MySQL源库到DM目标库的静态迁移任务

13.6 兼容性评估

兼容性评估应尽早进行,并纳入应用代码、数据库对象和运维脚本。报告中的问题需要对应负责人、修复方式和验证用例。对于工具无法静态判断的动态SQL、框架生成SQL和边界数据类型,应通过运行时测试补充。

image.png

图31 MySQL到DM迁移前的兼容性评估结果

问题类型 示例 验证方法
数据类型 UNSIGNED、ENUM、JSON、时间精度 边界值、NULL、默认值和排序测试
SQL语法 LIMIT、反引号、函数、分页 转换后语法检查与结果集对比
大小写 表名、列名、别名和引用方式 在目标环境编译并执行应用用例
自增与序列 AUTO_INCREMENT与序列映射 并发插入、回滚和重启后验证
存储逻辑 过程、触发器、事件和异常处理 编译、单元测试和事务验证

13.7 SQL转换

SQL转换用于将MySQL方言转换为DM可执行或更接近DM语法的语句。转换结果必须经过人工审查和测试,尤其要关注NULL语义、隐式类型转换、日期函数、字符串拼接、分页、锁语义和事务边界。

image.png

图32 MySQL_SQL转换为DM_SQL的结果

1、输入或导入源SQL,避免包含真实口令与敏感字面量。

2、执行转换并逐条查看无法转换或需要人工确认的位置。

3、在隔离目标库中执行语法验证。

4、使用相同输入数据对比源端与目标端结果集。

5、比较执行计划与性能,必要时按DM特性重写。

6、将验证通过的SQL纳入应用版本和回归测试。

13.8 迁移验收矩阵

维度 验收内容
对象 表、列、索引、约束、视图、过程、触发器、序列和权限完整
数据 行数、聚合值、校验值、NULL、字符和边界值一致
功能 关键业务流程、事务、并发、批处理和报表通过
性能 关键SQL与批量任务达到目标,资源使用可接受
运维 备份、监控、告警、巡检、账号和审计已接入
切换 停写、最终同步、连接变更、验证与回退路径明确

附录 常用命令与SQL速查

1 dmagent与系统检查

cd <DMAGENT_HOME> ./start.sh <DMAGENT_HOME>/agent.ini ./service.sh start ./service.sh restart systemctl status DmAgentService.service --no-pager -l journalctl -u DmAgentService.service --since '30 min ago' ps -ef | grep -v grep | grep dmagent ss -lntp | egrep ':<代理通信端口>|:<文件传输端口>|:<数据库端口>' timedatectl status

2 数据库检查

SELECT INSTANCE_NAME, STATUS$ FROM V$INSTANCE; SELECT COUNT(*) AS SESSION_COUNT FROM V$SESSIONS; CALL DBMS_STATS.GATHER_TABLE_STATS('<模式名>','<表名>');

3 备份与校验

BACKUP DATABASE FULL BACKUPSET '<全量备份集目录>'; BACKUP DATABASE INCREMENT WITH BACKUPDIR '<全量备份父目录>' BACKUPSET '<增量备份集目录>'; CHECK BACKUPSET '<全量备份集目录>'; CHECK BACKUPSET '<增量备份集目录>';

使用提醒|以上命令仅作为结构示例。执行前应核对当前版本语法、运行账号、目录、对象和权限,并在非生产或获批窗口中验证。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服