Notice
Recent Posts
Recent Comments
Link
반응형
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 서버
- springboot
- 컬렉션프레임워크
- 카카오코딩테스트
- 클래스
- 자바
- Swing
- 친절한 SQL 튜닝
- 인스턴스
- 상속
- 클라이언트
- 메소드
- DB
- 오라클
- 인덱스 range scan
- Oracle
- 깃허브
- 인덱스 기본
- SQL
- db버퍼캐시
- SQLP
- JavaScript
- 인덱스 튜닝
- 멀티쓰레드
- 생성자
- java
- Spring
- 백준
- socket
- 코딩
Archives
- Today
- Total
프리 정보 컨텐츠
오라클 아키텍처 구성과 오라클 인스턴스 본문
반응형
오라클 아키텍처 구성
오라클 아키텍처는 크게 다음과 같이 구성된다.
오라클 인스턴스
오라클 인스턴스는 SGA와 Process로 구성되어있다.
SGA (System Global Area)
- Oracle은 구동을 시작할 때 가장먼저 SGA라는 메모리 캐시 영역을 할당한다.
- 크게 DB 버퍼캐시, Shared Pool, Redo Log Buffer 3가지로 존재한다.
- SGA는 공유 메모리 영역으로 많은 프로세스가 동시에 데이터를 액세스하여 사용자 데이터를 보호하는 메모리 액세스를 직렬화 하기 위한 Latch 가 필요하다.
A - DB 버퍼캐시
- DBWR에 의해서 관리되며 데이터 파일들로부터 읽은 Data Block의 복사본을 담고 있는 영역이다.
- 수행하는 SQL문장의 실제 데이터를 메모리에 저장하여 다른 사용자의 동일한 데이터 요청 시 Disk I/O 수행 대신 메모리상의 데이터를 리턴한다.
- LRU(가장 최신 데이터 위주 사용) 알고리즘으로 가장 오래 전 사용된 것은 DISK로 보내고 가장 최근 블록을 유지한다.
Shared Pool
- SGA내에 위치한 Shared Pool은 하나의 데이터베이스에 행해지는 모든 SQL문을 처리하는데 사용한다.
라이브러리 캐시
- 같은 SQL문을 재실행할 때 Hard Parse 생략하고 Soft Parse 되도록 SQL 정보를 저장하는 곳이다.
- 라이브러리 캐시는 SQL과 PL/SQL 영역을 저장한다.
딕셔너리 캐시
- 데이터베이스 테이블과 뷰에 대한 정보, 구조, 사용자 등에 대한 정보가 저장된다.
Redo Log Buffer
- 데이터베이스에서 일어난 모든 변화를 저장하는 메모리이다.
- LGWR에 의해 데이터베이스 복구에 사용되는 온라인 리두로그 파일에 버퍼값들을 저장한다.
백그라운드 프로세스 종류
SMON (System Monitor)
- 오라클
인스턴스를 복구
한다. - 불필요한 임시 세그먼트를 정리한다.
- 변경 내용을 리두 로그 버퍼에 저장하고 DB Buffer Block에
버퍼 내용을 저장
한다. - 오라클 전반적인 시스템을 감시한다.
PMON (Process Monitor)
- 이전에 실패한 사용자 프로세스를 정리한다.
- Lock 프로세스 소멸시 Lock을 해제하는 등의 사용자가 사용하고 있는
리소스를 정리
한다.
DBWR (Database Writer)
- 데이터 블럭 버퍼 캐쉬와 딕셔너리 캐쉬 내용을 관리한다.
버퍼캐시 내용을 데이터 파일에 저장
한다.
LGWR (Log Writer)
- 리두 로그 버퍼의 내용을
온라인 리두 로그파일에 기록
한다.
CKPT (체크포인트)
- 변경된 모든 블록을 데이터 파일에 쓰도록 유도한다.
- 데이터 파일 헤더와 컨트롤 파일을 변경한다.
PGA (Program Gloabal Area)
- 유저 프로세스가 서버 프로세스에게 세션을 허락해 달라는 요청을 하면 유저 프로세스를 처리하기 위한 메모리가 요구되는데 이 때 사용되는 메모리 영역이다.
DataBase
- 디스크에 저장된 데이터 집합이다.
반응형
Comments