Msg 성장일기

오라클 데이터베이스 디스크 구조 본문

study_DB/Oracle

오라클 데이터베이스 디스크 구조

공부하는 어른이 2023. 9. 13. 00:30

오라클 데이터베이스 주요 디스크 구조

1) 컨트롤 파일

2) 데이터 파일

3) 리두 로그 파일

 

1) 컨트롤 파일 (Control File)

: 데이터베이스 구성 정보(DataFile, Redo Log File의 위치, 데이터베이스의 시점(SCN)등)를 담고 있는 파일로써, 데이터베이스의 구성에 변경이 일어날 때마다 오라클에 의해 갱신되는 핵심 파일입니다.

Control File도 데이터베이스를 구성하는 핵심 파일들의 위치를 기억하고 이들과 지속적으로 동기화를 해서 데이터베이스 정상 상태를 유지합니다. 

 

예를 들자면, control file은 뇌와 같다. 뇌의 기능이 비정상이면 자신이 누구인지 모르고몸을 움직일 수 없는 식물인간이 되는 것처럼 Control File의 상태가 비정상이면 데이터베이스는 정상적인 기능을 수행할 수 없습니다.

 

2) 데이터 파일 (Data File)

: 데이터베이스 내 실제 데이터가 저장되어 있는 파일.

즉, 사용자의 데이터가 담긴 테이블이나 인덱스와 같은 오브젝트들이 저장되어있으며 Data Dictionary Table 등 오라클이 내부 관리를 위해 사용하는 메타데이터도 데이터 파일에 저장되어 있다.

데이터 파일들의 파일 헤더 부분에는 마지막 체크포인트 시점 정보(SCN)가 기록되며 이를 이용하여 Database Open  Control File의 체크포인트 시점 정보와 비교하여 데이터의 정합성을 확인다.

 

그리고 한 개 이상의 데이터 파일을 그룹으로 묶어 데이터를 저장하는 논리적인 저장 공간인 테이블 스페이스를 구성한다.

 

* 데이터 파일의 가장 작은 단위는 블록(block)이다.

* 블록(block)이 모여서 익스텐트(Extent)를 구성한다.

* 익스텐트가 모여서 하나의 세그먼트(Segment)를 만든다.

 

오라클은 데이터가 삽입될 때 단편화(Fragmentation)을 방지하기 위해 블록을 하나씩 할당하지 않고 익스텐트(Extent)단위로 할당한다.

 

 

3) 리두 로그 파일

: 데이터 파일에 대한 변경 내역을 저장하는 파일로써 장애 발생 시 메모리와 디스크 사이에 동기화되지 않은 데이터를 복구하는데 사용한다.

 

Redo Log 정보에서 STATUS 컬럼에 대해 조금 더 설명을 하자면

 

1. CURRENT 상태는 현재 Redo Log가 작성 중인 Redo 로그파일,

 

2. ACTIVE는 Checkpoint를 통해 메모리와 디스크 사이의 동기화가 필요한 상태의 Redo 파일,

 

3. INACTIVE는 Checkpoint를 통해 메모리와 디스크의 사이의 동기화가 끝나서 

다음 시퀀스의 Redo Log로 덮어 쓰일 준비가 되어있는 상태의 Redo 파일을 의미한다.

'study_DB > Oracle' 카테고리의 다른 글

파티션  (0) 2024.08.05
오라클 설치(구축)  (0) 2023.11.27
리두 로그, 아카이브 로그  (0) 2023.09.13
오라클 인스턴스 구성  (0) 2023.09.08
오라클 기본구조  (0) 2023.09.07