나의 개발일지

[Oracle] 데이터베이스 구조 (Database, SGA/PGA) 본문

Oracle SQL 엔진

[Oracle] 데이터베이스 구조 (Database, SGA/PGA)

YoonJuHan 2022. 12. 19. 23:19
오라클 데이터베이스 구조
  • 인스턴스 : 메모리 안에 만들어지는 오라클 시스템의 논리적인 구조
  • 데이터베이스 : 하드 드라이브 안에 만들어지는 오라클 시스템의 물리적인 구조
  • 인스턴스, 데이터베이스는 동적으로 연결되어 있다.

 

오라클 DB의 구조







Instance






SGA
(System Grobal Area)
모든 사용자가 공유

가능하여 사용
Shared Pool Library Cache - 모든 SQL 문장, 문장의 실행계획이 저장된 공간
Data Dictionary
Cache
- 최근에 사용된 DB 정의 정보가 저장된 공간
- 정의 정보 : file, object, 권한, 제약조건 등
- 구문 분석이나 실행계획을 세울 때 사용하는
   Dictionary들이 Cache 된 공간
Database Buffer Cache - 데이터의 조회와 변경 등 실제 실행 작업을 하는 공간
Redo Log Buffer Cache - DB에서 발생된 변경작업의 로그정보가 기록되는  공간


Background
Process


PMON - 프로세스 모니터
- 메모리를 돌아다니며 좀비 프로세스를 죽여
  메모리를 반환받을 수 있게 함.
SMON - 시스템 모니터
- 오라클이 비정상 종료되어 인스턴스 장애가 생겼을      때 Redo Log file에 있는 내용으로 데이터 파일을
  복구 할 때 실행
DBWR - DBWn, DBWO 라고 쓰기도 함
- Database Buffer Cache에 있는 내용이 기존의
  Data file에 있는 내용과 달라졌을 때 Data file로
  옮기는 역할
LGWR - LGWn, LGWO 라고 쓰기도 함
- commit이 발생될 때 Redo Log Buffer Cache의
  로그 정보를 Redo Log file로 기록함
CKPT - 체크 포인트
- DBWR와 LGWR의 기동 시기가 달라서 동기화가
  되지 않을 때 동기화 시키기 위해 작동


Database




Database 3대 파일

Data file - 테이블 뷰, 인덱스, 계정 시퀀스 등등 생성한 모든
  Segment를 저장

- 실제 Data가 저장되는 공간
Control file - Data file과 Redolog file의 위치를 저장
- Control file을 통해서 다른 파일의 위치를 참조
- 데이터베이스의 무결성을 유지 관리함
Redolog file - DB에서 발생된 변경 작업의 로그 정보가 기록된
 공간

- 주목적 : Data file Recovery (복구)

Database 바깥

Parameter file - Instance의 정의 정보가 기록된 공간
- DB의 여러 설정 정보가 기록된 공간
- 오라클 실행시 가장 먼저 확인
Password file - DB를 시작/종료할 수 있도록 인증할 때 사용하는 파일과 OS 인증 정보가 들어있음
Archived Log file - Redolog file의 용량이 꽉 찼을 때 Redo Log의
  작업 일지를 옮겨놓는 파일

PGA

PGA
(Program Global Area)

데이터베이스에 접속하는 모든 유저에게 할당되는 각각의 서버 프로세스가 독자적으로 사용하는 오라클 메모리 영역
Sort Area - Order By 또는 Group By 등의 정렬을
  수행하기 위한 공간

- SQL의 작업 공간
- 가장 많은 공간을 할당
Session Information - 추출된 결과 값을 전달하기 위해 유저
  프로세스의 세션 정보를 저장
Cursor State - 해당 SQL의 파싱 정보가 기록되어 있는
  주소를 저장한다.

- 실행한 SQL문의 위치
Stack Space - SQL 문장에 Bind 변수를 사용할 때
  이를 저장하는 공간

 

Comments