direct path read: 대기: buffer cache를 거치지 않고 PGA로 블록을 직접 읽는 세션
Oracle의미
세션이 database buffer cache를 통하지 않고 PGA 메모리로 블록을 직접 읽는 동안 이 대기 이벤트에서 시간을 보낸다. 보통 대규모 full table scan 및 parallel query와 관련이 있다.
원인
대형 테이블의 full scan으로 디스크에서 많은 블록을 읽음, parallel query, 임시 테이블스페이스로 넘치는 sort/hash 작업, 직렬 full scan에 대한 serial direct path read 결정, 인덱스를 사용할 수 없는 쿼리.
해결 방법
AWR/ASH로 무거운 full scan을 수행하는 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' (테이블스페이스에 대한 권한 없음)