direct path read,direct path write

 direct path read这个等待事件表示Oracle读取数据块直接进入PGA,而非SGA中的Buffer Cache中。

SQL> select name,parameter1,parameter2,parameter3,wait_class from v$event_name where name='direct path read';

NAME                 PARAMETER1      PARAMETER2 PARAMETER3 WAIT_CLASS
-------------------- --------------- ---------- ---------- ------------------------------------------------------
direct path read     file number     first dba  block cnt  User I/O

p1:绝对文件号 p2:第一个数据块号 p3:总共读了多少块。

产生这个等待事件的原因大概有以下几种:

1.磁盘排序

2.并行查询

3.预读操作

在OLTP系统中如果该等待事件过于明显,通常的可能是磁盘排序造成的,应该找出在磁盘排序的SQL,对其优化。

 direct path write这个等待事件表示Oracle直接从PGA写入到数据文件/临时文件。

p1:绝对文件号 p2:第一个数据块号 p3:总共读了多少块。

SQL> select name,parameter1,parameter2,parameter3,wait_class from v$event_name where name='direct path write';

NAME                 PARAMETER1      PARAMETER2 PARAMETER3 WAIT_CLASS
-------------------- --------------- ---------- ---------- ----------------------------------------------------------------
direct path write    file number     first dba  block cnt  User I/O
产生这个等待事件的原因大概有以下几种:

1.磁盘排序

2.直接路径加载

3.并行DML操作  ----注意 一个是并行查询,一个是并行DML

原文地址:https://www.cnblogs.com/hehe520/p/6330672.html