Oracle SQL 엔진
[Oracle] 데이터베이스 논리적/물리적 구조
YoonJuHan
2022. 12. 20. 11:37
논리적 구조 / 물리적 구조
- 데이터의 효과적인 저장, 관리를 하기 위해서 논리적 / 물리적 구조에 대한 이해가 필요
Database
- 논리적 구조인 Tablespace가 여러 개 모여서 테이터베이스를 구성
Tablespace / Data File
- Tablespace : 하나의 Database를 구성하는 여러 개의 논리적 구조
- Tablespace는 기본적으로 System, Undo, Temp Tablespace가 생성
- 사용자에 의해 추가적으로 여러개의 TBS 생성 가능
System TBS
- Data Dictionary 테이블들이 저장되는 논리적 구조
- Data Dictionary : DB내에 생성되어 있는 모든 객체들에 대한 정보, DB의 현재 상태를 저장
Undo TBS
- DML(Insert, Update, Delete)문을 실행하여 변경할 때 변경 전의 Data가 저장되어 있는 임시 공간
- 1에서 2로 변경하면 1이 Undo TBS에 저장되고 Rollback을 하면 1을 다시 불러옴
Temporary TBS
- Data를 Sorting(분류)하기 위해 필요한 임시 공간
- SQL문이 ORDER BY, GROUP BY, DISTINCT 등 Sorting을 요구하면 잠시 사용하는 임시 공간
Segment
- DB내에 생성되는 모든 객체(테이블, 인덱스, 뷰, 시퀀스)들을 Segment라고 함
- 여러 개의 Extent가 모여 구성
Extent
- 테이블을 생성하면 익스텐트라는 공간이 할당되고, 이 공간이 모두 사용되면 다시 익스텐트를 할당 받아 데이터를 저장
- 여러 개의 Block이 모여 구성
Block
- 오라클 DB의 가장 작은 저장 구조
- 연속적인 데이터를 여러 개의 블록 구조로 쪼개서 관리함으로써 효율성을 높이게 됨