본문 바로가기
컴소니/DB

오라클 DBMS 공부 3일차 - 인스턴스 관리

by 금소니 2020. 3. 19.
반응형

#53

 

1. 인스턴스란?

1일차에서 설명한 오라클 DBMS의 메모리 영역에 해당됩니다.

인스턴스를 실행하게 되면 SGA영역의 메모리를 할당하고 PGA영역의 프로세스를 구동시키게 되어 DBMS가 동작합니다.

 

2. 인스턴스 시작

1) 인스턴스 시작 주기

2) 시작 상세 과정

  - Nomount : 인스턴스 시작

   SQL> startup nomount

   매개변수 파일을 통해 파라미터 값 결정

   매개변수 값을 통하여 SGA 할당

   백그라운드 프로세스 시작

   Alert log 파일 및 Trace file 열기

 

  - Mount : 데이터베이스 준비

   SQL> alter database mount;

   이전에 시작된 인스턴스와 데이터베이스 Mount

   파라미터 파일에 지정된 컨트롤 파일 열기

   컨트롤 파일 읽기

   온라인 리두 로그파일 아카이브 옵션 활성화 및 비활성화

   전체 데이터베이스 Recovery 수행

 

  - Open : 데이터베이스 열기

   SQL> alter database open;

   Undo 테이블스페이스를 제외한 테이블스페이스의 데이터 파일 열기

   Undo 테이블 스페이스 가져오기

   온라인 리두 log파일 열기

 

3. 인스턴스 종료

1) 인스턴스 종료 주기

2) 종료 상세 과정

  - Close : 데이터베이스 닫기

   SGA에 있는 모든 데이터와 복구데이터를 데이터 파일과 리두 로그파일에 기록

  온라인 데이터파일과 온라인 리두 로그파일 닫기

 

  - Nomount : 데이터베이스Unmount

   마운트 해제와 인스턴스 연결 해제

   컨트롤 파일 닫기

 

  - Shutdown : 인스턴스 종료

   SGA가 메모리에서 제거

   백그라운드 프로세스 종료

 

3) 종료 옵션

  - Shutdown normal

   기본 종료 모드

   새로운 연결을 생성할 수 없지만 연결된 모든 유저가 연결을 끊을 때까지 대기

   데이터베이스 및 리두 버퍼가 디스크에 기록

   SGA가 메모리에서 제거, 백그라운드 프로세스 종료

 

  - Shutdown transactional

  새로운 트랜잭션을 차단하며 진행 중인 트랜잭션이 완료될 때까지 대기

  트랜잭션이 완료되면 즉시 데이터베이스 종료

 

  - Shutdown immediate

   데이터베이스가 처리하고 있는 SQL 문이 완료되지 않고 종료

   모든 연결이 해제될 때까지 대기하지 않고 종료

   Commit되지 않은 트랜잭션을 롤백하고 모든 유저 연결 종료

 

  - Shutdown abort

   즉시 종료

   데이터베이스 및 리두 버퍼가 디스크에 기록되지 않음

   파일을 닫지 않은 상태로 인스턴스 종료

   데이터베이스가 닫히거나 마운트 해제되지 않음

   주의가 필요함

반응형

댓글