[SQLD/P] Oracle 메모리 구조

Hyo Kyun Lee·2022년 9월 15일
0

SQLD/P

목록 보기
25/82

1. oracle 서버 실행 과정

user application의 실행, 다시 말해 사용자 측 query를 실행하여 oracle 서버를 실행한다고 해보자.

이때 oracle 서버는 Database뿐만 아니라, application과의 상호작용을 위해 oracle 인스턴스와 서버 프로세스를 실행한다. 이때 실행하는 서버 프로세스가 PGA이다. Oracle 인스턴스와 server process는 user process(user 측)과 DB 사이에서 서로의 상호작용을 중개하는 매우 중요한 역할을 수행한다.

user process <> server process(PGA) <> oracle instance(SGA) + background process <> DB

2. oracle 메모리 구조

Oracle 메모리 구조는 oracle instance 내부의 메모리 구조, SGA를 일컫는다.

인스턴스가 SGA와 background process로 이루어져 있으며, PGA는 메모리 구조에 속하진 않지만 헷갈릴 수 있으므로 잘 유의할 수 있도록 한다.

인스턴스(SGA/background process) + DB

  • SGA(공유메모리)

말 그대로 여러 사용자 간 공유하는 정보가 들어있으며, DBMS에 대한 데이터 정보 등이 있다.

Oracle instance의 일부이다.

  • PGA(private 메모리)

oracle server가 실행될때 인스턴스와 함께 실행되는 server process를 일컫는다.

  • background process

내가 헷갈린 부분, PGA는 background process를 의미하는 것이 아니고 background process는 SGA와 함께 Oracle 내부 메모리 구조를 이루는 부분 중 하나이다.

PGA에서 query 실행결과를 저장하는 것은 맞지만, 이것이 인스턴스 내부 구조는 아니다. background process는 oracle 인스턴스를 실행하기 위해 반드시 필요한 프로세스이다.

3. 참고자료

Oracle server가 구동하는 방식 - https://jeong-pro.tistory.com/147
Oracle server의 전체적인 구성도, 구성방식 - https://codingmoonkwa.tistory.com/216

0개의 댓글