greendev.log
로그인
greendev.log
로그인
오라클 shutdown 옵션 정리
prana
·
2024년 9월 17일
팔로우
0
0
ORACLE
목록 보기
3/96
1. 기본 옵션 (shutdown)
가장 일반적인 종료 방법
특별한 옵션을 지정하지 않으면, 이 방법으로 데이터베이스가 종료된다.
동작 방식
현재 연결된
모든 세션이 종료될 때까지 기다린다.
데이터 파일과 컨트롤 파일에 변경된 내용
을 모두 기록하고, 안전하게 닫는다.
사용 시기
정상적인 종료를 원할 때, 데이터베이스에 연결된 모든 세션이 안전하게 종료될 때까지 기다릴 수 있는 상황에서 사용한다.
2. TRANSACTIONAL (shutdown transactional)
현재 진행중인
트랜잭션이 완료될 때까지 기다리고 종료
동작 방식
현재 연결된 세션 중 트랜잭션이 완료될 때까지 기다린 후에 커넥션을 끊는다.
트랜잭션이 없는 세션은 즉시 종료된다.
트랜잭션이 완료된 후, 데이터 파일과 컨트롤 파일에 변경된 내용을 모두 기록하고, 데이터베이스를 종료한다.
사용 시기
중요한 트랜잭션이 실행중일 때, 그 트랜잭션이 끝날 때까지 기다리고 싶을 때 사용
ex) 대규모 데이터 처리 작업이 끝날 때까지 기다릴 때 유용
3. IMMEDIATE (shutdown immediate)
즉시 종료
현재 세션에 있는 트랜잭션이 더 이상 기다리지 않고, 종료
동작 방식
현재 실행 중인 트랜잭션을 중단하고,
세션을 즉시 종료
아직 커밋되지 않은 트랜잭션은 롤백된다.
데이터베이스의 상태는 안전하게 유지되며, 데이터 파일과 컨트롤 파일에 변경된 내용이 기록된 후 종료된다.
사용 시기
빠르게 데이터베이스를 종료해야 하거나, 더 이상 진행중인 트랜잭션이 필요 없을 때 사용
데이터베이스를 즉시 닫아야 할 때 많이 사용된다.
4. ABORT (shutdown abort)
강제 종료
데이터베이스를 즉시 종료하지만,
데이터 파일에 변경된 내용이 기록되지 않고 종료
동작 방식
데이터베이스가 바로 종료되며,
모든 트랜잭션이 중단
커밋되지 않은 모든 트랜잭션은 사라진다.
데이터베이스는 다시 시작할 때 복구 과정이 필요할 수 있다.
사용 시기
긴급하게 데이터베이스를 종료해야 하는 상황에서 사용한다.
ex) 데이터베이스가 멈추거나 응답하지 않을 때 강제로 종료할 수 있다.
But, 이후 데이터베이스를 시작 시 복구가 필요하므로 주의
옵션
커넥션의 종료를 기다리는가?
변경된 데이터를 데이터 파일에 기록하는가?
없음(기본)
커넥션의 종료를 기다린다.
YES
transactional
트랜잭션이 끝나는 것을 기다린다. 트랜잭션이 끝나면 커넥션을 끊어 버린다.
YES
immediate
NO. 커밋하지 않은 데이터는 없어지지 않는다.
YES
abort
NO. 커밋하지 않은 데이터는 없어지지 않는다.
NO
참고:
데이터베이스의 커넥션 풀을 유지하기 위해 커넥션 풀(connection pool)을 사용하는 경우에는 애플리케이션이 종료할 때까지 커넥션을 종료하지 않습니다. 따라서 커넥션 풀을 사용 중인 오라클을 정지하기 위해서는 필수적으로 옵션을 지정해야 할 때가 있습니다.
prana
팔로우
이전 포스트
오라클 컨트롤 파일
다음 포스트
데이터베이스에 접속하지 못할 때 확인해 볼만한 실수들
0개의 댓글
댓글 작성