[DB] ORACLE DATABASE 구조

@욕심쟁이

·

2020. 9. 4. 12:09

반응형

DATABASE

Data files

- 실제 Data가 저장된 파일
- Data Dictionary가 저장된 파일

 - v$datafile 
Control files

- DB의 무결성을 유지관리할 수 있는 모든 동기화 정보가 기록된 파일
(DB의 논리적/물리적 구조정보, 마지막 작업번호(SCN), …)
- DB 당 하나만 존재
- 다중화 기능 제공(최대 8개까지, 권장 : 3개)
- 파일의 내용 기록을 동시에 똑같은 내용으로 여러 파일에 기록하는 기술

- v$controlfile 
Redo log files

- DB에서 발생된 모든 변경작업의 로그정보(=Redo data)가 기록된 파일 
- 목적 : Datafile recovery
- DB당 최소 2개이상 존재해야 함.
- 순환형으로 관리
- 다중화 기능 제공

- v$log
- v$logfile(상세정보) 
Parameter files

- Instance 정의정보가 보관된 파일
(SGA 할당정보, Background process 설정 정보, … )
- DB의 여러 설정정보가 보관된 파일

 
Passwoard files

- DB의 시작/종료 할 수 있는 인증 파일

 
Archived log files(option)

- Redo log file의 Offline 복사본
- 목적 : datafile recovery

 

INSTANCE

1. SGA(System Global Area)

Shared pool
(사전준비작업을하는공간)
library Cache - 최근에 실행된 SQL구문과 실행계획이 저장된공간
(대소문자, 공백까지 일치)
- LRU(Least Recent Used) 알고리즘(FIFO)
Data Dictionary

- 최근에 사용된 DB 정의정보(data dictionary)가 저장된 곳
- LRU(Least Recent Used) 알고리즘(FIFO)

DB buffer cache
(실행작업이 수행되는 공간)

- 최근에 사용된 Data Block이 저장된 공간
- LRU(Least Recent Used) 알고리즘(FIFO)

Redo log buffuer -DB에서 발생된변경자겅ㅂ의 로그정보(=Redo data )가 기록되는 공간

2. Background Process

POMO(process monitor)

- User process fail시 진행중인 트랜잭션 롤백 및 선점하고 있는 자원과 잠금을 해제

SMON(System monitor) - Instance fail(=비정상 종료) 시 DB 재시작 시 DB 동기화작업(=Instance recovery) 수행

DBWR(Datafile Writer)

- DB buffer cache의 Dirty block을 Datafile로 기록

- 체크포인트 발생 시 작업을 수행

LGWR(Log Writer)

- Redo log buffer의 Log정보(=Redo data)를 Redo log file로 기록
CKPT(CHECK POINT) - 체크포인트 발생 시 DBWR에게 알려줌

ARCn(option)

- DB가 Archive log mode인 경우 활성화 됨
- 로그 스위치 발생 시 Redo log file의 offline 복사본인 Archived log file을 만들어줌.

 

반응형