오라클/Admin1
SELECT 및 DML 처리 과정
빵순이^^
2010. 7. 21. 18:48
select 문
1) Parse
- 동일문장 찾기
- shared pool의 library cache 에서 동일문장이 있는 확인 후 동일문장이 있을 경우에는 해당 동일문장이 실행되며 동일문장이 없을 경우 다음 단계로 syntax 검사를 한다.
- Syntax 검사
- syntax에 문제가 없을 경우
- 의미 검사
- 객체 존재유무, 권한등의 의미검사를 한다. 문장 검사를 위해 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를 수정한다.