■ TEMP Tablespace 를 사용하는 경우
#PGA 내에서 처리 불가할 경우 사용
- sort based operation (order by, group by rollup, window function)
- hash join
- merge join
- bitmap merge
- bitmap create
#항상 사용
- 쿼리내 meterialize view
- dual table
■ TEMP Tablespace 사용 쿼리 모니터링
#AWR SNAP 별 TMEP 사용량 확인
select begin_time, end_time, instance_number, round(maxval/1024/1024) temp_mb
from dba_hist_sysmetric_summary
where metric_name = 'Temp Space Used'
order by 1,2,3;
#TEMP 사용이 많은 SQL 확인
select sql_id, event, round(temp_space_allocated)/1024/1024 temp_mb, sql_plan_line_id, module
from dba_hist_active_sess_history a
where sample_time between timestamp '2020-04-13 09:00:00'
and timestamp '2020-04-13 18:00:00'
order by temp_mb desc;
■ TEMP Tablespace 부족시 해결 방법
TEMP Tablespace 사용이 많은 쿼리의 경우 개선포인트가 있다면
SQL 튜닝을 통해 불필요한 HASH JOIN , SORT 를 제거하여 개선이 가능합니다.
(개선이 불가능한 경우가 더 많습니다.)
Worktime 에 수행된 Heavy SQL 의 경우 OLTP 쿼리 성능에 영향을 줄 수 있으므로
수행시 주의가 필요합니다.
'RDBMS > Oracle' 카테고리의 다른 글
Unusable index (0) | 2021.01.28 |
---|---|
RAC DB 시작/종료(startup/stop (0) | 2021.01.28 |
undo tablespace (0) | 2021.01.28 |
Oracle DBA SQL (0) | 2021.01.28 |
아카이브 로그(Archive log) 관련 SQL (0) | 2021.01.14 |