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

我们的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

相关文章

Java Oracle 结果集是Java语言中处理数据库查询结果的一种方...
Java AES和Oracle AES是现代加密技术中最常使用的两种AES加密...
Java是一种广泛应用的编程语言,具备可靠性、安全性、跨平台...
随着移动互联网的发展,抽奖活动成为了营销活动中不可或缺的...
Java和Oracle都是在计算机领域应用非常广泛的技术,他们经常...
Java 是一门非常流行的编程语言,它可以运行于各种操作系统上...