Skip to content

DM 监控指标参考

实例状态指标

1. 实例基本信息

指标名称视图名称指标描述正常范围告警阈值
实例名称V$INSTANCE数据库实例的名称配置值-
实例状态V$INSTANCE实例的运行状态OPENMOUNT/STOP
启动时间V$INSTANCE实例的启动时间--
版本号V$INSTANCE数据库的版本号--
数据库状态V$DATABASE数据库的状态NORMALSUSPENDED/ABNORMAL
归档模式V$DATABASE数据库的归档模式YES/NO-

2. 实例健康状态

指标名称视图名称指标描述正常范围告警阈值
检查点完成状态V$CHECKPOINT检查点是否完成YESNO
日志切换状态V$LOG当前日志组状态CURRENTINACTIVE/ACTIVE
会话总数V$SESSION当前数据库会话总数根据配置> 80% 配置值
活跃会话数V$SESSION当前活跃会话数量根据负载> 70% 会话总数

系统资源指标

1. CPU 使用率

指标名称视图名称指标描述正常范围告警阈值
系统CPU使用率V$SYSLOAD系统CPU总使用率< 70%> 85%
用户CPU使用率V$SYSLOAD用户进程CPU使用率< 60%> 75%
系统CPU使用率V$SYSLOAD系统进程CPU使用率< 20%> 30%
CPU核心数V$SYSTEMINFO系统CPU核心数量--

2. 内存使用情况

指标名称视图名称指标描述正常范围告警阈值
总内存V$MEMORY数据库总内存使用量< 80% 系统内存> 90% 系统内存
数据缓冲区V$MEMORY数据缓冲区使用量< 90% 配置值> 95% 配置值
共享内存V$MEMORY共享内存使用量< 80% 配置值> 90% 配置值
排序区内存V$MEMORY排序区内存使用量< 80% 配置值> 90% 配置值
会话内存V$MEMORY会话内存使用量< 80% 配置值> 90% 配置值

3. 磁盘 I/O 指标

指标名称视图名称指标描述正常范围告警阈值
磁盘读速率V$DISK_IO磁盘读操作速率根据存储性能持续 > 80% 存储带宽
磁盘写速率V$DISK_IO磁盘写操作速率根据存储性能持续 > 80% 存储带宽
I/O 等待时间V$SESSION_WAITI/O 等待事件的等待时间< 100ms> 500ms
读写请求比V$DISK_IO读请求与写请求的比例根据业务类型异常偏离正常比例
数据文件I/OV$FILE_IOSTAT单个数据文件的I/O统计根据文件重要性持续高I/O

性能指标

1. SQL 执行指标

指标名称视图名称指标描述正常范围告警阈值
SQL 执行次数V$SQL_STATSQL 语句的执行次数根据业务量-
SQL 响应时间V$SQL_STATSQL 语句的平均响应时间< 100ms> 500ms
CPU 时间V$SQL_STATSQL 语句消耗的CPU时间< 50ms> 200ms
磁盘读取次数V$SQL_STATSQL 语句的磁盘读取次数< 100> 500
缓冲区命中率V$BUFFERPOOL数据缓冲区命中率> 95%< 90%
慢SQL数量V$LONG_EXEC_SQL慢SQL的数量0> 5

2. 事务指标

指标名称视图名称指标描述正常范围告警阈值
事务总数V$TRX_STAT总事务数量根据业务量-
活跃事务数V$TRX当前活跃事务数量< 100> 500
事务提交率V$TRX_STAT事务提交与回滚的比例> 95%< 80%
事务响应时间V$TRX事务的平均响应时间< 100ms> 500ms
锁等待数量V$LOCK当前锁等待数量0> 10

3. 排序指标

指标名称视图名称指标描述正常范围告警阈值
排序总数V$SORT_STAT排序操作的总数量根据业务量-
内存排序率V$SORT_STAT内存排序占总排序的比例> 90%< 80%
磁盘排序次数V$SORT_STAT磁盘排序的次数< 100/分钟> 500/分钟
排序行数量V$SORT_STAT每次排序的平均行数量根据业务-

存储指标

1. 表空间指标

指标名称视图名称指标描述正常范围告警阈值
表空间使用率V$TABLESPACE表空间的使用百分比< 80%> 90%
表空间总大小V$TABLESPACE表空间的总大小--
表空间可用大小V$TABLESPACE表空间的可用大小> 20% 总大小< 10% 总大小
数据文件数量V$DATAFILE表空间的数据文件数量根据配置> 100
数据文件增长率V$DATAFILE数据文件的增长速率根据业务异常增长

2. 数据文件指标

指标名称视图名称指标描述正常范围告警阈值
数据文件大小V$DATAFILE单个数据文件的大小根据配置> 80% 最大值
数据文件I/OV$FILE_IOSTAT数据文件的I/O速率根据存储持续高I/O
数据文件状态V$DATAFILE数据文件的状态ONLINEOFFLINE/ERROR

