Library cache

2024. 7. 10. 00:55DBMS/ORACLE Admin

반응형

Shared Pool 의 Library cache 에서는 SQL, PL/SQL 프로그램 단위의 실행 계획과 관련된 정보를 저장 실행하는 경우 해당 문장들에 대한 Parse 과정을 수행한다. 

 

1. 파싱(Parsing):
   - 구문 분석(Syntax Check): SQL 문장의 구문이 올바른지 오류가 있는지 확인한다.
   - 의미 분석(Semantic Check): 테이블, 컬럼 등의 객체가 존재하는지, 권한이 있는지를 확인한다.- 공유 가능성 확인             -  Shareability Check : 동일한 SQL 문장이 이미 Library Cache에 존재하는지 확인한다. 만약 존재한다면, 기존의 실행 계획을 재사용한다.

   

   - Query transformation : 내부적으로 sql 문장을 더 효율적으로 수행할 수 있는 문장으로 변환시키는 과정이다.



2. 바인딩(Binding):
   - SQL 문장 내의 바인드 변수가 실제 값으로 대체된다. 바인드 변수를 사용하면 SQL 문장이 재사용될 가능성이 높아져 성능이 향상된다.

3. 최적화(Optimization):
   - parse 과정이 완료된 문장들과 실행 계획들이 공유 풀의 한 영역인 라이브러리 캐시에 저장되고 같은 인스턴스를 사용하는 사용자들에 의해 지속적으로 공유될 수 있다. SQL 문장의 실행 계획을 수립하고 최적화 과정에서 Oracle 옵티마이저는 여러 가지 실행 경로를 평가하여 가장 효율적인 경로를 선택한다.
  



Library Cache에 이미 존재하는 SQL 문장이 있다면, Parse 과정을 생략하고 기존 실행 계획을 재사용할 수 있다. 반대로, 새로운 SQL 문장이라면 Parse 과정을 통해 Library Cache에 저장되며, 이후 동일한 SQL 문장이 실행될 때 재사용될 수 있다.

 

 

 

Library Cache에 저장된 sql 확인

 

 

반응형

'DBMS > ORACLE Admin' 카테고리의 다른 글

Shared Pool<<Data dictionary cache  (0) 2024.07.10
Oracle Session  (0) 2024.07.10
ORACLE instance  (0) 2024.07.09
FLASHBACK  (0) 2024.07.04
tablespace 장애 offline checkpoint  (0) 2024.07.01