温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

使用SQLBooster工具分析Oracle性能问题

发布时间:2020-08-19 07:37:50 来源:ITPUB博客 阅读:389 作者:vincecurter 栏目:关系型数据库

问题现象

下午开发人员反映,一个测试环境数据库访问非常慢,让我帮忙分析原因。

正好刚装了 SQLBooster ,通过它来分析,顺便熟悉一下它的使用。

原因分析

获取等待事件

数据库慢的话首先看等待事件,在 SQLBooster 主界面点开“事件排行”,界面显示 TOP5 等待事件如下:

其中 row cache lock 排第一。

使用SQLBooster工具分析Oracle性能问题

分析阻塞session

出现 session lock ,通过主界面的“阻塞树”,可以查看 session 阻塞的情况。

不过这些 session 阻塞在动态变化,且并没有执行 SQL

使用SQLBooster工具分析Oracle性能问题

查看当前的 active session 如下, session 中可以灵活根据条件过滤:

使用SQLBooster工具分析Oracle性能问题

分析等待事件的详细信息

对于   row cache lock 等待事件,我们要获取 session P1 参数。

使用SQLBooster工具分析Oracle性能问题

P1 参数去 v$rowcache 中去查询参数名称,发现是“ dc_users ”。

使用SQLBooster工具分析Oracle性能问题

dc_users 相关的,通常是由于用户登录引发。从审计视图中,查看当天的登陆审计,发现错误码 ORA-1017 占了绝大部分。

这个错误是用户名密码错误。

使用SQLBooster工具分析Oracle性能问题

那么问题至此就清楚了,一台客户端用 jdbc 连接数据库,但是由于配置文件中密码录错了,反复重连。

而且配置了连接池,所以一瞬间有多个连接请求连接数据库。进而引起数据库响应缓慢。

处理办法

sqlnet.ora 中将该客户端的 IP 加入访问黑名单,性能问题消失。然后联系该客户端的开发人员,修改 jdbc 配置文件。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI