본문 바로가기

it관련

오라클 데이터 베이스의 구조

반응형

오라클 데이터 베이스의 구조


오라클 데이터 베이스의 구조

=오라클 서버의 구조

 

오라클 서버 3가지 영역


1) 프로세스 구조

사용자 프로세스: client 로부터 사용자가 접속하기 위함.

서버 프로세스,

백그라운드 프로세스 (5가지: 오라클 서버가 시작하기 위해 반드시 필요)

 

2) 메모리 영역(instance)

SGA영역 : 3가지 영역으로 분포.

data buffer cache, long buffer , shared pool , large pool

SGA 영역 + 백그라운드 프로세스 = 메모리 (instance)

 

3) 파일 : data files, control files, redo log files

(archived log files, parameter file, password file)


# 오라클 서버 3가지 영역 : 프로세스 구조, 메모리 , 파일

 

<select문의 처리과정>

SQL 튜닝, 서버 튜닝

오라클 데이터베이스가 사용가능한 상태.

oracle Database

data files 에 저장됨.

물리적 개념의 files, 논리적 개념의 database

 

# 사용자 database 에 접속 -> 사용자 프로세스(접속일자,사용자,암호)/서버 프로세스 활성화(PGA-구문분석parse,문법/의미/권한검사/실행계획)

parsing -> shared pool중 library cache 에서 parsing 결과를 load하게 됨.


ex) C, cobol, fotran 등 complie 언어를 통해 반복적으로 실행할 logic은

application을 통해서 실행. 그 이전 단계에서는 interpret 언어는 가장 대표적인

basic인데, 처리하고자하는 logic을 작성한뒤 enter를 치게 되면, basic complier가

문법을 체크하고 , 실행. 재실행하려면 작성한 문장을 다시 실행하게 되면,

다시 parsing. 실행할때마다 parsing을 하게 됨. 문법-의미-권한 체크후 일일이 확인하는 방식. 실행될때마다 문법과 의미를 체크하는 일을 반복적으로 실행하므로 성능이 저하됨.

 

SQL 언어(오라클 데이터에서 소개됨)는 대표적 인터프리터 언어. 실행될때마다 문법을 체크하는 방식. 이런 방식으로는 데이터방식으로 성능상의 문제가 유발될 수 있음. 데이터베이스에서는 SQL 언어의 성능상 저하문제가 있으므로 , compile 언어와 유사하게 하기 위해서 shared pool 중 library chace에서 parsing된 결과를 load 하게됨.

 

동일한 문장을 실행하게 되면, 다른 사용자에 대해서 실행된 것이 있는지 분석하기 위해서 library cache에서 분석하게됨. A에 대해서 parsing된 것이 있는데, 동일 문장이 검증되었다면, 사용자 B가 쓸때는 동일문장에 대해서 반복적인 작업을 하지 않기 위해서 parsing 결과를 memory 영역에 load 해놓음

 

SQL언어는 interpret 언어의 특징을 갖고 있지만, compile 언어의 특징을 갖고 있음.

parsing이 끝나면, excute가 시작됨.

 

# 실행 Excute

: 데이터 파일로부터 읽음. SGA 영역 안의 data buffer cache 영역으로 load하는 것을 뜻함.

 

# 인출 (Fetch)

: data buffer cache영역에 로드되어있는 사용자 정보를 읽는 것

사용자가 실행한 SQL 문장을 나타냄.

반응형

'it관련' 카테고리의 다른 글

사이버수사대는 어떤 직업인가요  (0) 2017.06.10
윈도우 환경변수(Path) 추가방법  (0) 2017.06.10
인터넷 실명제란 필요의 악  (0) 2017.06.10
쇼핑몰을 운영하고 있는 현실  (0) 2017.06.09
TRUNC함수의 이해  (0) 2017.06.09