Real-Time SQL Monitoring(v$sql_mointor, v$sql_plan_mointor)은 Oracle 11g에서 추가된 기능으로 아래 조건에서 모니터링 된다.


  • 실행시간이 5초 ( '_sqlmon_threshold' 히든 파라미터로 조정)이상 느린 쿼리의 실행이력
  • 병렬 쿼리의 실행 이력
  • monitor 힌트를 사용한 쿼리에 대한 추적



위 조건을 만족하는데도 모니터링 되지 않는 다면????,  v$sql_monitor에 나타나지 않는다면????



만일, 모니터링 하는 SQL 문장의 실행계획 라인수가 300 라인이 넘는 복잡한 쿼리는 모니터링에서 누락된다.


오라클 히든 파라미터 중 '_sqlmon_max_planlines'=300 으로 초기 설정되어 있다.

이 값을 늘리면 문제 해결!!!



SQL> alter system set "_sqlmon_max_planlines"=800 scope=both;




[참고]


1. 모니터링된 SQL은  dbms_sqltune.report_sql_monitor로 레포팅

    

select dbms_sqltune.report_sql_monitor(sql_id=>'bpfu171khfbg6') from dual



2. 오라클 히든 파라미터 조회 (Oracle Hidden Parameter View)


select a.ksppinm name, b.ksppstvl value,b.ksppstdf deflt,

decode (a.ksppity, 1, 'boolean',

                2, 'string',

                3, 'number',

                4, 'file',

                a.ksppity) type,

a.ksppdesc description

from sys.x$ksppi a, sys.x$ksppcv b

where a.indx = b.indx and a.ksppinm like '\_%' escape '\'

order by name


+ Recent posts