1. 오라클 인스턴스
- 공유 메모리 영역(SGA) + 백 그라운드 프로세스 구조
- 인스턴스 하나당 데이터베이스 하나.
- 인스턴스는 시스템 식별자(SID)이름으로 구별된다.
2. SGA
- OS메모리 내에 확보되는 영역
- 데이터베이스 버퍼 캐쉬 : 데이터용 작업영역
- REDO 로그 파일 : 데이터베이스의 변경이력정보(REDO 엔트리)를 일시적으로 모아두는 영역
- 공유 풀 : 해석이 끝난 SQL문과 PL/SQL 코드, 실행계획, 데이터딕셔너리 정보를 저장하는 영역
- 라지 풀 : 옵션 영역. 데이터베이스에서 공유서버구성을 사용하는 경우. RMAN을 사용해서 백업, 리스토어 조작을 하는 경우 등.
- 자바 풀 : 자바 세션 고유의 자바 코드와 데이터를 위한 영역
- 스트림 풀 : 오라클 스트림에 따라 사용되는 영역.
3. 오라클 백그라운드 프로세스.
- 오라클 데이터베이스시스템이 부드럽게 동작하기 위한 필요한 전체관리를 한다.
- SMON(시스템모니터) : 인스턴스 리커버리
- PMON(프로세스모니터) : 클린 업
- DBWn(데이터베이스 라이터) : 데이터베이스를 써 넣는다. 복수의 DBWn을 기동할 수 있다.
- CKPT : 체크포인트,
- LGWR : REDO 로그엔트리(변경이력정보)를 REDO로그파일에 써 넣는다.
- ARCn : REDO 로그파일을 아카이브로그파일로 복사한다.
- MMON(관리성모니터) : 관리에 관한 테스크(AWR의 스탭샷, ADDM 분석 실행 등)
4. 유저 프로세스와 서버 프로세스
- 유저 프로세스는 유저의 어플리케이션의 프로세스다.
- 서버 프로세스는 유저프로세스에게서 송신된 SQL문의 리퀘스트를 처리하는 프로세스다.
5. PGA(프로그램 글로벌 영역)
- 비 공유메모리 영역.
- 서버 프로세스나 백 그라운드 프로세스 각자의 프로세스가 각각의 데이터를 저장하는 비 메모리 영역.
6. 인스턴스 기동, 정지
- 기동 : SQL*Plus에서 STARTUP 커맨드 입력, Windows 서비스프로그램을 사용한다.
- SQL Developer를 사용한다. Enterprise Manager Cloud Control을 사용한다.
- 데이터베이스가 오픈하기까지의 과정
- 인스턴스 기동(NOMOUNT 상태) : 초기화파라미터 파일을 읽는다.
- 데이터베이스 마운트(MOUNT 상태) : 제어파일이 오픈 된다.
- 데이터베이스 오픈 : 데이터파일과 REDO로그파일이 오픈 된다. 이 상태를 OPEN상태라고 한다. 일반유저 접속 가능.
- 기동, 정지가능한 권한 : SYSDBA, SYSOPER(유저 오브잭트 액세스 권한은 없다.)
- 정지 : SQL*Plus 에서 SHUTDOWN 커맨드를 실행한다. Windows 서비스프로그램을 사용한다.
- SQL Developer를 사용한다. Enterprise Manager Cloud Control을 사용한다.
- 데이터베이스가 정지하기까지의 과정
- 데이터베이스 클로즈 - SGA내의 데이터가 데이터파일 및 온라인REDO로그파일에 쓰여지고, 닫힌다. 제어파일은 아직 열린 상태.
- 데이터베이스 언마운트 - CLOSED상태 -> DISMOUNT 상태. 제어파일이 닫힌다. 인스턴스는 기동되고 있다.
- 인스턴스 정지 : DISMOUNT -> SHUTDOWN -> 백그라운드가 종료, SGA가 사용하고 있던 공유메모리의 할당이 해제. 인스턴스 정지.
- 인스턴스에 장애가 발생한 경우. SHUTDOWN ABOUT 으로 긴급정지 한 경우, 클로즈와 언마운트가 실행되지 않고 인스턴스가 임시정지된다.
- SHUTDOWN ABOUT으로 정지한 경우는 인스턴스를 재기동시 데이터베이스를 재 오픈하기 전에 인스턴스 리커버리를 실행할 필요가 있다.
7. 초기화 파라미터 파일.
- 정적 파라미터
- 동적 파라미터
- 서버 파라미터 파일(SPFILE) : 인스턴스에서만 읽을 수 있는 바이너리 파일. ALTER SYSTEM문을 이용해 초기화파라미터를 변경한다.
- 텍스트 초기화 파라미터 파일(PFILE) : 텍스트 에디터를 이용해 편집. 인스턴스 재기동 필요.