1. 데이터베이스 아키텍처
Oracle Database |
Instance |
SGA |
Data Buffer Cache, Redo Log Buffer |
|
Shared Area |
Library Cache |
|||
Dictionary Cache |
||||
Java Pool, Large Pool |
||||
Background Process |
PMON(프로세스), SMON(Ins 리커버리) |
|||
DBWR, LGWR |
||||
CKPT(체크포인트) |
||||
Database |
Data Files Control Files Redo Log Files |
1. 프로세스 – 백그라운드 프로세서
ORACLE |
SQL SERVER |
SMON |
DATABASE CLEAN UP/ SHRINKING THREAD |
PMON |
OPEN DATA SERVICE |
DBWR |
LAZYWRITER THREAD |
LGWR |
LOG WRITER THREAD |
CHECKPOINT |
DATABASE CHECKPOINT THREAD |
RECOVERER |
DISTRIBUTED TRANSACTION COORDINATOR (DTC) |
2. 파일구조
- 데이터파일 : OS에서 보이면 PHYSICAL, 안보이면 LOGICAL
- 블록(페이지) : I/O의 기본 단위. 오라클은 다양함. SQL SERVER는 8K 단일
- 익스텐트 : 테이블 스페이스로부터 공간을 할당하는 단위. 오라클은 다양한 크기, SQL SERVER는 8개의 익스텐트 유지 (64K)
- 세그먼트 : 저장공간을 필요로 하는 데이터 오브젝트(테이블, 인덱스 등). 분산파일일 경우 속도가 향상되며 테이블 스페이스 내 다양한 파일에 나뉘어 저장가능
- 임시파일 : 대량의 정렬 또는 해쉬 작업 수행 중 메모리 공간이 부족할 경우 활용. 오라클은 별도의 임시 테이블 스페이스 지정가능. SQL SERVER는 단 하나의 TEMPDB 사용.
- 로그파일 : DB버퍼 캐시에 모든 변경사항을 기록. 로그는 APPEND 방식 (빠른 속도)
3. 메모리 구조
- 시스템 공유 메모리 영역: SHARED POOL, DB BUFFER CACHE, LOG BUFFER.
- 프로세스 전용 메모리 영역 : PGA
- ORACLE SGA = SQL SERVER MEMORY POOL
- ORACLE PGA = SQL SERVER는 THREAD기반 존재 X 여기에선 데이터 정렬, 해쉬 관련 작업, 세션과 커서 관련 상태정보 저장한다. ORACLE은 PROCESS 기반이다.
- DB BUFFER CACHE : FREE / DIRTY / PINED BUFFER로 상태별로 나뉘며 LRU와 MRU방식을 통해서 관리를 함
- SHARED POOL : DICTIONARY / LIBRARY CACHE로 이루어짐
- LOG BUFFER : WRITE AHEAD LOGGING방식으로 DB에 기록하기전 LOG BUFFER 기록.
'Oracle DB' 카테고리의 다른 글
옵티마이저 원리 (0) | 2021.04.03 |
---|---|
튜닝 기본 원칙 (0) | 2021.04.03 |
네트워크에서의 대기 이벤트들 (0) | 2021.04.03 |
리두(Redo)에서의 대기 이벤트들 (0) | 2021.04.02 |
I/O에서의 대기 이벤트들 (0) | 2021.04.02 |