카테고리 없음

V$SQLAREA 오라클 공유 SQL 영역에 저장된 SQL 문들의 실행 통계

chelss25 2025. 3. 10. 11:19

 

V$SQLAREA 오라클 공유 SQL 영역에 저장된 SQL 문들의 실행 통계

 

V$SQLAREA는 오라클 데이터베이스의 동적 성능 뷰(Dynamic Performance View) 중 하나로, 공유 풀(Shared Pool)에 저장된 SQL 에 대한 정보를 제공합니다.

V$SQLAREA 주요 개념

  • 공유 SQL 영역(Shared SQL Area)에 있는 SQL 문에 대한 정보를 유지
  • SQL 문별로 실행 횟수, 버퍼 읽기, 디스크 읽기 등의 통계 정보 제공
  • 동일한 SQL 문이 여러 번 실행되더라도 한 번만 저장 (SQL ID 기준)
  • 주로 성능 튜닝 및 SQL 문 분석에 사용됨

주요 컬럼 설명

컬럼명 설명
SQL_ID SQL 문을 식별하는 고유한 ID
SQL_TEXT SQL 문 자체 (일부만 보일 수 있음)
EXECUTIONS SQL 문이 실행된 총 횟수
DISK_READS SQL 문 실행 시 디스크에서 읽은 블록 수
BUFFER_GETS 메모리에서 가져온 블록 수
PARSE_CALLS 파싱(Parse)된 횟수
SHARABLE_MEM 공유 메모리에서 차지하는 크기 (바이트)
PERSISTENT_MEM 영구 메모리(PGA)에서 차지하는 크기
RUNTIME_MEM 런타임 시 할당된 메모리 크기
FETCHES 가져온(row fetch) 횟수
ROWS_PROCESSED 처리된 총 행(Row)

V$SQLAREA 활용 예제

  1. 공유 풀에 있는 SQL 문 목록 조회
  2. SELECT SQL_ID, SQL_TEXT, EXECUTIONS, BUFFER_GETS, DISK_READS
  3. FROM V$SQLAREA
  4. ORDER BY EXECUTIONS DESC;
  5. 특정 SQL 문 검색
  6. SELECT SQL_ID, SQL_TEXT, EXECUTIONS
  7. FROM V$SQLAREA
  8. WHERE SQL_TEXT LIKE '%EMP%';
  9. 비효율적인 SQL 문 찾기 (버퍼 읽기 높은 순)
  10. SELECT SQL_ID, SQL_TEXT, BUFFER_GETS, EXECUTIONS
  11. FROM V$SQLAREA
  12. WHERE EXECUTIONS > 100
  13. ORDER BY BUFFER_GETS DESC;

V$SQLAREA vs V$SQL

  • V$SQLAREA SQL 문을 SQL ID별로 그룹화하여 요약된 정보를 제공
  • V$SQL SQL 문별 개별 실행 정보까지 포함 (더 상세한 정보)

V$SQLAREA는 오라클의 공유 SQL 영역에 저장된 SQL 문들의 실행 통계를 제공하는 뷰

  • 주로 성능 분석 및 SQL 튜닝에 활용
  • SQL_ID, EXECUTIONS, BUFFER_GETS 등의 컬럼을 확인하여 성능 저하 원인을 찾을 수 있음

튜닝할 SQL 문을 찾고 싶다면, V$SQLAREA를 활용하여 자주 실행되거나 비효율적인 SQL 을 파악하는 것이 중요합니다. 🚀