핵심 인사이트 (3줄 요약)
- 본질: 데이터베이스 인스턴스(Database Instance)는 메모리 구조와 백그라운드 프로세스의 결합체다.
- 가치: 인스턴스가 있어야 디스크의 데이터베이스 파일이 실제 서비스로 동작한다.
- 판단 포인트: 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
↓
서비스 동작 / 복구
관련 키워드 및 발전 흐름도
- 데이터베이스 파일 → 저장 중심
- 인스턴스 → 실행 중심
- SGA → 메모리 관리
- 백그라운드 프로세스 → 일관성 / 복구
- 체크포인트와 로그 → 장애 복구 체계
어린이를 위한 3줄 비유 설명
데이터베이스는 책장에 꽂힌 책이에요.
인스턴스는 그 책을 읽고 정리하는 사서예요.
사서가 있어야 책이 실제로 쓰여요.