Skip to content

Oracle 核心监控指标清单

监控指标概述

Oracle数据库监控指标是评估数据库健康状态、性能和可用性的重要依据,通过监控这些指标可以及时发现和解决数据库问题,确保数据库的稳定运行。监控指标应该覆盖数据库的各个方面,包括性能、可用性、资源使用和安全等。

监控指标分类

1. 性能指标

性能指标反映数据库的处理能力和响应速度,是监控的重点。

1.1 数据库响应时间

指标名称描述监控方法正常范围19c/21c差异
SQL响应时间单个SQL语句的执行时间AWR报告、V$SQLSTATS< 1秒21c优化SQL执行计划,响应时间更稳定
事务响应时间单个事务的处理时间V$TRANSACTION< 2秒无明显差异
会话响应时间会话的平均响应时间V$SESSION_EVENT< 1秒无明显差异

1.2 吞吐量指标

指标名称描述监控方法正常范围19c/21c差异
SQL执行次数每秒执行的SQL语句数V$SYSSTAT根据业务需求21c支持更高的并发SQL执行
事务处理量每秒处理的事务数V$SYSSTAT根据业务需求无明显差异
数据吞吐量每秒读写的数据量V$SYSSTAT根据业务需求21c优化I/O处理,吞吐量更高

1.3 等待事件

指标名称描述监控方法正常范围19c/21c差异
等待事件占比各种等待事件的占比V$SESSION_WAIT空闲等待 > 50%21c优化等待事件处理
顶级等待事件排名前几的等待事件AWR报告根据等待事件类型无明显差异
锁等待时间锁等待的平均时间V$LOCK< 1秒无明显差异

2. 可用性指标

可用性指标反映数据库的运行状态和可靠性。

2.1 实例状态

指标名称描述监控方法正常范围19c/21c差异
实例状态数据库实例的运行状态V$INSTANCEOPEN无明显差异
实例启动时间实例连续运行时间V$INSTANCE根据业务需求无明显差异
实例重启次数实例重启的次数V$INSTANCE_RESTART0无明显差异

2.2 服务状态

指标名称描述监控方法正常范围19c/21c差异
监听器状态监听器的运行状态lsnrctl statusREADY无明显差异
服务注册状态服务是否成功注册到监听器lsnrctl servicesREADY无明显差异
连接数当前数据库连接数V$SESSION< 最大连接数的80%21c支持更高的并发连接

3. 资源使用指标

资源使用指标反映数据库对系统资源的使用情况。

3.1 CPU使用率

指标名称描述监控方法正常范围19c/21c差异
数据库CPU使用率数据库进程使用的CPU百分比V$SYSSTAT< 80%21c优化CPU使用,效率更高
系统CPU使用率系统整体CPU使用率OS命令(top、vmstat)< 80%无明显差异
会话CPU使用率单个会话的CPU使用率V$SESSION< 5%无明显差异

3.2 内存使用率

指标名称描述监控方法正常范围19c/21c差异
SGA使用率系统全局区(SGA)使用率V$SGASTAT< 90%无明显差异
PGA使用率程序全局区(PGA)使用率V$PGASTAT< 90%21c优化PGA管理
共享池使用率共享池使用率V$SHARED_POOL_RESERVED< 90%无明显差异
缓冲区缓存命中率缓冲区缓存的命中率V$BUFFER_POOL_STATISTICS> 95%无明显差异

3.3 磁盘I/O指标

指标名称描述监控方法正常范围19c/21c差异
磁盘读写速率每秒读写的数据量V$FILENAME、iostat根据存储性能21c优化I/O处理
磁盘I/O等待时间磁盘I/O操作的等待时间V$FILESTAT< 20ms无明显差异
数据文件I/O每个数据文件的I/O情况V$FILESTAT根据业务需求无明显差异
表空间使用率表空间的使用率DBA_TABLESPACE_USAGE_METRICS< 80%无明显差异

4. 安全指标

安全指标反映数据库的安全状态,包括用户活动、权限使用和审计日志等。

4.1 用户活动

指标名称描述监控方法正常范围19c/21c差异
失败登录次数失败的登录尝试次数V$LOGON_HISTORY< 5次/小时无明显差异
特权用户活动特权用户的登录和操作DBA_AUDIT_TRAIL预期内活动21c增强审计功能
异常连接异常IP或时间的连接V$SESSION、DBA_AUDIT_TRAIL0无明显差异

4.2 权限使用

指标名称描述监控方法正常范围19c/21c差异
权限变更系统权限和对象权限的变更DBA_AUDIT_TRAIL预期内变更21c增强权限管理
角色变更角色的创建、修改和删除DBA_AUDIT_TRAIL预期内变更无明显差异
敏感操作敏感操作的执行情况DBA_AUDIT_TRAIL预期内操作21c增强敏感操作审计

监控指标获取方法

1. 使用动态性能视图

Oracle提供了丰富的动态性能视图(V$视图)来获取监控指标:

