对于数据库使用环境数据库在使用中出现的问题,可能由表空间、文件系统、数据文件、进程等组件当中的任意一个造成,

甚至有可能是由于某一个SQL语句的性能太差造成系统性能问题。因此,当数据库出现问题,彻查问题的根本原因成为重复、繁杂的劳动,

但是在排查问题前,身为性能测试技术人员先要了解用什么工具,明确监控哪些数据库性能指标,有的放矢,才有收获,如下oracle监控性能指标以及使用监控分析方法:

指标名称

故障问题描述与诊断分析

Oracle 数据访问数据方式

全表扫描/

(Full Scans/sec)

指标描述

指每秒全表扫描的数量。全表扫描可以是基本表扫描或全索引扫描。由于全表扫描需要耗费大量时间,因此全表扫描的频率过高的话CPU使用率会过高,会影响性能。

指标诊断

1、  通过使用Spotlight进行SQL问题获取。

2、  通过数据库日志分析获取对象有问题的SQL

指标分析

1、通过使用Spotlight或者事件探查器分析看是否需要通过全表扫描方式,来优化SQL查询性能。

2、对于大数量有历史数据等情况进程查询表数据,可以通过分析是否进行分区表来提高查询效率。

其他

指标描述

SQL语法写法问题,导致过度消耗资源CPU/内存

指标诊断

1、  通过使用Spotlight进行SQL问题获取。

2、  通过数据库日志分析获取对象有问题的SQL

指标分析

嵌套太多子查询或者排序语法等问题,通过修改SQL实现方式

ORACLE 数据库实例参数配置分析

缓冲区 等待

Buffer   wait

指标描述

指在缓冲区中获取Buffer 的等待几率

指标诊断

通过使用Spotlight或者快照方式获取对应的指标数值

指标分析

通过使用Spotlight该性能指标应该接近100%;

 

缓冲区命中率

Buffer   Hit %

指标描述

指数据块在数据缓冲区中的命中率

指标诊断

通过使用Spotlight或者快照方式获取对应的指标数值

指标分析

该值一般应该90%以上;

 

共享区命中率

SharedPool   %

指标描述

共享池的使用情况

指标诊断

通过使用Spotlight或者快照方式获取对应的指标数值

指标分析

通过使用Spotlight分析,该值一般应该90%以上;

 

 

 

内存排序使用率

指标描述

指排序操作在内存中进行的比率。当查询需要排序时,现在内存排序,内存不足就会利用临时表空间进行磁盘排序,造成IO问题,影响效率。

指标诊断

通过使用Spotlight或者快照方式获取对应的指标数值

指标分析

该值通常接近100%性能比较好;

 

 

日志文件同步

Log   file sync

指标描述

这个等待事件是指当一个会话完成一个事物时,必须等到LGWR进程将会话的redo 信息从日志缓冲区写到日志文件中,才能继续执行下去。

指标诊断

通过使用Spotlight或者快照方式获取对应的指标数值

指标分析

这个等待事件的时间过长,可能因为提交或者更新数据 太频繁或者一次写日志的时间太长;

Redo   缓冲区等待率

Redo   wait

指标描述

指在Redo缓冲区中获取Buffer 的等待几率

指标诊断

通过使用Spotlight或者快照方式获取对应的指标数值

指标分析

该性能指标应该接近100%;

oracle 中锁(Locks)性能计数器

队列等待

(enqueue(cs))

指标描述

该锁定机制保护共享资源,如记录中的数据,以避免两个人在同一时间更新同一数据。enqueue包括一个排队机制,即FIFO(先进先出)排队机制。

指标诊断

通过使用Spotlight、快照方式、LR监控获取对应的指标数值

指标分析

如果enqueue等待事件比较显著,则需要根据enqueue等待类型,采取相应的优化方法。

防止多个事务并发使用资源,尽可能少使用锁来提高性能开销。