- INTRO
ORACLE 서버는 기본적으로 동시에 여러 사람이 쓰는 환경이다(여러 트랜잭션이 동시에 수행된다).
여러 사람들이 쓰다보면 속도에 굉장히 민감하게 되는데 빠른 DB 처리 환경을 위하여 메모리를 이용한다.
여기서 잠깐!
메모리 환경의 장점과 단점을 살펴보면
장점: 처리속도가 매우 빠르다, 단점: 휘발성 장치이기때문에 손실의 위험이 있다.
이런 문제점을 커버하기 위하여 데이터의 안정성을 보장해 주는 스토리지라는 저장영역을 쓰게 된다.
종합해보면
오라클은 모든 데이터를 기본적으로 안전한 스토리지에 보관하고 있다가 요청이 들어오면 데이터를 메모리로 올려서 처리하는 구조를 가지고 있고. 스토리지와 메모리를 연결시켜 주는 여러 가지 프로세스들이 존재한다.
- 인스턴스와 데이터베이스
오라클 서버는 크게 두가지 파트 구성되어 있음
1. 인스턴스(메모리와 프로세스로 구성)
- 메모리
1. SGA(System Global Area)
오라클을 사용하는 사용자가 전부 공유하면서 속도를 빠르게 하는 것은 SGA
그래서 Shared Global Area로도 부른다.
2. PGA(Program Global Arae)
개개인이 공유가 필요없이 속도를 빠르게 하기 위해 메모리에 올리는 것은 PGA
그래서 Private Global Area라고도 부른다.
- 프로세스:
- Background Process가 여러개가 있다.
요청이 있을때만 움직이고 아닌 것들은 sleep모드로 쉬고 있음.
- 그중 Listener라는 프로세스도 있다.
다이렉트 접근이 아닌 네트워크를 이용하여 DB와 연결시켜 주는 애를 Listener라고 함
- Server Process
오라클 요청을 처리해 주는 프로세스
2. 데이터베이스( Storage의 구조)
- Datafile( .dbf로 존재. )
U/D -> User Dictionary 사용자가 넣은 정보 +
D/D(Data Dictionary) -> Metadata 오라클 DB가 DB를 운영할 때 알아야 할 정보)
데이터들이 위치하는곳.
내가 데이터를 디비에 넣는다는 것은 Storage안에 .dbf파일로 위치한다.
데이터파일이 1개일수도 있고 여러 개 일수도 있다.
각각의 장단점이 있음
- Controlfile( .ctl, 물리적인 구조정보)
어느어느 위치에 데이터파일이 있으면서 그 데이터파일은 뭔지 상태는 뭔지 동기화는 됐는지
- Redo log file( .log / .rdo , 작업내역 정보를 갖고 있음)
메모리의 휘발성을 보완하기 위하여 .
메모리에서 일어나는 작업들을 세세하게 적어서 redo log 파일형태로 갖고 있음.
=> 혹시 모를 장애에 대비, 데이터 복구를 위하여
오라클이 잘 돌아가도 복구를 위해서 보험을 드는 것이다.
너무 로그를 자주 쓰면 성능에 좋은영향을 끼치지 못하지만 그것을 감수하고 꼭 해야 하는 것!.
'IT > ORACLE' 카테고리의 다른 글
FLASHBACK 소개 및 절차(ORACLE 데이터 복구) (0) | 2023.06.17 |
---|---|
오라클 테이블 lock 현상 해결 방안(SESSION KILL) (0) | 2023.06.15 |
ORACLE DATA LINK 이론 및 생성, Table에 유저 권한 주기 (0) | 2016.06.23 |
[ORACLE ALERT LOG 관련] Checkpoint not complete가 빈번한 현상 (0) | 2016.06.13 |