본문 바로가기
기타

Oracle Database 12c 아키텍처 이해하기

by wlakaeofh 2025. 8. 12.
반응형

Oracle Database 12c 아키텍처 흐름 정리

 

Oracle Database 12c 아키텍처 다이어그램

 

 

1. 사용자 요청 (User Process)

  • 사용자(클라이언트)가 SQL 쿼리를 실행하면 User Process에서 요청을 생성
  • 이 요청은 Listener를 거쳐서 데이터베이스 서버로 전달
    • Listener는 도서관 안대 데스크처럼, 요청을 적절한 담당자(서버 프로세스)에 연결

2. 서버에서 작업 준비  (Server Process)

  • Server Process가 요청을 받고, 필요한 데이터를 찾거나 변경하는 작업을 시작
  • 이때 두 가지 메모리 공간을 사용
    • PGA (Program Global Area) : 각 작업만의 임시 메모리
    • SGA (System Global Area) : 모든 세션이 공유하는 메모리

3. SGA 안의 핵심 영역

(1) Shared Pool

  • 자주 쓰는 SQL 실행 계획, 데이터 딕셔너리(메타데이터) 등을 저장
  • 같은 요청이 들어오면 캐시에서 바로 꺼내 쓸 수 있어 속도가 빠름

(2) Database Buffer Cache

  • 실제 데이터 블록을 임시로 저장하는 곳
  • 디스크에서 책(데이터 파일)을 꺼내오면 여기다 잠시 보관해서 반복 요청 시 디스크 접근을 줄임

(3) Redo Log Buffer

  • 모든 변경 사항을 기록하는 임시 공간
  • 누가, 언제, 어떤 책을 어떻게 수정했는지 기록을 남겨 장애 시 복구할 수 있도록 함

4. 데이터 변경 처리 흐름

  1. 사용자가 UPDATE나 INSERT 같은 명령을 실행하면 SGA의 Buffer Cache에서 데이터 변경
  2. 변경 내용은 Redo Log Buffer에도 기록
  3. 일정 주기마다 LGWR(Log Writer)가 Redo Log Buffer의 내용을 Redo Log 파일에 저장
  4. DBWR(Database Writer)가 Buffer Cache의 변경된 데이터 블록을 Data File에 반영

5. 백업 & 복구

  • RMAN 프로세스가 백업과 복구를 관리
  • Archived Redo Log Files는 과거 변경 기록을 보관해 장애 시 특정 시점 복구를 가능하게 함
  • Flashback Logs는 잘못된 작업을 되돌릴 수 있는 기능에 사용

6. 기타 중요한 프로세스

  • PMON : 죽은 프로세스 정리 
  • SMON : 시스템 복구 담당
  • CKPT : 체크포인트 설정, 데이터 동기화
  • ARCn : Redo Log를 Archive Log로 복사

 


정리

  • SGA는 데이터베이스의 공유 메모리
  • PGA는 서버 프로세스의 개인 작업 공간
  • LGWR & DBWR은 변경 사항을 안전하게 저장
  • Redo Logs & Archive Logs복구를 위한 기록
반응형