자바 웹 개발자가 될거야/DB

[Oracle] 오라클 데이터베이스 구조

whitz 2021. 12. 20. 15:58

< 오라클 데이터베이스 구조>

 

- 오라클 데이터베이스는 크게 데이터베이스와 인스턴스로 되어있다.

 

 

① 데이터베이스 구성

 

- 데이터베이스의 필수 물리적인 파일은 파라미터파일, 패스워드파일, 데이터파일, 컨트롤파일, Redo로그파일

  · 하나라도 모자라면 DB 생성 안됨

  · 아카이브로그파일은 옵션이다.

 

② 인스턴스 구성

 

- 인스턴스는 SGA 메모리구조와 여러개의 백그라운드 프로세스로 구성됨

- SGA의 필수 메모리구조는 Shared pool 메모리 구조, DB buffer cache 메모리, Redo log buffer 메모리

  · 옵션 메모리 구조로는 Streams pool, Large pool, Java pool

 

- 백그라운드 프로세스의 필수 프로세스는 PMON, SMON, DBWR, LGWR, CKPT이다.

  · 옵션 프로세스는 ARC

 

 

③ 데이터베이스 파일들

 

- Datafiles

  · 실제 데이터가 저장된 곳

  · Data Dictionary가 저장된 곳

  · 데이터파일의 갯수와 사이즈는 기업들마다 다양할 수 있다

  · Datafile 정보 조회 가능한 datadictionary : v$datafile, v$tempfile

 

- Controlfile

  · DB의 무결성을 유지/관리할 수 있는 동기화 정보가 기록된 곳

  · DB당 하나만 존재하면 됨

  · 다중화 기능 제공됨 (똑같은 Controlfile을 동시에 운영)

  · 최대 8개까지 다중화 가능하지만 3개가 권장사항

  · 다중화 수가 증가하면 안전성 ↑ 성능 ↓

  · Controlfile 정보 조회 가능한 datadictionary : v$controlfile

 

- Redologfiles

  · DB에서 발생된 모든 변경작업의 로그정보(Redo Data)가 기록된 곳

  · 주목적 : Datafile Recover(복구)

  · DB당 최소 2개 이상의 Redo Log Group이 존재해야함

  · Redo Log Group에는 최소 1개 이상의 Redo Log File(member)이 존재해야함

  · 순환형으로 관리됨

  · 다중화 기능이 제공됨

  · 최대 Group 3개, Group별 Member 2개씩이 권장사항

  · Redologfiles 정보 조회 가능한 datadictionary : v$log, v$logfile

 

- Parameterfile

  · Instance의 정의 정보가 기록된 곳 (SGA 메모리 할당 정보 등)

  · DB의 여러 설정 정보가 기록된 곳

  · 위치 : $ORACLE_HOME/dbs

  · 이름 : spfileSID.ora (SID는 DB이름임. 자신의 DB이름에 맞게 변경)

 

- Passwordfile

  · DB를 시작/종료할 수 있게 인증을 해주는 곳

  · 위치 : $ORACLE_HOME/dbs (파라미터파일과 같은 위치에 있어야함)

  · 이름 : orapwSID (SID는 DB이름)

 

- Archived log files (option)

  · Redo Log File의 오프라인 복사본

  · 주목적 : Datafile Recover(복구)