加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Oracle数据库非常慢 – 从哪里开始以及如何查找原因?

发布时间:2020-12-12 13:04:21 所属栏目:百科 来源:网络整理
导读:我们的Oracle数据库(11g)突然变得很慢.我不知道从哪里开始调试过程以找到实际问题是什么? 我尝试生成表统计并寻找锁..但我找不到任何直接指向原因的信息,或者我可能正在寻找错误的地方.. 请指导我从哪里开始.. 好吧,我会定义什么是慢:) 插入需要花费很多时
我们的Oracle数据库(11g)突然变得很慢.我不知道从哪里开始调试过程以找到实际问题是什么?

我尝试生成表统计并寻找锁..但我找不到任何直接指向原因的信息,或者我可能正在寻找错误的地方..

请指导我从哪里开始..

好吧,我会定义什么是慢:)

插入需要花费很多时间..即使100,000个记录插入也需要花费一个小时

我首先看看数据库服务器,看看有什么瓶颈 – 例如磁盘,网络,CPU,内存.如果存在底层硬件问题,这可能会引导您.但是如果存在应用程序问题,这可能会向您显示效果,但不会显示原因.

解决Oracle性能问题的最彻底的方法是对一个或多个慢速会话执行扩展SQL跟踪,对其进行概要分析,并查看它们实际花费时间的位置.关于这样做的一个很好的信息来源是Cary Millsap的书,你可以看到here的第一章.

但是,查看相同信息的一种不太完整的方法是简单地查询数据字典以查看慢速会话正在等待的事件.在出现严重错误的情况下,这通常与完整跟踪一样有效.我将从多次运行此查询开始,看看它引导您:

select seq#,event,wait_time,seconds_in_wait,state
from v$session
where type='USER'
;

另一种收集类似信息的方法是Tanel Poder’s Snapper script

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读