Oracle Shut Down
Oracle Database를 종료할때 사용 할 수 있는 4가지의 ShutDown 옵션에 대해서 소개해 보도록 하겠다.
각 옵션별로 세션의 작업과 데이터의 무결성 그리고 속도에 차이가 있으므로 필요에 맞게 사용하는 것이 중요하다.
옵션 | 설명 |
NORMAL | 새로운 연결 불가, 기존 세션이 완료 될 때까지 대기 |
IMMEDIATE | 기존 세션 강제 종료 및 트랜잭션 롤백 |
TRANSACTIONAL | 새로운 연결 불가, 트랜잭션이 종료 될 때 까지 대기 |
ABORT | 트랜잭션 롤백 없이 데이터베이스 종료 |
각 옵션에 대해 자세하게 하나씩 알아보도록 하자.
NORMAL
SHUTDOWN NORMAL;
오라클 데이터베이스를 종료하는데 가장 안전한 방식이다.
새로운 연결을 허용하지 않으며, 기존의 연결을 각각 다 종료 할 때 까지 기다린다.
연결을 종료할 때 까지 기다리게 되므로 모든 트랜잭션의 동작 또한 같이 기다리게 된다.
모든 연결이 다 종료 될 때 까지 기다리므로 무한정 대기할 수 있는 단점이 있으나, 계획적 종료인 정기적인 유지보수 등의 작업에 가장 적합하다.
IMMEDIATE
SHUTDOWN IMMEDIATE;
IMMEDIATE 또한 오라클 데이터베이스를 종료하는데 안전한 방식이다.
새로운 연결을 허용하지 않으며, 기존의 연결을 즉시 종료시켜 모든 트랜잭션을 롤백한다.
빠르게 데이터베이스를 종료할 수 있으며, 데이터 또한 무결성을 유지한다.
하지만 트랜잭션이 롤백되며, 일부의 작업에 대해서는 손실이 발생 할 수 있다.
TRANSACTIONAL
SHUTDOWN TRANSACTIONAL;
마찬가지로 새로운 연결을 허용하지 않지만 현재 실행중인 트랜잭션이 완료될 때 까지 기다리며, 트랜잭션이 없는 연결은 바로 종료시킨다.
즉, 트랜잭션이 끝나지 않을 경우 오랜시간 대기가 발생 할 수 있지만, 트랜잭션의 무결성을 보장 할 수 있다.
ABORT
SHUTDOWN ABORT;
ABORT는 오라클 데이터베이스를 즉시 종료해야할 때 사용한다.
데이터베이스 종료에는 가장 빠르지만, 다시 기동할시 데이터 복구작업을 수행해야 하므로 재기동 시간이 오래걸린다.
또한 즉시 종료이므로 모든 트랜잭션을 롤백하지않고 그대로 종료하며, 데이터의 무결성에 손실의 가능성이 있다.
심각한 시스템의 문제가 아닌이상 사용하지 않는다고 생각해야한다.
'DATABASE > Oracle' 카테고리의 다른 글
[Oracle] 프로시저 내에서 DDL 실행하기 - Create, Drop, Atler, Truncate, CTAS (0) | 2024.11.21 |
---|---|
[Oracle] 프로시저 내용 찾기 - 특정 테이블이 사용되는 프로시저 찾기 (0) | 2024.11.15 |
[Oracle] DML Trigger - 테이블에서 사용하는 트리거 정리 (0) | 2024.11.11 |
[Oracle] 테이블 정의서 만들기 - 쿼리로 추출하기 (0) | 2024.04.02 |
[Oracle] External Table - 외부 CSV 파일을 테이블로 만들기 (0) | 2024.03.30 |
[Oracle] Table / Column Comment - 코멘트, 설명 달기 (0) | 2024.01.26 |
[Oracle] 11g 시퀀스 (Sequence) 컬럼 자동 증가 값 (1) | 2023.08.09 |
[DBA][Oracle] 자주 쓰는 쿼리 - TableSpace 용량 및 파일 위치 확인 (1) | 2023.08.08 |