오라클/Admin1

SELECT 및 DML 처리 과정

빵순이^^ 2010. 7. 21. 18:48

select 문


1) Parse

  1. 동일문장 찾기
    - shared pool의 library cache 에서 동일문장이 있는 확인 후 동일문장이 있을 경우에는 해당 동일문장이 실행되며 동일문장이 없을 경우 다음 단계로 syntax 검사를 한다.

  2. Syntax 검사
    - syntax에 문제가 없을 경우

  3. 의미 검사
    - 객체 존재유무, 권한등의 의미검사를 한다. 문장 검사를 위해 recusive SQL을 실행하여 최적의 실행계획을 만든다.

2) Execute

-  data block을 buffer cache에 올린다.

3) Fetch

- select문에서만 적용되며 sort가 있을경우 data를 PGA로 가지고 와서 정렬한다.



update 문


1) Parse 

- select와 동일

2) Execute

- data block, updo block을 database로 부터 읽어서 buffer cache로 올린다. 그리고 데이터 일관성(data consistancy)를 위해 row level lock을 건다.
다음으로 redo entry에 복구에 필요한 내용을 남긴다. 그리고 undo data를 생성한 후 current data를 수정한다.