▣ Shared pool operation
a. library cache : 파싱된 sql
b. dictionary cache : 객체번호, 주소
c. shared pool이 부족하면 기존의 내용 지워짐
d. memory chunk가 생성된다.
▣ shared pool에 속한 영역의 할당량 혹은 사용가능 용량
▣ KGH : 커널에서 가지고 있는 heap영역 -> OS : 전체 양에서 사용량을 빼고 남는 메모리, 사용할수 있는 메모리
▣ 아래와 같이 용량을 비워둠
작은 용량의 청크가 들어오면 빈 공간을 free list로 날리고 할당할 수 있다
큰 용량의 청크가 들어왔을 때 사용하기 위해 reserved area를 미리 존재한다.
select * from x$ksuse where addr='30F0A9B4';
이렇게 사용하면 내용이 많기 때문에 내부 질의 볼때는 print_table.sql 질의를 사용한다.
▣ 커서 적중 부분 설정값 확인
▣ Cursor_sharing 사용하지 않았을 경우
▣ Cursor sharing 사용
@cursor_sharing_test1과 2의 결과 비교해 볼것
질의
S SYS> select * from v$system_event where event='latch: library cache';
EVENT
--------------------------------------------------------------------------------------------------------------
TOTAL_WAITS TOTAL_TIMEOUTS TIME_WAITED AVERAGE_WAIT TIME_WAITED_MICRO EVENT_ID WAIT_CLASS_ID WAIT_CLASS#
----------- -------------- ----------- ------------ ----------------- ---------- ------------- -----------
WAIT_CLASS
--------------------------------------------------------------------------------------------------------------
latch: library cache
931 0 1820 1.95 18197060 589947255 3875070507 4
Concurrency
▣ reloads
▣ invalidations
▣ Terminology
- Gets : 적중횟수(soft parsing+cursor 적중포함)
- Pins : 실행횟수
- Reloads : 없어서 비적중
- Invalidation : 수정되서 비적중
※ 3, 4 : hard parsing
댓글 없음:
댓글 쓰기