[Oracle] 오라클 DB 구조

chael_lo·2021년 6월 28일
0

Oracle

목록 보기
5/17

데이터 처리

사용자가 요청한 데이터를 disk에서 찾을 경우

다수가 요청할 경우 Performance에 문제가 생긴다.
(= disk io(input/output)가 빈번히 발생하여 Performance에 문제가 생긴다.)

사용자가 요청한 데이터를 memory에서 찾을 경우

memory에 있는지 확인 후 메모리 데이터를 전송한다.
(= disk io를 줄여준다.)

오라클 instance = memory + process

disk io를 줄여주는 memory데이터의 요청을 처리하는 process 합쳐서 부르는 말이다.

데이터베이스(DB)

실제 disk에 저장된 물리적 공간의 데이터다.

오라클 DB = 오라클 instance + DB

오라클 구조

오라클 서버

통합적인 정보 관리를 위한 객체 관계형 데이터베이스 관리 시스템이다.
오라클 instance와 데이터베이스로 구성되어 있다.

오라클 instance

백그라운드 프로세스와 메모리 버퍼로 구성되어 있다.

시스템 글로벌 영역(SGA, System Global Area)

오라클 DB는 모든 사용자의 제어 정보와 데이터를 포함하며,
사용자가 실행하는 SQL문에 의해 검색 또는 변경되는 테이블 데이터를 저장하는 오라클 서버의 공유 메모리 영역이다.

특징

  • 하나의 SGA와 오라클 프로세스가 하나의 오라클 인스턴스를 구성한다.
  • 오라클은 인스턴스가 시작될 때(= 오라클 서버 시작할 때) 자동으로 SGA를 위한 메모리를 할당하고, 인스턴스를 종료하면 운영체제가 메모리를 회수한다.
  • SGA는 여러 사용자가 공유한다.

오라클 DB 세 가지 물리적인 구성 요소

프로세스(Process)
메모리에 상주해 있는 실행중인 프로그램을 말한다.
백그라운드 프로세스와 사용자 프로세스, 그리고 서버 프로세스로 구성된다.

  • 사용자 프로세스: C++과 같은 응용 프로그램이나 엔터프라이즈 매니저와 같은 오라클 툴을 실행할 때 사용되는 프로세스다.
    사용자가 실행시킨 SQL 문을 서버 프로세스에게 전달하기 위해 사용한다.
    사용자 프로세스에는 DB 접속 시 사용된 사용자 이름과 패스워드 정보, 접속된 시간 등의 정보가 저장된다.
  • 오라클 프로세스: 오라클 DB 서버를 기동하는데 필요한 프로그램들을 의미한다.
    - 구성
    • 서버 프로세스
      데이터베이스 내의 물리적인 구조와 메모리 구조 사이를 관리하는 프로세스
    • 백그라운드 프로세스
      물리적으로 저장된 데이터들을 메모리에 올리는 역할을 하는 프로세스

메모리
공유 풀, 데이터 버퍼 캐시, 로그 버퍼, 그리고 라지 풀
파일
데이터 파일, 컨트롤 파일, 리두로그 파일, 파라미터 파일

서버 프로세스

구문분석(Parse): 구문상의 정확성, 보안 엑서스, 최적화된 실행 계획 수립
실행(Execute): 문장의 실행, 데이터 읽기와 변경
인출(Fetch): Select 구문일 경우 그 결과를 사용자에게 전달

출처: 유튜브 오라클 데이이터베이스 구조

profile
천천히 꾸준히

0개의 댓글