IT

[Oracle] Oracle Database Server Architecture - 2: 디스크영역

odingdong 2026. 5. 31. 01:51

 

[Oracle Database 정의]

- HDD나 SDD 같은 저장 장치에 물리적으로 기록되어 있는 파일들의 집합을 의미

- 메모리 영역인 인스턴스의 가동 여부와 상관없이 디스크 내에 고정되어 존재하며, 비동기 I/O를 통해 인스턴스와 데이터를 주고받음

- 크게 필수 3대 파일과 운영을 돕는 기타 파일로 분류됨


 

[Oracle Database 필수 3대 파일]

* 아래 세개 중 하나라도 누락되면 데이터베이스 구동 불가

1) Data Files

   - 실제 테이블의 ROW 데이터와 INDEX 데이터가 저장되는 핵심 파일

   - I/O 최소 단위: 오라클은 데이터를 1로우 단위가 아닌, 고정 크기(기본 8KB)의 DB Block 단위로만 읽고 씀

2) Online Redo Log Files

   - 디스크 데이터가 유실되었을 때를 대비해, 모든 변경 이력(History)를 순차적으로 기록하는 파일

   - 최소 2개 이상의 그룹이 돌아가며 순환(Circular) 구조로 기록

3) Control Files

   - DB 이름, Data files 및 Redo files의 절대 경로 등 구조적 메타데이터를 담고 있는 파일

   - 인스턴스가 켜질 때 가장 먼저 읽기 때문에 깨지면 DB 구동 자체가 불가능


 

[Oracle Database 기타 파일]

1) Parameter File (PFILE/SPFILE)

   -  메모리(SGA) 크기 등 오라클 인스턴스의 환경 설정 파일

2) Password File (orapw)

   -  관리자 권한(SYSDBA) 유저를 인증하기 위한 암호 파일

3) Archived Redo Log Files

   -  꽉 찬 리두 로그 파일이 덮어써지기 전에 다른 안전한 곳으로 복사해 둔 백업용 Redo Log


 

[논리적 및 물리적 구조]

논리적 구조 (출처 - Oracle)

 

○ 논리적 구조

: 디스크 파일 안을 오라클 시스템이 효율적으로 관리하기 위해 논리적으로 쪼개놓은 가상의 영역

 1) Tablespace

    - 저장 구조의 최상위 논리 단위

 2) Segment

   - Disk에 실제 Data가 보관된 Object (예: table, index, undo 등)

 3) Extent

   - 미리 할당받는 저장영역

   - 연속된 DB Block의 모음이며, 공간 확장시 Extent 단위로 늘어남

 4) Data Block

   - 오라클 I/O의 최소 기본 단위 (기본 8KB)

   * 하나의 블록 안에는 여러 레코드들이 들어 있고, 데이터베이스에서는 모든 I/O를 블록 단위로 처리함.

      따라서, 한 글자를 조회하더라도 무조건 블록 전체를 메모리로 들고 오기 때문에 블록의 개수를 최소화 하는 것이 중요함

 

논리적 및 물리적 구조 (출처 - Oracle)

 

○ 물리적 구조

: OS 환경에서 파일 탐색기를 열었을 때 눈으로 볼 수 있는 물리적인 단위

1) Data File

    -  디스크 상에 실제하는 물리적인 파일 (.dbf)

    -  하나의 테이블스페이스는 여러 개의 데이터 파일로 구성될 수 있음

2) OS Block

    -  OS가 하드디스크나 SSD에서 데이터를 읽고 쓰는 물리적인 최소 단위