[Oracle] Wait event - DB File Sequential Read & DB File Scattered Read
DB File Sequential Read & DB File Scattered Read
DB File Scattered Read 는 DB upgrade 되면서 자주나오는 wait event는 아니다
Disk에서 cache로 데이터 가져올때 발생한다
DB File Sequential Read
자주 보이는 wait event
Random IO 할때 발생 - 정확하게는 Single Block Storage IO를 수행할 때 발생
- Random IO는 대부분 Single Block
- Index 경유해서 table Random Access 할때 발생 (table 데이터를 순차적으로 접근하는게 아닌 random하게 접근함)
대량 발생 시 OLTP 성능 저하시키는 주 원인이 된다
- OLTP는 대부분 Index를 사용하기 때문이다 (바라보는 데이터가 상대적으로 작다)
Index를 잘만들어야하는 이유이다
이름이 왜 Sequential일까?
Index로 읽어서 Buffer Cache에 저장할때 Sequential 하게 보관된다
DB 가 사용하는 CPU보다 Random IO wait으로 인한 CPU 사용이 많을 경우 튜닝이
DB File Scattered Read
index가 아닌 Full Scan할때 발생한다
Multi Block Storage IO 수행시 발생
cache 로 가져올때 DB_FILE_MUTIBLOCK_READ_COUNT로 설정된 muti block을 한번에 가져온다
11g부터는 full scan 이여도 큰 table이면 Direct Path Read로 읽기때문에 DB File Scattered Read는 발생하지 않는다 (buffer/cache에 올리지 않음)
이름이 왜 Scatterd일까?
- Block들이 Buffer Cache에 Scatterd 하게 저장이 된다
왜 Sequential 하지 않고 Scatterd 하게 올리는 걸까?
Full Scan 으로 buffer/cache에 올라온 데이터는 LRU에 마지막에 쌓이기 때문에 빠르게 aging된다 (Buffer Cache에 올라온 block들은 LRU List에서 MRU쪽이 아니라 LRU 쪽 Block에 쌓임 )
'DBMS > Oracle' 카테고리의 다른 글
[Oracle] Wait Event - Latch, Enqueu, Mutex (0) | 2024.05.12 |
---|---|
[Oracle] Wait event - Direct Path Read & Direct Path Write (0) | 2024.04.28 |
[Oracle] Wait Event (0) | 2024.04.19 |
[Oracle] Data Dictionary (0) | 2024.04.16 |
[Oracle]PGA- AMM (Automatic Memory Management) (0) | 2024.04.15 |