direct path read: 等待:会话绕过 buffer cache 将块直接读入 PGA
Oracle含义
会话在将块直接读入 PGA 内存(而不是通过数据库 buffer cache)时消耗在此等待事件上。通常与大型全表扫描和并行查询相关。
原因
大表全扫描、并行查询、排序/哈希操作溢出到临时表空间导致从磁盘读取大量块,串行全扫描采用串行直接路径读(serial direct path read)的决策,以及无法使用索引的查询。
解决方法
用 AWR/ASH 找出执行繁重全扫描的 SQL,并添加合适的索引。通过查询调优减少对大表的不必要扫描。调查存储延迟(I/O),必要时迁移到更快的磁盘。检查并行度。对于溢出到 TEMP 的操作,评估 PGA_AGGREGATE_TARGET 的大小。
同一数据库的其他条目
- ORA-01843not a valid month(无效的月份)
- ORA-14400inserted partition key does not map to any partition(插入的分区关键字未映射到任何分区)
- ORA-01536space quota exceeded for tablespace(超出表空间的空间限额)
- latch: cache buffers chains等待:cache buffers chains latch 争用
- ORA-00955name is already used by an existing object(名称已由现有对象使用)
- ORA-02449unique/primary keys in table referenced by foreign keys(表中的唯一/主键被外键引用)
- ORA-01950no privileges on tablespace 'name'(对表空间 'name' 无权限)