Oracle 10g直接路径写/读等待事件

时间:2017-03-06 10:23:13

标签: oracle performance oracle10g

我的10g oracle prod数据库存在性能问题。一些查询开始在20秒内返回,这是以毫秒为单位。我得到AWR报告和top3等待事件如下所示。我搜索过但我也无法理解。

有人可以解释这个事件吗?谢谢,

Event                       Waits           Time(s)     Avg Wait(ms)    % Total Call Time   Wait Class
----------------------      ----------      -------     ------------    -----------------   ----------  
direct path write temp      11,941,557      866,004     73              29.8                User I/O      FEBRUARY
direct path write temp      16,197,445      957,129     59              17.2                User I/O      MARCH

db file scattered read      5,826,190       58,095      10              2.0                 User I/O      FEBRUARY
db file scattered read      10,128,657      70,408      7               1.3                 User I/O      MARCH

direct path read temp       34,197,762      324,663     9               11.2                User I/O      FEBRUARY
direct path read temp       88,688,686      507,715     6               9.1                 User I/O      MARCH

1 个答案:

答案 0 :(得分:0)

您的两个等待事件与排序有关:direct path write tempdirect path read temp。这表明磁盘而不是内存中的排序增加;磁盘I / O总是较慢。

那么,关于内存分配使用的变化是什么?也许您需要重新访问SORT_AREA_SIZE或PGA_AGGREGATE_TARGET init参数的值(取决于您使用的是自动PGA内存)。这是一个计算内存/磁盘排序比率的查询:

SELECT 100 * (mem.value - dsk.value)/(mem.value) AS sort_ratio 
FROM v$sysstat mem
     cross join v$sysstat dsk 
WHERE mem.name = 'sorts (memory)' 
AND dsk.name ='sorts (disk)'

在OLTP应用程序中,我们预计这将超过95%。

另一件事是,您需要查看运行速度慢得多的特定查询,而不是查看宏事件。对他们有什么改变?还有更多数据?新索引或删除索引?更新的统计数据?

  

“SORT_RATIO ---------- 99.9985462”

因此,种类更高但不会太高。您需要专注于特定的查询。

  

“在3月我们开始使用phyton应用程序进行一些新查询。原因可能是这个吗?”

可能。当我们的系统表现出不同的行为时,应用程序的变化始终是主要的疑