sql
-- 获取数据库响应时间
SELECT * FROM V$SQLSTATS WHERE ELAPSED_TIME > 1000000 ORDER BY ELAPSED_TIME DESC;

-- 获取等待事件
SELECT EVENT, COUNT(*) FROM V$SESSION_WAIT GROUP BY EVENT ORDER BY COUNT(*) DESC;

-- 获取CPU使用率
SELECT VALUE/100 FROM V$SYSSTAT WHERE NAME = 'CPU used by this session';

-- 获取内存使用率
SELECT * FROM V$SGASTAT WHERE NAME LIKE '%free%';
SELECT * FROM V$PGASTAT;

-- 获取磁盘I/O
SELECT * FROM V$FILESTAT WHERE PHYBLKREAD > 1000 ORDER BY PHYBLKREAD DESC;

-- 获取表空间使用率
SELECT TABLESPACE_NAME, USED_PERCENT FROM DBA_TABLESPACE_USAGE_METRICS;

2. 使用AWR报告

AWR(Automatic Workload Repository)报告提供了数据库性能的详细统计信息:

sql
-- 生成AWR报告
@?/rdbms/admin/awrrpt.sql

-- 生成指定快照范围的AWR报告
@?/rdbms/admin/awrrpti.sql

3. 使用ASH报告

ASH(Active Session History)报告提供了活动会话的历史信息:

sql
-- 生成ASH报告
@?/rdbms/admin/ashrpt.sql

-- 生成指定快照范围的ASH报告
@?/rdbms/admin/ashrpti.sql

4. 使用Enterprise Manager

Enterprise Manager提供了可视化的监控界面,可以直观地查看各种监控指标:

  • 登录Enterprise Manager控制台
  • 导航到"性能"选项卡
  • 查看各种性能指标和图表
  • 配置告警和通知

监控指标最佳实践

1. 指标选择原则

  • 相关性:选择与业务相关的指标
  • 可操作性:指标应该能够指导操作和优化
  • 敏感性:指标应该能够敏感地反映数据库状态变化
  • 简洁性:不要监控过多的指标,选择关键指标

2. 阈值设置

  • 根据业务需求和历史数据设置合理的阈值
  • 阈值应该考虑正常波动范围
  • 阈值应该定期调整,适应业务变化

3. 监控频率

指标类型监控频率
性能指标每秒/每分钟
可用性指标每5分钟
资源使用指标每10分钟
安全指标每小时

4. 告警配置

  • 对关键指标设置告警
  • 配置合理的告警级别(警告、严重、紧急)
  • 配置告警通知方式(邮件、短信、SNMP)
  • 配置告警升级机制

19c与21c监控指标差异

特性19c21c
监控指标数量丰富更丰富,新增多个监控指标
指标精度秒级支持毫秒级指标
监控视图丰富增强监控视图,提供更多维度
AWR报告详细增强AWR报告,提供更多性能分析
ASH报告详细增强ASH报告,支持更长时间范围
监控性能较好优化监控性能,减少开销

常见问题(FAQ)

1. 如何选择合适的监控指标?

问题:如何根据业务需求选择合适的监控指标? 解决方案

  • 分析业务特点和关键业务流程
  • 识别业务对数据库的依赖关系
  • 选择与业务相关的关键指标
  • 逐步调整和优化监控指标

2. 监控指标过多如何优化?

问题:监控指标过多,导致监控系统负载高,如何优化? 解决方案

  • 筛选关键指标,减少监控指标数量
  • 调整监控频率,降低监控开销
  • 使用分层监控,不同层级使用不同的监控频率
  • 优化监控系统,提高监控效率

3. 如何设置合理的阈值?

问题:如何设置合理的监控指标阈值? 解决方案

  • 分析历史数据,了解正常波动范围
  • 考虑业务需求和SLA(服务水平协议)
  • 参考Oracle官方建议的阈值
  • 定期调整阈值,适应业务变化

4. 如何处理监控告警?

问题:如何处理大量的监控告警,避免告警风暴? 解决方案

  • 配置合理的告警级别和阈值
  • 配置告警抑制和聚合规则
  • 建立告警处理流程
  • 定期分析告警,优化监控配置

5. 如何利用监控指标优化数据库性能?

问题:如何利用监控指标优化数据库性能? 解决方案

  • 分析监控指标,识别性能瓶颈
  • 针对性能瓶颈进行优化,如SQL优化、索引优化、参数调整等
  • 监控优化效果,评估优化结果
  • 持续优化,不断提高数据库性能

总结

Oracle数据库核心监控指标清单覆盖了数据库的性能、可用性、资源使用和安全等各个方面,通过监控这些指标可以及时发现和解决数据库问题,确保数据库的稳定运行。

在监控指标选择和配置时,应该考虑19c和21c版本的差异,充分利用新版本的增强功能,如更丰富的监控指标、更高的指标精度和优化的监控性能。

通过遵循最佳实践,包括选择相关的指标、设置合理的阈值、配置适当的监控频率和告警机制,可以建立一个高效、可靠的数据库监控系统,确保数据库的稳定运行和良好性能。