首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用Spotlight监控oracle及瓶颈分析

1 Spotlight简介

Spotlight是Quest公司出品的用于第三方性能监控的图形化工具,Spotlight相关的产品众多,如Spotight on Linux/Unix、Spotight on Windows、Spotlight on SQL Server、 Spotlight on DB2、Spotight on Oracle等,本文介绍的Spotlight就是用于oracle领域的图形化、实时性能监控诊断工具-Spotight on Oracle,它提供了直观、可视化的数据库活动展现能力,一旦某个指标出现性能瓶颈,就能可视化展现出来。因此,DBA或性能测试人员可以据此简单、快速地追查性能瓶颈的底层原因。另外,Spotlight不需要在服务器端安装代理,只需要创建一些管理对象,方便部署和应用。

2 部署Spotlight

Spotlight的使用依赖oracle客户端,部署安装前需要准备如下安装文件:

1) Oracle客户端instant client

官网下载地址:

[https://www.oracle.com/technetwork/cn/database/features/instant-client/index-092699-zhs.html]

2) Spotlight

官网下载地址:

[https://support.quest.com/zh-cn/spotlight-on-oracle/10.3.3/download-new-releases]

以上两个工具按照提示步骤一步步安装即可,详细安装步骤不再赘述。其中,oracle client需要配置系统环境变量PATH、TNS_ADMIN,其值为tnsnames.ora文件所在目录,如:

PATH:D:\oracle\instantclient_11_2;

TNS_ADMIN:D:\oracle\instantclient_11_2;

3 使用Spotlight进行性能监控

使用Spotlight进行性能监控前,需要做一些简单配置,具体使用方法如下:

3.1 配置数据库连接信息

在oracle 客户端工具的安装目录下找到tnsnames.ora文件,在文件里配置需要监控数据库实例的连接信息,形式如下:

3.2 配置监控用户

在实际监控中,建议创建一个专用的监控用户来获取监控信息,点击菜单项file-Oracle User Wizard,打开用户创建向导,如图所示,然后根据提示输入DBA连接认证、创建一个新用户、输入用户名和密码(如,用户名:spotlight,密码:test123)、选择表空间,一步步完成即可。

3.3 创建数据库连接

1. 点击工具栏Connect快捷键,打开连接管理器向导,双击New connection图标,输入连接名字后,即可打开连接属性配置窗口,如下图所示:

2. 打开连接属性配置窗口后,可以看到窗口主要有三部分:ORACLE连接配置、ASM连接配置、服务器连接配置,其中后面两项是可选项,如果不需要,不要勾选即可。连接信息配置完成后,点击ok,即可看到监控主界面。

3. 监控界面介绍

当上述配置完成后,执行连接,就能看到Spotlight的监控界面,如图所示。从界面可以实时观察数据流向,同时可以直观看出系统的整体运行情况,如果系统哪方面出现性能瓶颈或问题,会报相应的警告,红色警告的级别为最严重。

注:绿色区域代表相关区域正常,×××区域代表该区域超出标准值出现警告,红色区域代表该区域出现异常。

3 Spotlight重点监控及分析

3.1 Top Sessions

点击工具栏图标,可以打开Top Sessions面板,如图所示,通过该面板可以查看当前session的情况,如哪个session占用了较多资源,以此定位数据库问题。通过点击列名可以进行排序,如点击CPU(ms/s),会根据CPU进行升序或降序排列;选择某个session,进行双击可以查看该session的详细信息,如Session Details、Session Waits、Session SQL、Session Locks等;或者在某个session上右键,可以执行kill session、trace session等操作。

在Session Infomation窗口,需要重点关注的是Session Waits、Session SQL、Session Locks,如图所示,其作用分别为:

Session Waits:找出与该session相关的等待事件;

Session SQL:找出该session相关的最近执行的sql语句;

Session Locks:与该session相关的锁信息,查看是否阻塞;

3.2 Top SQL

点击工具栏图标,可以打开Top SQL面板,如图所示,通过该面板可以查看系统中占用资源较大的sql语句,选择对应的行,可以查看SQL information详细信息。

该面板主要用于查找存在瓶颈的SQL语句,如哪些SQL耗时较长,哪些SQL磁盘读写多、缓存命中率低等,然后针对有问题的SQL进行优化,通过可以先从语法上优化,再从业务逻辑上优化。

3.3 Activity

点击工具栏图标,可以打开Activity面板,如图所示,该面板以直方图的形式展示了IO、活动session、等待事件等信息,通过其他tab页面可以查看具体的waits事件、Locks等信息,该界面数据一般用于辅助分析。

3.4 I/O和配置内存

点击工具栏图标,可以分别打开I/O和配置内存面板,如图所示,通过这两个面板可以查看session、数据文件的IO情况、数据库内存配置及使用情况等,一般用于辅助分析。

在I/O界面,通过关心的是哪个表空间或数据文件的物理读写较高,哪个session执行的SQL导致这些IO异常。从该界面可以定位到那个session的IO异常,然后结合Top Session界面的SQL进行分析、定位。当然,也可能是表结构设计导致的IO问题,此时结合Segment的IO的使用情况进行分析。

在配置内存界面,需要关注SGA利用率、shared pool、buffer cache的利用率和命中率,其中在shared pool中主要查看library 命中的情况,在buffer cache主要关注命中率,如果命中利率太低,可能存在问题。

看完本文有收获?请转发分享给更多人

关注 【小蟒社区】,一起学Python

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190220G13MY500?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券