예전에 실시간으로 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 그래픽컬하게 보기
'IT관련' 카테고리의 다른 글
오라클 Heatmap 정보 조회 및 Clear 하는 방법 (0) | 2022.11.09 |
---|---|
오라클 In-memory (인메모리) 기능 소개 (Oracle을 메모리DB로 만들어주는) (0) | 2022.11.02 |
오라클 병렬처리 Union All 성능향상 (PQ_CONCURRENT_UNION) - Oracle 12c 신기능 (0) | 2022.10.21 |
오라클 병렬처리 Plan 개선 (PX SELECTOR) - Oracle 12c 신기능 (0) | 2022.10.21 |
오라클 에러 정보 (ORA-27104) - system-defined limits for shared memory was misconfigured (0) | 2022.10.14 |