오라클 스토리지 구성은 논리적 구조와 물리적 구조로 나뉘어 설명 드리겠습니다.
오라클의 논리적 구조는 오라클 블록 , 익스텐트 , 세그먼트, 테이블스페이스, 데이터베이스로 나뉘어 집니다.
오라클의 물리적 구조는 OS 블록, 데이터 파일이 있습니다.
오라클 데이터 스토리지 구성에 있어서 가장 최소의 논리적 단위는 오라클 블록입니다.
최소 입출력 단위인 데이터블록들이 모여 익스텐트를 구성하게 되고, 익스텐트들이 모여 세그먼트를 구성하고, 세그먼트들이 모여 테이블 스페이스 구성되어 집니다.
물리적인 dbf 파일들은 논리적구조의 테이블스페이스와 상응한다고 생각하시면 됩니다.
오라클 블록이란 ?
데이터들이 저장 되어지고 오라클 내부에서 데이터 접근을 위해 발생하는 최소 I/O 입출력 단위
-> 블록은 4,8,16,32KB로 기본 8KB로 구성되어집니다.
후에 말씀드리겠지만 오라클 데이터블록의 크기는 메모리 사용에 있어 매우 중요한 역할을 하게 됩니다.
오라클 DBMS 는 블록 사이즈에 따라 디스크 I/O가 빈번하게 발생할 수도 있고( 블록의 크기가 작을 시 ), Full Scan 시 시간이 오래 걸릴 수도 있습니다.( 블록의 크기가 클 시 )
그래서 오라클 인스턴스 부분에서 메모리 효율성에 있어서 오라클 블록의 중요성이 두드러 지는 것입니다.
익스텐트란 ?
위에서 설명한 오라클 블록들이 모여 만들어진 것이 익스텐트입니다.
익스텐트는 오라클블록들이 모여 만들어진 것이라고 설명해 드렸습니다. 익스텐트는 DML 쿼리문에 의해 데이터가 증가되었을 때 데이터가 데이터 파일에 내려써 지면서 데이터블록과 익스텐트가 증가 되어 집니다. 여기서 HWM ( High Water Mark ) 라는 개념이 있습니다.
HWM - 추후에 설명드림
세그먼트란 ?
익스텐트들의 집합
세그먼트는 테이블 , 인덱스 , 뷰 등이 세그먼트에 해당한다고 생각하시면 됩니다.
테이블스페이스란 ?
테이블스페이스에는 SYSTEM,UNDO,TEMP,SYSAUX, USER 테이블스페이스가 있습니다.
이는 물리적 구조의 데이터 파일이 모여 만들어 집니다. 위에서 말한 테이블스페이스들은 오라클 DBMS를 설치하게 되면 기본적으로 생성되는 테이블스페이스들입니다.
'Oracle' 카테고리의 다른 글
[Oracle] Linux Cent OS 7에서 Oracle 12c R2 Single 설치 (0) | 2024.02.20 |
---|---|
Oracle Database Architecture ( 오라클 아키텍쳐 ) (0) | 2024.02.17 |
ORA-12705: Cannot access NLS data files or invalid environment specified (1) | 2024.02.17 |