serial direct scan은 11g에 소개된 기능으로 대상 테이블을 size로 구분하여 이에 대해
SGA내의 buffer scan (기존 방식)을 사용할지, direct path read 방식으로 수행할 지를 자동으로 결정하는 기능입니다.
SGA내의 buffer scan (기존 방식)을 사용할지, direct path read 방식으로 수행할 지를 자동으로 결정하는 기능입니다.
즉, Parallel query를 사용하지 않고 serial scan으로 수행되더라도 direct path 방식으로 수행할 수 있습니다.
유의할 부분은 direct path read는 dirty buffer의 checkpoint를 유발하니 OLTP에서는 유의해야 합니다.
_serial_direct_read parameter는 segment size와 parameter 설정값에 따라 다르게 동작합니다.
_serial_direct_read | Segment size | |||
Small | Medium | Large | Very Large | |
TRUE | Direct Path Read | Direct Path Read | Direct Path Read | Direct Path Read |
FALSE | Buffer Cache Read | Buffer Cache Read | Buffer Cache Read | Buffer Cache Read |
AUTO | Buffer Cache Read | Object Stat 존재 시 Buffer Cache Read 수행 그외 비용 분석후 결정 | 비용 분석 후 결정 | Direct Path Read |
read 방식을 결정하는 segment size는 대상 object의 block 개수와 _small_table_threshold, _very_large_object_threshold parameter와 Buffer cache size에 의해 결정됩니다.
Segment Size | 정의 |
Small | Segment Block < _small_table_threshold |
Medium | _small_table_threshold < Segment blocks < Buffer cache의 10% 이하 |
Large | Medium과 Very Large 사이 일 경우 |
Very Large | Buffer cache * (_very_large_object_threshold/100) 보다 큰 경우 |
관련 Parameter
_small_table_threshold : lower threshold level of table size for direct reads.
Default value : 20 (Buffer cache의 2%)
_very_large_object_threshold :upper threshold level of object size for direct reads.
Default Value : 500 (Buffer cache의 5배)
'Oracle Database' 카테고리의 다른 글
Oracle 12.1 이후 부터 RAW device에 대한 direct 사용이 de-support 됩니다. (0) | 2015.11.24 |
---|---|
PQ 수행작업 trace 걸기 (0) | 2014.11.20 |
ORACLE 과거 통계정보 restore 하기. (0) | 2014.11.06 |
ASM은 dd 명령 지원안함 (0) | 2013.12.12 |
Oracle 11g의 새로운 diag tool, The SQL Test Case Builder (0) | 2013.11.14 |