본문 바로가기

인프라/데이터 베이스

04. Oracle startup/shutdown

기동

startup → nomount → mount → open

startup nomount --pfile (SIDinit.ora) 또는 spfile을 읽음
alter database mount --control file을 읽음
alter database open

startup → nomount

Parameter file을 읽어 초기화 파라미터 확인 (SGA구성)

alertSID.log 및 trace파일 open

백그라운드 프로세스 기동

 

# parameter file

pfile (SIDinit.ora) 또는 spfile (spfileSID.ora)

경로: $ORACLE_HOME/dbs

pfile은 text파일로 에디터(ex: vi)로 수정가능

spfile은 binary파일이라 에디터(ex: vi)로 수정불가 (우선순위: spfile > pfile)

--사용중인 파일 확인: VALUE에 값이 없으면 pfile, 있으면 spfile사용 중 
SQL> show parameter spfile; 

--pfile, spfile만들기 
SQL> CREATE SPFILE FROM PFILE; 
SQL> CREATE PFILE FROM SPFILE; 
SQL> CREATE PFILE = '$ORACLE_HOME/dbs/my_pfile.ora' FROM SPFILE;

※ DB를 내리기 전 spfile을 사용하는지 pfile 을 사용하는지 확인 후 spfile을 사용하는 경우 반드시 pfile로 백업해놓는다. 

단, 주의할 점은 기존 pfile에 spfile경로를 설정해놓는 경우가 있으므로 위 예시처럼 경로를 지정해서 기존에 생성되어있는 pfile이 덮어씌워지지 않도록 하는 것이 좋다.

(이미 만들어져있는 pfile이 있는지 확인해보고 기존 pfile은 백업해 놓은 후 spfile을 pfile로 백업한다.

동일 경로에 동일 이름으로 pfile을 만들경우 기존 pfile내용은 덮어씌워진다)

nomount → mount

Control file을 읽는 단계

mount단계에서 archive 모드 변경 가능

 

# control file

직접 편집 불가 → DDL로 편집

파일 위치는 파라미터 파일 (pfile, spfile)에 저장되어있음

--controlfile정보 확인
select * from v$controlfile;

mount → open

Redo log file, Data file 확인

 

중지

shutdown normal

접속해 있는 사용자들이 모두 스스로 접속을 종료할 때까지 기다렸다가 종료

 

shutdown transactional

수행중인 transaction이 끝나면 접속을 강제로 종료시킨 후  Instance 종료

수행중이던 transaction을 종료 하는 명령어가 수행되면(DDL, DCL, TCL) 접속을 강제 종료시킨 후 데이터를 저장하고 Instance를 종료

Commit, rollback, DDL, DCL 명령어가 수행되지 않으면 instance 종료 안됨

 

shutdown immediate

강제종료

수행중이던 트랜잭션은 rollback 후 종료

 

shutdown abort

강제종료

비정상 종료로 다른 말로 instance crash라고 함

종료시점에 rollback과정 없이 강제 종료 후 다시 startup 될때 SMON이 instance recovery를 수행해서 복구

 

※ 「오라클 백업과 복구」 참조