이 블로그 검색

2009년 11월 15일 일요일

STARTUP과 SHUTDOWN - 이론

STARTUP과 SHUTDWON에 대해 알아보기 위해 한 가지 기억하자.
STARTUP의 순서다.
STARTUP은 간단히 설명하면 다음과 같은 순서로 움직이고 있다.


SHUTDOWN -> NOMOUNT -> MOUNT ->OPEN

1. STARTUP
오라클에 접속해서 help startup을 입력해보자.

SQL> help startup

 STARTUP
 -------

 Starts an Oracle instance with several options, including mounting,
 and opening a database.

 STARTUP options | upgrade_options

 where options has the following syntax:
    [FORCE] [RESTRICT] [PFILE=filename] [QUIET] [ MOUNT [dbname] |
    [ OPEN [open_options] [dbname] ] |
    NOMOUNT ]

 where open_options has the following syntax:
    READ {ONLY | WRITE [RECOVER]} | RECOVER

 and where upgrade_options has the following syntax:
    [PFILE=filename] {UPGRADE | DOWNGRADE} [QUIET]


<options>
1) FORCE
 ① 현재 instance를 강제 SHUTDOWN하고 RESTART시킴.
 ② SHUTDOWN ABORT후, STARTUP OPEN한 것과 동일.
  일반적으로 사용하지 않는다.

2) RESTRICT
 ① RESTRICTED SESSION 권한을 가진 사용자만 데이터베이스에 접속 가능

3) PFILE=filename
 ① default parameter file이외의 parameter file을 읽어 instance 구성

4) QUIET
 ① instance를 STARTUP할 때 SGA(System Global Area) 정보를 보여주지 않음

5) NOMOUNT
 ① instance가 시작되나, 디스크 그룹의 마운트는 이루어지지 않음
 ② parameter file을 읽어들인다.(pfile 혹은 spfile)
  (spfile<SID>.ora ->spfile.ora -> init<SID>.ora 순으로 읽는다.)
 ③ SGA구성
 ④ BG(BackGround) Process 기동
 ⑤ alert<SID>.log 읽는다.
 ⑥ 주로 오라클 DB를 생성하거나, control file을 재생성할 때 사용된다.


6) MOUNT

 ① 디스크 그룹의 마운트가 이루어짐
 ② control file을 읽어들임
 ③ data file, log file 이름 변경 가능
 ④ database recovery 수행은 MOUNT 단계에서만 가능하다.
 
7) OPEN
 ① data file, redo log file을 읽어들임
 ② instance Recovery 단계(Roll Forward ~ Roll Back) : SMON가 담당
 ③ default option(STARTUP = STARTUP OPEN)


2.SHUTDOWN
 

오라클에 접속해서 help shutdown을 입력해보자.

SQL> help shutdown

 SHUTDOWN
 --------

 Shuts down a currently running Oracle Database instance, optionally
 closing and dismounting a database.

 SHUTDOWN [ABORT|IMMEDIATE|NORMAL|TRANSACTIONAL [LOCAL]]

<options>
1) ABORT
 ① 새로운 접속 허가(X)

 ② 현 세션이 끝날 때까지 대기(X)

 ③ 현 트랜잭션이 끝날 때까지 대기(X)

 ④ check point를 수행(X)

 ⑤ 처리 중인 모든 SQL문을 abort(취소)시킴

 ⑥ commit, rollback 둘 다 안 시킴

 ⑦ 오라클 재기동 시에 instance가 자동복구됨


2) IMMEDIATE
 ① 새로운 접속 허가(X)

 ② 현 세션이 끝날 때까지 대기(X)

 ③ 현 transaction이 끝날 때까지 대기(X)

 ④ check point를 수행(O)

 ⑤ 처리 중인 SQL문 모두 중지

 ⑥ commit되지 않은 transaction가 있을 땐 모두 rollback시킴

 ⑦ 일반적으로 사용되는 option임


3) TRANSACTIONAL
 ① 새로운 접속 허가(X)

 ② 현 세션이 끝날 때까지 대기(X)

 ③ 현 transaction이 끝날 때까지 대기(O)

 ④ check point를 수행(O)

 ⑤ instance recovery 필요없음


4) NORMAL

 ① 새로운 접속 허가(X)

 ② 현 세션이 끝날 때까지 대기(O)

 ③ 현 transaction이 끝날 때까지 대기(O)

 ④ check point를 수행(O)

 ⑤ instance recovery 필요없음

 ⑥ default option(shutdown = shutdown normal)

 ⑦ 각종자료에서는 default option이라고 하나, 실제로 shutdown만 했을 때 무한대기 상태로 빠져버린다.

   (아, 왜 그럴까.... 하루종일 자료를 찾아봐도 안나오네;;;T_T)


※ 정상 종료와 비정상 종료의 차이는 check point 발생여부이다.

※ startup과 shutdown에 관한 로그는 bdump의 alert<SID>.log에서 확인 가능하다.


댓글 없음:

댓글 쓰기