STARTUP 과 SHUTDOWN
[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 이 가장 느리다.