오라클 아키텍쳐

mjdevv·2024년 1월 11일
0

데이터베이스

목록 보기
1/6

1. Listener : 유저 프로세스 커넥션 요청을 기다리고, 요청이 들어오면 DBMS에 전달한다.

2. Database Server Process : 유저 요청을 받아 DBMS에서 프로세스를 생성한다. 클라이언트는 이 프로세스를 통해서 DBMS와 상호작용 한다.

3. PGA(Program Global Area) : 개별 사용자 세션 또는 커넥션에 대한 메모리 영역으로 세션마다 독립적이다.

4. SGA(Sharable Global Area) : 여러 사용자 간 공유 되는 메모리 영역.

  • Shared Pool : SQL문, 테이블 및 인덱스의 메타데이터, 공유 SQL과 PL/SQL 저장. 하드파싱 된 sql문을 캐싱 해놨다가 같은 내용의 쿼리가 오면 소프트 파싱 해서 재사용 하게 됨.
  • Large Pool : 대용량 메모리 요구사항 처리시 사용.
  • Redo log buffer : 모든 트랜잭션에 대한 정보가 저장 되는 버퍼. LGWR 백그라운드 프로세스를 타고 로그파일로 저장 된다.

4. Background Processes :

  • CKPT : 데이터베이스 변경 내용을 주기적으로 데이터 파일에 기록
  • SMON : 비활성 트랜잭션의 롤백, 잠금 해제, 오브젝트의 재사용 등 db 인스턴스(system) 관리작업 수행
  • PMON : user process 장애 발생시 회복 작업 담당.
  • DBWn : 더티 버퍼 캐시(변경 내용이 있는 캐시 데이터)의 내용을 디스크의 데이터 파일에 기록
  • LGWR : 트랜잭션 로그를 디스크에 기록
  • RECO : Distributed database 에서 사용.
  • ARCn : redo log file을 Copy

오라클 논리적 구성요소

1. blocks :

  • 데이터 저장의 최소 논리적 단위
  • 최소 IO 단위
  • 운영체제 블록 크기의 배수로 해야 불필요 I/O 방지
  • SELECT 조회시 일반적으로 한 번에 여러 블록을 가져오게 됨.

2. extents :

  • 데이터 블록의 집합
  • 테이블 스페이스가 꽉 찼을 때 저장영역을 확장하는 단위

3. segments :

  • extent들로 이루어 짐.
  • 테이블, 인덱스, 파티션 등을 이룸.

4. tablespaces :

  • 익스텐트들로 이루어짐.
  • 시스템 테이블 스페이스, 사용자 테이블 스페이스로 나뉜다.

정리해보자면 아래의 구조를 가진다고 생각하면 될 것 같다.

blockextentsegmentstablespacestableblock \subset extent \subset segments \subset tablespaces \subset table


오라클 물리적 구성요소

1. 데이터 파일 (.dbf) :

  • 실제 물리 저장소에 저장 되는 파일
  • 한 세그먼트의 서로 다른 익스텐트들이 각자 다른 데이터 파일에 저장 될 수 있다.

2. 리두 로그 파일 :

  • 장애 발생 시 복구용으로 활용
  • 데이터베이스 변경사항 트랜잭션을 기록하여 데이터 일관성을 유지

3. 컨트롤 파일 :

  • 리두 로그의 위치
  • 데이터베이스의 물리적 구조 및 상태정보를 제공

4. 파라메터 파일 :

  • 데이터베이스 설정 정보
  • 메모리 구성 및 설정

REFERENCE

[1] https://www.youtube.com/watch?v=f3RJd7nBlts
[2] https://www.youtube.com/watch?v=EVlC_vLPWq8
[3] https://m.blog.naver.com/ijoos/221113449475

profile
방구석 언어기술자

0개의 댓글

관련 채용 정보