最近在做性能测试时,由于要挂载空间数据,开发人员直接将所有业务表都挂到了Oracle数据库中。最近做了几次测试发现响应时间和吞吐量都不是很理想,进行一番分析后怀疑可能在Oracle中出现问题,因此再网上找了一下相关的监控程序,最终发现Spotlight,但是没有详细的说明(也有可能是我没找到),下面将我之前如何连接Oracle并进行监测的一些经验分享一下,如有瑕疵请各位指教。
首先Spotlight的安装和部署我就不多说了,我相信大家都是很聪明的,安装一下so easy。
这里我要说的是一定要安装Spotlight.On.Oracle、Spotlight.On.Oracle、Spotlight.On.Oracle,强调3次哦。
下面启动Spotlight,界面如下所示:
点击工具栏上的小插头或者“file”->“connections”打开“Spotlight Connections Manager”,如下图所示:
在连接Oracle数据库前我们要先为待监控的数据库创建一个监控用户,通过这个监控用户来获取监控信息,首先打开“file”->“Oracle User Wizard”界面,如下图所示:
点击“next”进入管理员权限登录界面,记住是管理员权限的用户,因为我们要创建新用户,如下图所示:
此处可以通过Oracle客户端获取网络服务名,也可以直接通过“服务器IP/数据库实例”方式进行设置,配置完成后点击“next”,如下图所示:
登录成功出现以上界面,否则提示失败原因界面,如果待监测数据库之前没有创建过监测用户选择“Create a new user(recommended)”,否则选择“Set up an existing user”(选择一个已存在的用户),点击“next”按钮,如下图所示:
输入待创建的监控用户名称和密码后,点击“next”,如下图所示:
选择表空间(一般默认即可)后一直点击“next”,默认到创建完成,如下图所示:
点击“Finish”完成配置,之后在“Spotlight Connections Manager”中创建新的Oracle监控连接,如下图所示:
双击“New connection”,在弹出窗口中选择连接类型和输入新创建的连接名称,如下图所示:
点击“OK”,弹出连接参数配置窗口,如下图所示:
如果需要监控Oracle ASM和OS还需设置相关连接参数,否则将其前方的复选框取消勾选即可,如下图所示:
点击“OK”,在“Spotlight Connections Manager”中选择该连接名称后,点击“Connect”进行连接,如下图所示:
连接成功后,弹出校正时间提示窗口,设置校正时间(即刷新时间),如下图所示:
设置完成后点击“ok”,开始监控连接的Oracle数据库,如下图所示:
注:绿色区域代表相关区域正常,出现黄色区域代表该区域超出标准值出现警告,红色区域代表该区域出现异常
Sessions:代表会话区包括(Response:响应会话,Total Users:总用户量,Active Users:活跃用户量,Active Sessions:活跃会话占比)
Server Processes:服务器进程
PGA(Program Global Area):是为每个连接到Oracledatabase的用户进程保留的内存。
Target:PGA_AGGREGATE_TARGET-此参数用来指定所有session总计可以使用最大PGA内存。
Used:PGA的总量(程序全局区)目前使用的所有活动会话。
Dedicated:专用服务器进程
Shared:共享服务器
Dispatchers:共享连接的分派器数量
Parallel Query:并行查询,使用多个操作系统级别的Server Process来同时完成一个SQL查询。
Job Queue:工作队列
SGA:SystemGlobal Area是OracleInstance的基本组成部分,在实例启动时分配;系统全局域SGA主要由三部分构成:共享池、数据缓冲区、日志缓冲区。
Current Size:实际大小
Buffer Cache:数据高速缓存区
Recycle Pool:回收池
Keep Pool:保留池
Buffer Cache Hit Ratio:高速缓存命中率
Redo Buffer:重做日志缓冲区
Shared Pool:共享池
Shared Pool Used:共享池使用率
Java Pool:Java池-为Java命令的语法分析提供服务。
Large Pool:大型池-是SGA中一个可选的内存区域,它只用于shared server环境。
Auto off
Background Processes:后台进程
Database Writer:数据库写入器
Recovery Writer:恢复区写入器
Redo Log Writer:重做日志写入器
Archiver:归档进程
Disk Storage:磁盘存储
Database Files:数据库文件
Flashback Recovery:闪回恢复区
Redo Logs:重做日志
Archive Log:归档日志
这次只是一个简单的使用说明,主要面向菜鸟级介绍,同时也是之前经验的一个分享,如有错误请高手积极指正,关于Oracle的相关内容,大家可以百度一下“oracle数据库体系结构详解”