3. 日志文件指标

指标名称视图名称指标描述正常范围告警阈值
日志文件大小V$LOGFILE日志文件的大小根据配置< 512MB
日志切换频率V$LOG_HISTORY日志切换的频率< 10次/小时> 30次/小时
归档日志大小V$ARCHIVED_LOG归档日志的大小根据业务异常增长
归档成功率V$ARCH_STATUS归档操作的成功率100%< 100%

会话与连接指标

1. 会话状态指标

指标名称视图名称指标描述正常范围告警阈值
会话总数V$SESSION当前会话总数量根据配置> 80% 配置值
活跃会话数V$SESSION当前活跃会话数量< 70% 会话总数> 85% 会话总数
空闲会话数V$SESSION当前空闲会话数量< 50% 会话总数> 80% 会话总数
会话等待事件V$SESSION_WAIT会话等待的事件类型-长时间等待
会话平均持续时间V$SESSION会话的平均持续时间根据业务> 24小时

2. 连接指标

指标名称视图名称指标描述正常范围告警阈值
连接总数V$SESSION当前数据库连接总数根据配置> 80% 配置值
连接成功率V$SESSION连接请求的成功率100%< 95%
连接拒绝数V$SESSIONS被拒绝的连接请求数0> 10
最大连接数V$DM_INI配置的最大连接数--

等待事件指标

1. 主要等待事件

指标名称视图名称指标描述正常范围告警阈值
等待事件名称V$SESSION_WAIT会话等待的事件名称--
等待事件计数V$SESSION_WAIT等待事件的发生次数根据负载异常增长
平均等待时间V$SESSION_WAIT每次等待的平均时间< 100ms> 500ms
总等待时间V$SESSION_WAIT等待事件的总时间< 1s> 10s
等待会话数V$SESSION_WAIT等待该事件的会话数量0> 5

2. 常见等待事件

等待事件描述可能原因解决方案
db file sequential read单个数据块的顺序读取索引访问、全表扫描优化SQL、添加索引
db file scattered read多个数据块的分散读取全表扫描、大索引扫描优化SQL、调整PGA大小
log file sync日志缓冲区写入磁盘提交频繁、日志IO瓶颈优化提交频率、提高日志IO性能
log file parallel write日志并行写入日志文件IO瓶颈提高日志IO性能、增加日志组
enq: TX - row lock contention行锁等待并发更新同一行数据优化事务设计、减少锁持有时间
buffer busy waits缓冲区忙等待缓冲区竞争激烈调整缓冲区大小、优化热点数据访问
direct path read直接路径读取大表扫描、并行查询优化SQL、调整PGA大小

备份恢复指标

1. 备份指标

指标名称视图名称指标描述正常范围告警阈值
备份成功率V$BACKUPSET备份操作的成功率100%< 100%
备份时间V$BACKUPSET备份操作的持续时间根据数据量异常增长
备份大小V$BACKUPSET备份集的大小根据数据量异常变化
备份类型V$BACKUPSET备份的类型FULL/INCREMENTAL-
备份集数量V$BACKUPSET备份集的数量根据备份策略异常增长

2. 恢复指标

指标名称视图名称指标描述正常范围告警阈值
恢复成功率V$RECOVERY_STATUS恢复操作的成功率100%< 100%
恢复时间V$RECOVERY_STATUS恢复操作的持续时间根据数据量异常增长
归档日志应用率V$RECOVERY_STATUS归档日志应用的速率根据日志大小异常缓慢

安全指标

1. 审计指标

指标名称视图名称指标描述正常范围告警阈值
审计日志数量V$AUDIT_RECORD审计日志的数量根据配置异常增长
失败登录次数V$AUDIT_RECORD失败登录尝试次数0> 5
权限变更次数V$AUDIT_RECORD权限变更操作次数根据管理活动异常增长
敏感操作次数V$AUDIT_RECORD敏感操作的次数根据业务异常增长

2. 用户活动指标

指标名称视图名称指标描述正常范围告警阈值
用户登录次数V$SESSION用户登录的次数根据业务异常增长
特权用户活动V$SESSION特权用户的活动根据管理活动异常频繁
异常访问模式V$SESSION异常的访问模式-检测到异常

监控指标采集方法

1. 使用 SQL 查询采集

sql
-- 采集CPU使用率
SELECT USED_TIME*100/TOTAL_TIME AS CPU_USAGE
FROM V$CPU_USAGE
WHERE CPU_ID = 0;

-- 采集内存使用情况
SELECT * FROM V$MEMORY;

