본문 바로가기

ORACLE

:) 태영쓰 :: ORACLE 인스턴스 실행단계 SQL>startup


실습 환경

 

OS - redhat_7.2_64bit

ORACLE - 12.2.0.1 (single)


◈ 오라클 인스턴스 실행단계 




우리가 흔하게 데이터베이스에 접속해서 " startup " 명령어를 이용해 인스턴스를 실행 하는 과정에 각 단계별 하는 역할들이 있습니다. 



(그림 1)  startup 부터 shutdown 까지 


shutdown 은 데이터베이스 startup의 역순으로 진행 


1. NOMOUNT


데이터베이스를 생성하거나 컨트롤 파일 재생성, 특정 백업 및 recovery 할 때 이용하는 단계 


명령어 : startup mount 




- 파라미터 파일 읽기 

- 메모리 할당(초기화)

- 백그라운드 프로세스 시작


을 수행한다. 


이때 $ORACLE_HOME/dbs 의 spfile<SID>.ora 를 검색한다. 없다면 아래 그림처럼 계속 검색하며 파라미터 파일이 없을 시엔 nomount 즉 오픈되지 않는다. . 

따라서 함부로 수정하지 않으며 백업해 두는것을 권장한다. 



2. MOUNT


명령어                : startup mount 
nomount단계에서 : alter database mount;

Control file을 열어 동기화를 준비하는 단계
이 단계에서 DB recovery가 수행 할 수 있음



이때 NOMOUNT 상태의 파라미터 파일에서 지정된 Control file을 찾아 오픈한 후 

datafile과 online redolog파일의 이름 및 상태를 확인 



3. OPEN


명령어 : startup 
nomount 또는 mount 단계에서 : alter database open;

이전 MOUNT 단계에서 열린 Control file 으로 최신의 물리적 정보를 통해 Datafile 과 redolog file 을 open 시킵니다. 

이때 Datafile과 redolog file이 없다면 오류 발생 . 


4. Shutdown 


데이터베이스를 종료시키는 단계 STARTUP의 역순으로 종료 시킨다. 


- ABORT       

강제 종료 = 컴퓨터 전원을 끊은 것과 같은 종료 데이터들이 동기화되지않고 종료됨. 사용하지 않는 것을 권장 

- IMMEDIATE 

즉시 종료 , 일반적으로 이용되는 옵션 커밋되지 않은 트랜잭션은 롤백 ! 

- TRANSACTIONAL

기존 트랜잭션을 종료 할 수 있지만 새 트랜잭션을 시작 하지 않는 상태

- NORMAL

세션의 연결이 끊어 질 때까지 대기하는 상태 .




▶ 정리


인스턴스 실행단계에는 3 단계가 있으며 NOMOUNT, MOUNT , OPEN 단계이다.

NOMOUNT 는 인스턴스가 구동 될 수있게 메모리를 올리고 파라미터 파일을 세팅해주는 단계이다.
MOUNT 는 컨트롤 파일을 열어 OPEN  단계에서 동기화가 될 수 있도록 하는 단계이며 이 단계에서 전체 데이터베이스 RECOVERY 를 수행 할 수 있다.
OPEN 단계는 데이터베이스가 최종적으로 열린 단계이며 DATAFILE 과 REDOLOG FILE을 열어 CONTROL FILE에 기록된 대로 여는 단계이다. 이 단계에서 SMON이 Instance recovery를 수행한다. 

shutdown은 데이터베이를 종료 시키며 startup의 역순으로 진행된다. 
shutdown immediate를 가장 많이 사용한다. 









아래의 공감 버튼은 작성자를 춤춰 날뛰게 합니다.


↓↓↓↓