SQLP

시험 직전 요약장

판단 기준과 헷갈리는 개념, 대표 예제를 짧게 확인하세요.

이론 목록

Shared Pool과 SQL Parsing: Library Cache·Soft Parse·Hard Parse

원래 이론 →

판단 기준

예시·텍스트
1. 문제 SQL의 정확한 SQL Text와 SQL_ID를 확인한다.
2. 값만 다른 Literal SQL과 대소문자·주석·공백 변형 SQL이 증가하는지 확인한다.
3. Application이 Cursor를 Parse Once·Execute Many 방식으로 재사용하는지 확인한다.
4. PARSE_CALLS와 EXECUTIONS의 관계를 확인한다.
5. System·Session의 parse count(total)·hard와 cursor cache hits를 비교한다.
6. VERSION_COUNT, LOADS, INVALIDATIONS를 확인한다.
7. DDL·Compile·통계 수집·권한 변경 시점과 Invalidation 증가 시점을 대조한다.
8. 후속 이론에서 V$SQL_SHARED_CURSOR로 Child 공유 실패 원인을 확인한다.
9. Parse CPU, Mutex·Library Cache 대기와 전체 처리량을 함께 비교한다.
10. 변경 후 Hard Parse·Soft Parse·Execute without Parse와 응답시간을 재측정한다.

문제 유형과 대응을 구분합니다.

원인우선 대응
Literal SQL 폭증Bind 적용과 SQL Text 표준화
실행마다 Parse CallPrepared Statement·Cursor 재사용
Session Cursor Cache 활용 부족Application 패턴과 SESSION_CACHED_CURSORS 검토
Child Cursor 과다Bind Metadata·환경·객체 공유 조건 분석
DDL·Compile에 의한 Invalidation변경 시간과 배포 절차 조정
Shared Pool AgingSQL 재사용성·메모리 압박과 Shared Pool 상태 분석
Hard Parse 폭증SQL 공유·Parse Call·무효화의 근본 원인부터 개선

Shared Pool을 Flush하는 것은 원인을 해결하는 방법이 아닙니다. 기존 실행 구조를 제거하여 이후 대량 Hard Parse를 유발할 수 있으므로 진단 목적 없이 반복해서 사용하면 안 됩니다.


이 부분의 원문 →

헷갈리는 개념

영역주로 저장하는 대상
Library CacheSQL·PL/SQL의 실행 가능한 구조, 실행계획, 의존 관계
Dictionary Cache객체·사용자·권한 등 Data Dictionary Metadata
Database Buffer Cache테이블·인덱스에서 읽은 Data Block

Library Cache는 SELECT 결과 행을 저장하는 Result Cache로 이해하면 안 됩니다.


이 부분의 원문 →

내 최근 연습 오답

현재 브라우저의 연습 채점 기록에서 공개된 단원과 연결된 오답을 확인합니다.

학습 기록 →

오답 기록을 확인하고 있습니다.