티스토리 뷰

IT/Oracle

STARTUP 과 SHUTDOWN

예영교육 연구소 2011. 4. 27. 02:02

[oracle] STARTUP  과  SHUTDOWN

Oracle DB Instance의 시작은 다음과 같은 단계를 걸쳐 시작된다.

Shutdown -> Nomount -> Mount -> Open

<Instance를 시작하기 위한 사전 준비>
---------------------------------------------
1. 데이터 베이스를 연결없이 SQL *PLUS를 시작
SQLPLU /NOLOG

2. SYSDBA로서 Oracle를 연결한다.

connect username/password as sysdba
---------------------------------------------

<SQL*Plus를 사용하여 Database를 시작하기>

Startup

데이터 베이스 Instance를 시작하기 위한 명령어

  STARTUP                  

  // 일반적으로 nomount, mount, open까지 수행

  일반적으로 STARTUP을 사용하지만 특별한 유지보수 작업을 수행하기 위해 단계별 STARTUP을 사용.

  STARTUP NOMOUNT

  // 일반적으로 nomount 수행
      - 파라미터 파일
      - SGA할당 및  B/G process시작
      - alert<SID>.log 파일 및 Trace file열기
      - (ONLY) DB생성, Control file재생성이 가능.

  STARTUP MOUNT

  // 일반적으로 nomount, mount 수행    
      - 시작된 Instance의 DB연결
      - Control file열기
      - (ONLY) DB 모드 수정이 가능하다.

  STARTUP OPEN        

  // 일반적으로 nomount, mount, open 수행
      - 온라인 데이터 파일 열기
      - 온라인 리두 로그 파일 열기
      - 일반 유저 이용 가능(Open에서만 가능)

  // pfile를 열기(텍스트 파라미터 파일)

  [예] STARTUP pfile= u01/oracle/dbs/init.ora

  // spfile를 열기(서버 파라미터 파일)
   [예] STARTUP spfile= /u01/oracle/dbs/test_spfile.ora    

  STARTUP RESTRICT

  제한된 모드로 Instance를 시작하기- DB를 정상적으로 시작하지만 User들은 접속불가.
  
  다음과 같은 경우에 RESTRICT모드를 사용한다.
    - Sql *Loader로 데이터 로드를 수행,
    - 사용되고 있는 데이터를 사용자로 부터 일시보호,
    - upgrade와 같은 동작 수행시
    - 데이터 베이스 데이터의 import, export를 수행시.

 STARTUP FORCE

  현재 DB가 시작된 상태라면 자동으로 DB를종료한 후 다시 시작
  다음과 같은 경우에 사용된다.
      - 현재 Instance가 Shutdown명령어가 듣지 않을 때 사용.

<SQL*Plus를 사용하여 Database를 종료하기>

Shutdown

정상 상태의 데이터베이스를 종료하기 위해 사용하는 명령어

종료시는 다음의 단계를 거치게 된다.
close --> dismount --> disconnect

- close단계

   : 일반 사용자들이 모든 데이터 파일을 닫는다.

- dismount단계

   : DB의 현재 상태 정보를 저장하고 종료한다.

- disconnect 단계

   : DB가 사용한 메모리 영역을 시스템에게 반환하고 접속을 해제한다.

SQL> SHUTDOWN NORMAL

// 기본 옵션 : DB를 종료하지 않고 작업을 끝내고 접속을 해제할 때까지 대기한후에 종료.

SQL> SHUTDOWN Transactional

// DB를 종료하는 시점에서 접속된 사용자가 존재하는 경우 DB 를 종료하지 않고 대기중.
// 작업을 종료(commit, rollback)할 때까지 대기하고 종료한다

SQL> SHUTDOWN IMMEDIATE

// DB를 즉시 종료시키는 옵션, 처리중인 작업이 있으면 모든 DML문은 rollback이 된다.

SQL> SHUTDOWN ABORT

// 바로 Instance를 종료, rollback이 되지 않고 비정상적인 종료에 해당, 정전발생하여 시스템 정지한 상태

속도는 Shutdown Normal이 가장 빠르고, Shutdown Normal 이 가장 느리다.