SQL Monitoring
------------------
1. 실행시간이 5초 이상(_SQLMON_THRESHOLD) 히든 파라미터로 조정)인 모든 쿼리와
2. 병렬처리로 수행된 쿼리의 실행 이력 정보를
V$SQL_MONITOR 뷰와 V$SQL_PLAN_MONITOR 뷰에 남긴다
이 뷰에 기록된 결과는 dbms_sqltune_report_sql_monitor 함수를 이용해서 간편히 조회할 수 있다
.
특징
병렬 쿼리에 대한 Parallel Slave Process 의 일량까지 확인할 수 있다.
활용법
1. 모니터 하려는 SQL에 힌트 부여 /*+ monitor */
2. 힌트를 사용할 경우 수행시간과 무관하게 수행 이력이 저장된다. (dbms_sqltune.report_sql_monitor)를 통해 조회가 가능하다.
3. select dbms_sqltune.report_sql_monitor(sql_id => '9vkp88hmt24r2') from dual
관련 파라미터
_sqlmon_threshold : default : 5 - 모니터되는 쿼리의 수행시간(초)
_sqlmon_max_plan : default : 20 - 모니터되는 plan의 cpu 당 갯수
_sqlmon_max_planlines : default : 300 - 모니터되는 plan의 라인 수
관련 Views
v$sql_monitor
v$sql_plan_monitor
v$sql_bind_capture