db와 instance

DB와 instance

DB 는 데이터를 저장하는 데이터 파일과 컨트롤 파일 등으로 구성 instance 는 SGA(System Global Area)라는 메모리 영역과 백그라운드 프로세스로 구성

db와 인스턴스

보통 오라클이라고 하면 DB와 instance 등 오라클 DB 전체를 의미


DB

DB는 한개 이상의 data file과 두 개 이상의 REDO 로그 파일, 한 개 이상의 control file로 구성

db의 구성요소

파일 종류저장되는 데이터파일 크기
data filetable
index
UNDO data
temp(임시) data
DB 규모에 따라 MB단위에서 TB단위까지 천차만별.
redo log file변경 이력수십 수백MB 정도이고, DB 규모에 따라 더 커질 수 있음
control file제어 정보커봐야 MB 단위

data file

  • data file에는 table이나 index 등의 data가 보관됨
  • 실제 data가 저장되기 때문에 DB에서 가장 핵심적인 부분일 수도 있음
  • 이 밖에 과거의 data가 저장되는 undo data file, 작업 시 임시로 사용하는 temp data file, 시스템 관리용 sysaux data file 등이 있음

redo log file

  • DB의 변경이력이 기록되는 파일
  • 여러 개의 redo log file을 로테이션해가며 변경 이력을 기록하기 때문에 하나의 DB에는 최소 두 개 이상의 redo log file이 필요
  • 예로 2개의 redo log file을 사용할 경우, 1번 redo log file 을 다 쓰면 2번 redo log file에 변경이력을 기록. 2번을 다 쓰면 1번에 override

control file

  • data file, redo log file의 보관 장소(디렉터리)나 각 파일의 최종 변경 시간 등과 같은 제어 정보가 저장돼있음.
  • 한개만 있어도 운영에 지장은 없지만, control file 유실 등의 장애 상황을 대비해 무조건 다중화해야 함

instance

instance가 기동 중일 때만 오라클 이용 가능 instance는 process와 memory area로 구성되므로 DB가 정지돼있으면 당연히 존재하지 않음

instance의 구성 요소

SGA

  • SGA는 db buffer cache, redo log buffer, shared pool, large pool, java pool 등으로 구성
  • 필수 구성 요소는 db buffer cache, redo log buffer, shared pool
  • process들이 공유하는 memory area이기 때문에 shared global area라고도 함
  • instance를 기동하면 오라클은 initialization parameter라고 하는 설정값에 설정된 만큼의 SGA 공간 확보

background process

  • instance의 기동과 함께 시작
  • process를 감시하거나 data를 file에 기록하는 작업 등을 background에서 진행

SID와 ORACLE_SID 환경 변수

  • client가 오라클을 사용할 때는 우선 instance에 접속해야 함.
  • instance는 SID라는 식별자로 식별되므로 ORACLE_SID 환경변수에 instance의 SID를 설정하고 접속할 instance를 지정
  • 아래 예는 한 서버에 두 개의 DB와 두 개의 instance가 존재하는 경우

ORACLE_SID로 instance 식별

한 서버에 여러 개의 인스턴스를 사용하려면 인스턴스마다 다른 SID를 지정해야됨



출처 : 전문가를 위한 오라클 아키텍처 입문

오라클 소프트웨어

ORACLE_HOME과 ORACLE_BASE

$ cd $ORACLE_HOME
/u01/app/oracle/product/12.1.0/db_1
$ cd $ORACLE_BASE
/u01/app/oracle

ORACLE_HOME은 오라클 설치 디렉터리 ORACLE_BASE는 오라클과 관련된 여러 가지 파일이 저장되는 디렉터리

OUI 에서는 ORACLE_HOME이 Software Location ORACLE_BASE는 Oracle Base로 표시

  • ORACLE_HOME 의 여러 디렉터리에 여러 가지 파일이 설치, 저장됨
디렉터리명용도
dbs유닉스/리눅스 오라클의 서버 파라미터 파일 또는 패스워드 파일
network/admin네트워크 접속과 관련된 설정 파일
binSQL*Plus 등 오라클 관련 프로그램과 오라클을 운영하고 관리하는 데 유용한 프로그램들이 있으므로 셸이나 명령 프롬프트에서 바로 실행할 수 있게 환경 변수에 PATH 설정
sqlplusSQL*Plus 관련 파일
rdbms/admin오라클 관련 SQL 파일
inventory설치한 도구들에 관한 정보 및 ORACLE_HOME에 관련된 정보

DBCA와 SID

DBCA를 이용해 DB를 생성할 때는 GDB와 SID를 지정해야 됨


GDB


네트워크 내에서 DB를 특정하기 위한 명칭 DB_NAME(데이터베이스 이름)과 DB_DOMAIN(데이터베이스 도메인)으로 구성되며, <DB_NAME>.<DB_DOMAIN> 과 같이 설정됨

GDB는 네트워크 내에 같은 DB_NAME을 가진 복수의 데이터베이스가 있을 때, 유용하며 <DB_DOMAIN> 을 다르게 설정하면 같은 <DB_NAME> 을 식별할 수 있음


SID


시스템 식별자(SID, System Identifier)는 인스턴스의 식별자 일반적으로 SID는 해당 데이터베이스의 DB_NAME과 동일하게 설정


한 서버에 여러 개의 인스턴스를 사용하려면 인스턴스마다 다른 SID를 지정해야됨



출처 : 전문가를 위한 오라클 아키텍처 입문

'oracle architecture > 1. 데이터베이스와 인스턴스' 카테고리의 다른 글

database and instance  (0) 2019.01.03

+ Recent posts