상세 컨텐츠

본문 제목

Oracle Database의 정지절차_Shutdown명령

Oracle DBMS

by 3학년 1반 민군 2020. 11. 18. 16:10

본문

지난 포스팅의 내용은 Oracle Database의 기동절차에 관한 내용이였습니다.

 

https://puremin91.tistory.com/2

 

Oracle Database의 기동절차_Startup명령

Oracle Database의 기동상태는 총 4단계입니다. Shutdown(IDLE), No Mount(Starter, Dismount), Mount(Close), Open으로 나뉘어져 있습니다. 본 문서는 각 단계별로 간단히 정리되어있고 Controlfile, Datafile, R..

puremin91.tistory.com

오늘은 정지절차인 Shutdown 명령에 대해 알아보겠습니다.


Startup의 역순으로 동일한 4가지 상태가 있습니다.

 

기동중인 상태에서 alter database close, alter database dismount의 명령의 가능하지만 실무에서 사용하는 경우는 거의 없고, 기능 역시 제대로 수행되지 않는다고 판단하고 있으며

 

shutdown 이후 startup 명령어로 각 단계로 진입하는 것이 효과적이라고 할 수 있습니다.


Shutdown 명령어는 총 4가지가 있습니다.

 

Shutdown (normal), Shutdown transaction, Shutdown immediate, Shutdown abort가 있습니다.

 


Shutdown (normal) : Instance에 접속한 모든 세션이 종료되는 것을 기다리고 Instance를 정지합니다.

해당 명령을 실행 후 추가적으로 세션이 연결되지 않습니다.

 

Shutdown transaction : Instance에서 실행되고 있는 모든 트랜잭션이 종료되는 것을 확인하고 정지합니다.

해당 명령을 실행 후 추가적인 트랜잭션을 생성하지 않는다.

 

Shutdown immediate : Instance에서 실행되고 있는 트랜잭션이 있으면 해당 트랜잭션을 롤백하고 Instance를 종료합니다.

 

가장 많이 사용되며, 정상종료를 의미합니다.

 

사용되고 있는 data의 시점 정보를 모두 확인하고 checkpoint 작업을 통해 Dirty 블럭을 디스크의 블럭과 동기화 후 종료합니다.

 

Shutdown abort : Instance를 강제로 종료합니다.

immediate옵션과 달리 checkpoint를 수행하지 않기 때문에 다음 데이터베이스 기동시 Instance Recovery를 수행해야 정상적으로 OPEN됩니다.

 

실행중이던 서버의 전원이 차단되어 down된 경우와 같다고 생각하시면 이해가 쉽습니다.

 

따라서 Shutdown abort 명령어는 정상적으로 데이터베이스를 중지할 수 없는 상황에서 실시합니다.

 

Control File의 유실, Critical Tablespace를 구성하는 Data File의 유실 등이 발생할 수 있습니다.


오늘은 Shutdown 명령어에 대해 알아보았습니다.

 

아직 소개하지 않은 Control File이나, Instance Recovery 등은 다른 포스팅을 통해 하나씩 소개하도록 하겠습니다.

관련글 더보기

댓글 영역