"SPM"의 두 판 사이의 차이
DB CAFE
(→SQL Plan Management 개요) |
|||
1번째 줄: | 1번째 줄: | ||
− | == SPM(SQL Plan Management) | + | == SPM(SQL Plan Management) == |
=== SQL Plan Management 개요 === | === SQL Plan Management 개요 === | ||
2020년 7월 14일 (화) 13:36 판
thumb_up 추천메뉴 바로가기
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
1 SPM(SQL Plan Management)[편집]
1.1 SQL Plan Management 개요[편집]
11g 부터 9i 때 도입된 바인드 옅보기(Bind Peeking) 기능의 단점을 커버하기 위해 어댑티브 커서(adaptive cursor)와 SQL 의 성능을 유지하기 위해 SPM(SQL PLAN MANAGEMENT) 기능을 제공한다. 특히 SPM 기능으로 인해
- 옵티마이져는 자동으로 변경되는 SQL 의 실행계획을 관리
- 새로운 실행계획이 만들어지더라고, 검증(VERIFY)이 끝날 때까지 새로운 실행계획을 사용하지 않으며
- 현재의 실행계획보다 성능이 비슷하거나 향상될 경우에만 사용할 수 있도록 한다.
SPM 은 SQL 의 성능(Runtime-performance)이 실행계획의 변경으로 인해 저하되는 것을 방지하기 위해 개발된 기능이다.
11G SQL PLAN MANAGEMNET
SPM 은 SQL 의 실행계획이 변경되더라도 바로 적용시키지 않고, 검증을 확인된(VERIFY) 실행계획만 받아들이도록 되어있다.
SPM 의 3 가지 주요 구성요소
- SQL PLAN BASELINE CAPTURE
- 현재 SPM에 의해 수락되어 검증된 실행계획에 대한 SQL Baseline을 생성하고,
- PLAN History 정보는 SYSAUX 테이블 스페이스에 저장
- SQL PLAN BASELINE SELECTION
- PLAN History 에는 수락된(accepted)된 실행계획과 수락되기전의(unaccepted) 실행계획을 모두 포함함.
- 수락되기전의(unaccepted) 실행계획은 아직 검증(verified)이 되기 전의 실행계획이며, 거부된(rejected) 실행계획은 검증(verified)을 통해 적용할 수 없는 실행계획을 의미한다.
- SQL PLAN BASELINE EVOLUTION
- PLAN History안의 검증이 되지 않은 (all unverified) 실행계획은 이 단계에서 검증을 통해 수락(accept)되거나 거부(reject)된다.