DB 튜닝서비스

DB 노하우, 데이터직무, 다양한 인터뷰를 만나보세요.

COMMIT문의 처리과정

DB 튜닝 서비스
이해
SQL문처리과정 이해
COMMIT문의 처리과정
작성자
admin
작성일
2021-02-19 11:09
조회
1728
COMMIT문의 처리과정
데이터베이스의 성능튜닝을 원활하게 수행하기 위해서는 DB구조에 대한 완벽한 이해는 필수적 입니다.3가지 유형의 SQL문 처리과정을 통해 오라클 서버구조에 대해 알아 보도록 하겠습니다. 위 3가지 유형중에 한가지 유형을 선택하십시오.
COMMIT문의 처리과정

DML문을 실행한 후 변경작업을 종료하려면 Commit문을 실행하며 변경취소를 하려면 Rollba ck문을 실행하게 되는데 그 과정에 대해서 자세히 알아보도록 하겠습니다. (위 그림의 "클릭" 버튼을 누르시면 "COMMIT문의 처리과정"을 그림을 통해 이해할 수 있습니다.)

다음은 사용자가 DML(Insert,Updata,Delete)문을 실행한 후 Commit문을 처리했을 경우 데이터베이스 내부에서 처리되는 과정입니다.
  1. 사용자가 DML 문을 실행한 후 COMMIT문을 실행합니다.
  2. 서버 프로세스는 DML문의 처리결과(변경전의 데이터, 변경후의 데이터)가 저장되어 있는 로그 버퍼영역에 시스템 변경번호(SYSTEM CHANCE NUMBER)를 부여합니다.
  3. 그리고 로그 기록기(LGWR)는 로그버퍼 영역에 있는 변경 데이터를 영구적으로 보관하기 위해 리두로그 파일에 저장합니다.(메모리 영역에는 데이터를 영구히 저장할 수 없기 때문에)
  4. 서버 프로세스는 네트워크를 통해 사용자 프로세스에게 'Committed' 메시지를 전송하고 사용자 프로세스는 SQL*PLUS 화면에 메시지를 출력해 줍니다.
  5. 만약, 로그버퍼 영역의 데이터를 하나의 리두로그 파일에 모두 저장하지 못하면 다음 로그파일로 위치를 이동시킵니다, 이것을 로그 스위치(LOG SWITCH)라고 합니다. 로그 스위 치가 발생하면
  6. CKPT 프로세스는 컨트롤 파일과 데이터 파일의 헤드영역에 시스템 변경 번호와 관련 상태정보를 저장합니다. 이것을 체크포인트 이벤트라고 합니다.
  7. 이 작업이 끝나면 데이터베이스 기록기(DBWR)는 데이터버퍼 캐시영역에 있는 사용자의 변경정보를 최종적으로 테이블에 저장합니다.