반응형
1. V$SQL
v$sql은 라이브러리 캐시에 캐싱되 있는 각 sql에 대한 수행 통계를 보여준다. v$sql은 쿼리가 수행을 마칠 때마다 갱신되며, 오랫동안 수행되는 쿼리는 5초마다 갱신이 이루어진다.
select sql_id, child_number, sql_text, sql_fulltext, parsing_schema_name,
loads, invalidations, parse_calls, executions, fetches, rows_processed,
cpu_time, elapsed_time,
buffer_gets, disk_reads, sorts,
first_load_time, last_active_time
from v$sql;
- 라이브러리 캐시에 적재된 SQL 커서 자체에 대한 정보
- 하드파싱 및 무효화 발생횟수, Parse, Execute, Fetch Call 발생 횟수, Execute 또는 Fetch Call 시점에 처리한 로우건수 등
- CPU 사용 시간과 DB구간 소요시간 (micresecond)
- 논리적 블록 읽기와 디스크 읽기, 그리고 소트 발생 횟수
- 커서가 라이브러리 캐시에 처음 적재된 시점, 가장 마지막에 수행된 시점
2. 집중 튜닝이 필요한 스키마 선정에 도움이되는 쿼리
select parsing_schema_name "유저", count(*) "SQL 개수"
, sum(executions) "수행횟수"
, round(avg(buffer_gets/executions)) "논리적I/O"
, round(avg(disk_reads/executions)) "물리적I/O"
, round(avg(rows_processed/executions)) "처리건수"
, round(avg(elapsed_time/executions/1000000),2) "평균소요시간"
, count(case when elapsed_time/executions/1000000 >= 10 then 1 end) "악성SQL"
, round(max(elapsed_time/executions/1000000),2) "최대소요시간"
from v$sql
where parsing_schema_name in ('test')
and last_active_time >= to_date('2022/07/10','yyyy/mm/dd')
and executions > 0
group by parsing_schema_name;
반응형
'Database > Tuning' 카테고리의 다른 글
[SQL] 이력관리 (점 이력, 선분 이력) (1) | 2023.06.22 |
---|---|
[ORACLE] set autot 옵션, dbms_xplan.display (0) | 2022.11.27 |
[Index Tunning] Random Access 제거 (2) | 2022.04.25 |