핵심 인사이트 (3줄 요약)

  1. 본질: 데이터베이스 인스턴스(Database Instance)는 메모리 구조와 백그라운드 프로세스의 결합체다.
  2. 가치: 인스턴스가 있어야 디스크의 데이터베이스 파일이 실제 서비스로 동작한다.
  3. 판단 포인트: SGA (System Global Area), 버퍼 캐시, 리두 로그, 백그라운드 프로세스의 역할을 분리해서 이해해야 한다.

Ⅰ. 개요 및 필요성

데이터베이스 파일은 디스크에 저장된 정적인 자산이다. 반면 인스턴스는 그 파일을 움직이게 하는 살아 있는 실행 환경이다.

즉, 데이터베이스는 "저장된 내용"이고, 인스턴스는 "그 내용을 읽고 쓰는 힘"이다.

  • 📢 섹션 요약 비유: 책장은 데이터베이스이고, 책장을 읽고 정리하는 사서와 불이 인스턴스다.

Ⅱ. 메모리 구조

Oracle 계열 DB를 기준으로 보면 인스턴스의 핵심 메모리는 SGA (System Global Area)다.

  • Buffer Cache: 실제 데이터 블록을 담는다.
  • Shared Pool: SQL과 메타데이터를 재사용한다.
  • Redo Log Buffer: 변경 이력을 임시 저장한다.

이 메모리 구조가 있어야 빠른 조회와 복구가 가능하다.

  • 📢 섹션 요약 비유: 작업대, 참고서, 메모장을 한 책상에 나눠 둔 구조다.

Ⅲ. 백그라운드 프로세스

인스턴스는 여러 백그라운드 프로세스가 함께 움직여야 완성된다.

  • DBWR (Database Writer): 수정된 데이터를 데이터 파일에 쓴다.
  • LGWR (Log Writer): 리두 로그를 기록한다.
  • SMON (System Monitor): 장애 후 복구를 돕는다.
  • PMON (Process Monitor): 죽은 세션과 자원을 정리한다.
  • CKPT (Checkpoint): 체크포인트 정보를 맞춘다.
  • ARCH (Archiver): 아카이브 로그를 만든다.

각 프로세스는 서로 다른 일을 하지만, 함께 있어야 데이터 일관성과 복구가 유지된다.

  • 📢 섹션 요약 비유: 한 공장에서 재료 운반, 기록, 청소, 점검을 맡은 각기 다른 일꾼들이다.

Ⅳ. 기동과 복구 흐름

인스턴스는 시작되면 메모리를 잡고 백그라운드 프로세스를 띄운다. 그 뒤 데이터 파일을 열어 서비스가 가능해진다.

Instance 시작
   ↓
메모리 할당
   ↓
백그라운드 프로세스 기동
   ↓
Database 열기

장애가 나면 로그와 체크포인트 정보를 이용해 복구를 수행한다.

  • 📢 섹션 요약 비유: 전기가 나갔다가 다시 켜지면, 작업 현장을 정리하고 다시 일을 시작하는 과정이다.

Ⅴ. 실무 비교와 운영 관점

데이터베이스 인스턴스를 이해하면 "왜 DB가 느려졌는가", "왜 복구가 안 되는가"를 훨씬 잘 설명할 수 있다.

중요한 것은 파일만 보는 것이 아니라, 메모리와 프로세스가 정상적으로 함께 움직이는지 확인하는 일이다.

  • 📢 섹션 요약 비유: 자동차 바퀴만 봐서는 안 되고, 엔진과 연료까지 함께 봐야 차가 달린다.

관련 개념 맵

Database 파일
   ↓
Instance
   ├─ SGA
   └─ Background Processes
   ↓
서비스 동작 / 복구

관련 키워드 및 발전 흐름도

  1. 데이터베이스 파일 → 저장 중심
  2. 인스턴스 → 실행 중심
  3. SGA → 메모리 관리
  4. 백그라운드 프로세스 → 일관성 / 복구
  5. 체크포인트와 로그 → 장애 복구 체계

어린이를 위한 3줄 비유 설명

데이터베이스는 책장에 꽂힌 책이에요.
인스턴스는 그 책을 읽고 정리하는 사서예요.
사서가 있어야 책이 실제로 쓰여요.