오라클 데이터베이스 아키텍처 쉬운 정리
개념(DB 란?)
Database(a.k.a DB)는 여러 사람에 의해 공유되어 사용될 목적으로 통합하여 관리되는 데이터의 집합
자료항목의 중복을 없애고 자료를 구조화하여 저장함으로써 자료 검색과 갱신의 효율을 높임
데이터 베이스는 최소 1개 이상의 인스턴스로 구성
- 1개의 인스턴스 - 단일 데이터베이스
- 다중 인스턴스 - RAC(Real Application Cluster) 데이터베이스
이 중 Oracle Database는 오라클에서 관리하는 RDBMS(Relational Database Management System)이며,
가장 대중적으로 많이 사용
Data & Instance
- 인스턴스 - 메모리 구조와 백그라운드 프로세스들의 구성, 컴퓨터 시스템의 메인 메모리에서 실행
- 데이터베이스 - 다양한 파일로 구성 ( Control Files, Redo Log files, Data Files ...), 저장소(스토리지)에 존재
Instance - 어플리케이션은 실제 인스턴스를 통해 데이터에 접근
System Global Area / SGA - Shared Memory
Process Global Are / PGA - Private Memory
여러 서버 및 백그라운드 프로세스들이 SGA를 통해 shared memory 를 사용하고 각 프로세스별 PGA (Private Memory)를 별도로 사용. PGA -> ETA 라 부름.
Process 의 종류
- Client Process - Application 또는 오라클 툴(like SQL Plus) 코드 실행
- Oracle Process - 오라클 DB 코드 실행 ( 서버 프로세스, 백그라운드 프로세스 )

Server Process(a.k.a Foreground Process)
- Client의 요청에 의해 수행 / Connection 이 끊기거나 Closed 되면 수행 불가
ex) SQL 파싱, 수행, 결과를 Client에게 반환 // 호텔, 레스토랑의 서버와 같은 역할 수행
- User가 DB Connection 을 생성하면 시작, Connection 이 없으면 서버 프로세스는 존재하지 않음
-> 메모리의 증가는 DB Connection 개수와 비례
Background Process
- 데이터베이스 작동에 필요한 유지 관리 작업 수행
- 각각의 background process는 분리된 작업을 갖고있지만, 다른 프로세스들과 같이 일함
- Oracle DB는 DB Instance가 시작되면 자동으로 background process를 생성
ex) 호텔, 레스토랑에서 보이진 않지만 실제 일을 하는 쉐프, 매니저 등
Oracle Database Storage Structures
- 데이터의 저장과 관리를 위해, 오라클 DB는 Physical/Logical 스토리지 구조를 사용
Physical 스토리지 구조
- Physical storage structures(PSS)에는 Data 파일, Control 파일, Redo 로그 파일이 있다.
- PSS는 Operating system(OS) 수준에서 볼수 있다.

Logical 스토리지 구조
- 오라클 DB는 DB에 모든 데이터에 대한 Logical 공간을 할당
- 데이터베이스 공간 할당의 논리적 단위는 데이터 블록, 익스텐트, 세그먼트 및 테이블스페이스
- Logical storage structures(LSS) 는 오라클 DB에 의해 만들어지고 인식되며, OS에는 알려져 있지 않음
- Physical level에, 데이터는 디스크의 데이터 파일에 저장된다. 그리고 데이터파일의 데이터는 OS 블록에 저장
- Data Block : 오라클 DB 속 데이터 저장소의 가장 작은 논리적 단위, 1 논리 데이터 블록은 물리적 디스크 공간의 특정 바이트 수에 해당
- Extent : 특정 종류의 정보를 저장하는데 할당된, 논리적으로 연속된 데이터 블록의 집합
- Segment : 테이블 처럼 특정 DB 객체에 할당된 extents의 집합
- Tablespace : 1 또는 그이상의 segments를 포함한 db의 저장 단위
Logical 스토리지 계층 - 테이블 스페이스 내의 데이터 블록, extents 및 Segmant 간의 관계

LSS - PSS 사이의 관계


참고자료 : Oracle Database Architecture - Part1
https://www.youtube.com/watch?v=cvx9wCQZnKw&ab_channel=UclidITSchool