본문 바로가기

Shared Pool

#40_140807_OWI_SHARED POOL에서 LATCH 경합 # SHARED POOL에서 LATCH 경합 l shared pool 의 역할 - parsing을 최소화 하기 위한 메모리 영역- SQL과 실행계획, parse tree(실행코드)의 코드를 공유함으로써 파싱을 최소화 할 수 있다 l Shared pool의 구조 - chunck : 메모리 저장 최소단위 - soft parse : 똑 같은 SQL이 존재하면 parsing 생략한다 - hard parse : 똑 같은 문장이 없기 때문에 다시 parse한다 - soft parse를 위해서는 Library cache latch를 잡아야 한다 - hard parse를 위해서는 Shared pool latch가 필요하다 - Library cache latch : 똑 같은 SQL이 있는지 검색할 때 필요 - Share.. 더보기
#30_140724_WSHOP2_SHARED POOL # SHARED POOL shared pool 의 라이브러리 캐쉬 영역을 효율적으로 사용할 수 있는 방법 l Library cache의 역할- parsing 된 정보를 메모리에 올려놓고 똑 같은 SQL이 들어오면 parsing을 생략(soft parse)을 위한 역할- 만약 다시 parsing(hard parse) 한다면 똑 같은 SQL이 없기 때문이다 l 똑 같은 SQL 이란(parsing 생략을 위한) 1. 대소문자 구문 2. 공백이나 들여쓰기 구분 3. 테이블의 소유자가 틀릴떄도 구분 4. Literal SQL 구분 5. 예를 들면SQL> select ename, sal from emp where empno = 7788;SQL> select ename, sal from emp where empno .. 더보기
#30_140724_WSHOP2_ORACLE MEMORY # ORACLE MEMORY l db buffer cache를 효율적으로 사용할 수 있는 방법 1. 다중 버퍼풀을 구성해서 사용해라: 테이블의 데이터를 메모리에 올릴 때 엑세스 되는 빈도에 따라서 다중 버퍼풀의 지정된 영역으로 데이터를 올리도록 하는 기능- 자주 엑세스 하는 테이블(keep 풀) : 메모리에 오래 둠- 자주 엑세스 하지 않는 테이블(recycle 풀) : 메모리에서 빨리 빠져나감- 보통으로 엑세스 하는 테이블(default 풀) : 기본으로 관리되는 LRU 알고리즘 - buffer cache를 3개의 영역으로 나눈다 l 다중 버퍼풀 구성 방법 1. SQL> show parameter buffer 2. SQL> alter system set db_keep_cache_size=20m; 3. .. 더보기