RDBMS/Oracle

temp tablespace

KSerin 2021. 1. 28. 16:13
728x90

■ 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 쿼리 성능에 영향을 줄 수 있으므로 
 수행시 주의가 필요합니다. 

728x90

'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