Notice
Recent Posts
Recent Comments
Link
나의 개발일지
[Oracle] 데이터베이스 구조 (Database, SGA/PGA) 본문
오라클 데이터베이스 구조
- 인스턴스 : 메모리 안에 만들어지는 오라클 시스템의 논리적인 구조
- 데이터베이스 : 하드 드라이브 안에 만들어지는 오라클 시스템의 물리적인 구조
- 인스턴스, 데이터베이스는 동적으로 연결되어 있다.
Instance |
SGA (System Grobal Area) 모든 사용자가 공유 가능하여 사용 |
Shared Pool | Library Cache | - 모든 SQL 문장, 문장의 실행계획이 저장된 공간 |
Data Dictionary Cache |
- 최근에 사용된 DB 정의 정보가 저장된 공간 - 정의 정보 : file, object, 권한, 제약조건 등 - 구문 분석이나 실행계획을 세울 때 사용하는 Dictionary들이 Cache 된 공간 |
|||
Database Buffer Cache | - 데이터의 조회와 변경 등 실제 실행 작업을 하는 공간 | |||
Redo Log Buffer Cache | - DB에서 발생된 변경작업의 로그정보가 기록되는 공간 | |||
Background Process |
PMON | - 프로세스 모니터 - 메모리를 돌아다니며 좀비 프로세스를 죽여 메모리를 반환받을 수 있게 함. |
||
SMON | - 시스템 모니터 - 오라클이 비정상 종료되어 인스턴스 장애가 생겼을 때 Redo Log file에 있는 내용으로 데이터 파일을 복구 할 때 실행 |
|||
DBWR | - DBWn, DBWO 라고 쓰기도 함 - Database Buffer Cache에 있는 내용이 기존의 Data file에 있는 내용과 달라졌을 때 Data file로 옮기는 역할 |
|||
LGWR | - LGWn, LGWO 라고 쓰기도 함 - commit이 발생될 때 Redo Log Buffer Cache의 로그 정보를 Redo Log file로 기록함 |
|||
CKPT | - 체크 포인트 - DBWR와 LGWR의 기동 시기가 달라서 동기화가 되지 않을 때 동기화 시키기 위해 작동 |
|||
Database |
Database 3대 파일 |
Data file | - 테이블 뷰, 인덱스, 계정 시퀀스 등등 생성한 모든 Segment를 저장 - 실제 Data가 저장되는 공간 |
|
Control file | - Data file과 Redolog file의 위치를 저장 - Control file을 통해서 다른 파일의 위치를 참조 - 데이터베이스의 무결성을 유지 관리함 |
|||
Redolog file | - DB에서 발생된 변경 작업의 로그 정보가 기록된 공간 - 주목적 : Data file Recovery (복구) |
|||
Database 바깥 |
Parameter file | - Instance의 정의 정보가 기록된 공간 - DB의 여러 설정 정보가 기록된 공간 - 오라클 실행시 가장 먼저 확인 |
||
Password file | - DB를 시작/종료할 수 있도록 인증할 때 사용하는 파일과 OS 인증 정보가 들어있음 | |||
Archived Log file | - Redolog file의 용량이 꽉 찼을 때 Redo Log의 작업 일지를 옮겨놓는 파일 |
PGA (Program Global Area) 데이터베이스에 접속하는 모든 유저에게 할당되는 각각의 서버 프로세스가 독자적으로 사용하는 오라클 메모리 영역 |
Sort Area | - Order By 또는 Group By 등의 정렬을 수행하기 위한 공간 - SQL의 작업 공간 - 가장 많은 공간을 할당 |
Session Information | - 추출된 결과 값을 전달하기 위해 유저 프로세스의 세션 정보를 저장 |
|
Cursor State | - 해당 SQL의 파싱 정보가 기록되어 있는 주소를 저장한다. - 실행한 SQL문의 위치 |
|
Stack Space | - SQL 문장에 Bind 변수를 사용할 때 이를 저장하는 공간 |
'Oracle SQL 엔진' 카테고리의 다른 글
[Oracle] SQL 명령어 분류(DDL, DML, DCL) (0) | 2022.12.21 |
---|---|
[Oracle] 오라클 서버 기동 단계 (1) | 2022.12.21 |
[Oracle] Table Lock의 종류 (0) | 2022.12.20 |
[Oracle] Parsing(구문 분석) (0) | 2022.12.20 |
[Oracle] 데이터베이스 논리적/물리적 구조 (0) | 2022.12.20 |
Comments