SQL 실행을 보호하는 Lock
1. library cache lock
- Library Cache 객체에 접근하거나 변경할 때 Library Cache 핸들에 대해 획득하는 락
- 파싱 과정에서 Library Cache 객체의 Spec을 보호하기 위해 shared 모드로 library cache lock 획득, 파싱이 끝나면 library cache lock을 null모드로 변환
- Spec 변경 작업(DDL)시나 pin획득 전에 반드시 획득
2. library cache pin
- Library Cache 객체에 수행이나 변경할 때 Library Cache 객체에 대해 획득하는 락
- 실행 작업시 Library Cache 객체의 실행 정보(Heap)를 보호하기 위해 실행 계획 생성시에는 exclusive 모드로 library cache pin을 획득
- library cache lock 을 획득한 이후에 library cache 객체에 추가적인 작업이 필요할때 획득
3. library cache lock/pin 두개의 락을 이용하여 SQL커서와 하나의 논리적 오브젝트에 대해 여러 개의 LCO가 생성되는 경우 Library Cache 영역에 대한 접근성을 최대한 높일 수 있다.
문서에 대하여
- 최초작성자 : ~kwlee55
- 최초작성일 : 2010년 09월 07일
- 이 문서는 오라클클럽 코어 오라클 데이터베이스 스터디 모임에서 작성하였습니다.
- {*}이 문서의 내용은 (주)엑셈에서 출간한 'PRACTICAL OWI IN ORACLE 10G'와 'wiki.ex-em.com'를 참고하였습니다.*