본문 바로가기

IT관련

오라클 Real-Time SQL Monitoring (실시간 Plan, Trace 툴) 19c 기능개선 부분

예전에 실시간으로 SQL Plan(실행계획)을 확인할 수 있는 Real-Time SQL Monitoring 기능에 대해서 포스팅한 적이 있습니다.

이 기능을 사용하기 위해서는 여러가지 권한이 필요했었는데, Oracle 19c DBMS 부터는 별도의 권한이 없이도 자기 세션에 대해서는 이 기능을 사용할 수 있습니다.

 

SQL>
set long 1000000
set longchunksize 1000000
set linesize 1000
select DBMS_SQLTUNE.report_sql_monitor(type=>'TEXT' , report_level => 'ALL') from dual;

 

report_sql_monitor() 함수를 호출할때, sql_id 값을 지정하지 않았습니다.

이것은 현재 실행중인(다른 창에서) 또는 바로 직전에 실행했던 SQL 에 대해 조회하는 것을 의미합니다.

 

 

report_sql_monitor_list() 함수를 호출하여 현재 세션에서 실행한 SQL List 를 조회할 수 있습니다.

 

SQL>
set long 1000000
set longchunksize 1000000
set linesize 1000
select dbms_sqltune.report_sql_monitor_list(type=>'TEXT', report_level=>'ALL', active_since_sec=>600) as report from dual;

 

이때, active_since_sec 값을 600초(5분)으로 지정하였고, 5분 내에 실행된 SQL List 를 보여주고 있습니다.

 

 

report_sql_monitor() 함수 호출시 sql_id 값을 넣어줌으로써 이전에 해당 유저에서 실행되었던 SQL 실행정보를 확인할 수 있습니다.

 

 

▶ 참고) Realtime SQL Monitoring 으로 Plan 그래픽컬하게 보기