direct path read temp

来源:互联网 发布:cf辅助瞄准软件 编辑:程序博客网 时间:2024/05/21 20:30

当一个session从磁盘中直接读取buffer到PGA中(而不是从buffer cache中)。当进程从pga中
读取block,这个块还没有从磁盘中读取,进程就发出一个等待呼叫并更新统计信息。这个等待
的次数不一定和读请求数相同。

原因:
1 排序太大,内存放不下,有些排序数据被直接写到磁盘中。然后这些排序数据再被直接读到
内存中。
2 并行扫描数据
3 服务进程处理buffer的速度比I/O返回buffer的快。这说明IO已经过载了。

操作:
如果file_id是temp表空间的对象或者是并行扫描的table。这些操作很可能是数据仓库的大数据
量的操作。

1 排序到磁盘
从V$TEMPSEG_USAGE找到排序操作的sql。然后增大pga内存。

2 全表并行扫描
如果是全表扫描,请检查全表扫描是不是正确的访问路径,如果是对的,请确保IO能足够支持
扫描操作。

3 Hash Join
如果执行计划是Hash Join, 那么可能是HASH_AREA_SIZE太小了。

原创粉丝点击