-- 采集表空间使用情况
SELECT T.NAME AS TABLESPACE_NAME,
       ROUND(T.TOTAL_SIZE * P.PAGE_SIZE / 1024 / 1024, 2) AS TOTAL_MB,
       ROUND((T.TOTAL_SIZE - T.FREE_SIZE) * P.PAGE_SIZE / 1024 / 1024, 2) AS USED_MB,
       ROUND(T.FREE_SIZE * P.PAGE_SIZE / 1024 / 1024, 2) AS FREE_MB,
       ROUND((T.TOTAL_SIZE - T.FREE_SIZE) * 100 / T.TOTAL_SIZE, 2) AS USED_PERCENT
FROM V$TABLESPACE T, V$DM_INI P
WHERE P.PARA_NAME = 'PAGE_SIZE';

-- 采集活跃会话数
SELECT COUNT(*) AS ACTIVE_SESSIONS
FROM V$SESSION
WHERE STATE = 'ACTIVE';

2. 使用 DM 监控工具采集

DM数据库提供了专门的监控工具,可以图形化展示各种监控指标:

  • DM 管理工具:提供基本的监控功能
  • DM 性能监控工具:提供全面的性能监控和分析功能
  • DM 日志分析工具:用于分析日志文件中的监控信息

3. 使用第三方监控工具

DM数据库支持与第三方监控工具集成,如:

  • Zabbix
  • Prometheus + Grafana
  • Nagios
  • Datadog

通过JDBC连接或专用插件,可以采集DM数据库的监控指标并进行展示和告警。

监控指标最佳实践

1. 建立监控体系

  • 确定关键监控指标:根据业务需求和系统特点,选择关键监控指标
  • 设置合理的告警阈值:根据系统负载和业务需求,设置合理的告警阈值
  • 建立监控面板:使用监控工具建立直观的监控面板,实时展示关键指标
  • 配置告警通知:配置告警通知机制,及时通知相关人员

2. 定期分析监控数据

  • 定期回顾监控数据:每周或每月回顾监控数据,了解系统运行趋势
  • 分析异常指标:对异常指标进行深入分析,找出根本原因
  • 优化监控策略:根据分析结果,优化监控指标和告警阈值
  • 预测系统容量:根据监控数据,预测系统容量需求,提前进行扩容

3. 结合日志分析

  • 将监控指标与日志分析相结合:监控指标发现异常后,结合日志分析找出具体原因
  • 建立日志关联机制:将监控事件与日志事件关联,便于根因分析
  • 使用日志聚合工具:使用ELK、Splunk等工具聚合和分析日志

版本差异

版本监控指标差异
DM 8.1.1.41 及以上支持基本的监控指标,包括实例状态、系统资源、性能指标等
DM 8.1.1.133 及以上增强了监控指标的丰富性,增加了更多的性能和存储指标
DM 8.1.2.126 及以上支持更细粒度的监控指标,增加了安全和审计相关指标

常见问题(FAQ)

Q1: 如何选择关键监控指标?

A1: 选择关键监控指标应考虑以下因素:

  • 业务需求:根据业务特点选择相关指标
  • 系统特点:根据系统架构和配置选择指标
  • 历史经验:参考历史故障案例,选择相关指标
  • 监控成本:考虑监控指标的采集和存储成本

Q2: 如何设置合理的告警阈值?

A2: 设置告警阈值的方法包括:

  • 基于历史数据:分析历史数据,确定正常范围
  • 基于业务需求:根据业务对性能的要求设置阈值
  • 基于经验值:参考行业最佳实践和经验值
  • 逐步调整:初始设置保守阈值,然后根据实际情况逐步调整

Q3: 如何处理大量的监控数据?

A3: 处理大量监控数据的方法包括:

  • 数据采样:对高频数据进行采样,减少数据量
  • 数据聚合:按时间段聚合数据,减少存储量
  • 数据归档:定期归档历史数据,只保留近期数据
  • 数据压缩:对数据进行压缩,减少存储空间

Q4: 如何关联监控指标和日志?

A4: 关联监控指标和日志的方法包括:

  • 使用统一的时间戳:确保监控指标和日志使用相同的时间戳格式
  • 事件关联:将监控告警事件与日志事件关联
  • 使用分布式追踪:对请求进行全链路追踪,关联各个环节的监控数据

Q5: 如何预测系统容量?

A5: 预测系统容量的方法包括:

  • 趋势分析:分析监控数据的变化趋势,预测未来需求
  • 负载测试:进行负载测试,确定系统极限容量
  • 业务预测:根据业务增长预测,估算未来容量需求
  • 基线比较:与类似系统的基线数据进行比较

Q6: 如何优化监控性能?

A6: 优化监控性能的方法包括:

  • 减少监控频率:降低高频指标的采集频率
  • 减少指标数量:只采集必要的监控指标
  • 优化采集方式:使用高效的采集方式,减少对系统的影响
  • 分布式采集:使用分布式架构采集监控数据
  • 异步处理:使用异步方式处理和存储监控数据