오라클 셧다운 명령어의 사용법
SHUTDOWN [ABORT ¦ IMMEDIATE ¦ NORMAL ¦ TRANSACTIONAL [LOCAL]]
SHUTDOWN의 옵션을 표로 나타내면 다음과 같다.
옵션 | abort | immediate | transactional | normal |
새로운 세션의 연결허용 | x | x | x | x |
현재 세션이 종료할때까지 대기 | x | x | x | o |
현재 트랜젝션이 종료할 때까지 대기 | x | x | o | o |
데이터베이스의 정상 종료 | x | o | o | o |
• ABORT
ABORT 옵션은 CLOSE, DISMOUNT 과정을 거치지 않고 곧 바로 데이터베이스를 중지시켜 비정상적으로 SHUTDOWN시킨다. 즉, 현재 메모리의 데이터를 디스크에 쓰기 작업도 하지 않으며, 진행중인 트랜젝션을 ROLLBACK하지 않고 SHUTDOWN시킨다. 따라서 다음 STARTUP 시 SMON에 의하여 자동적으로 인스턴스 복구가 수행된다.
ABORT 옵션은 데이테베이스를 긴급히 SHUTDOWN시켜야 할 상황에서만 사용하고 일반적인 경우에는 사용하지 않는것이 좋다.
• IMMEDIATE
일반적으로 많이 사용되며, 현재 사용자의 접속을 SHUTDOWN할 때까지 기다리지 않지만, COMMIT되지 않은 데이터들은 모두 ROLLBACK되므로 다음에 STARTUP할 때는 복구를 필요로 하지 않는다. 사용자의 접속을 강제로 끊는다는 점을 제외하고는 SHUTDOWN NORMAL과 동일하다.
• TRANSACTIONAL
현재 수행중인 트랜젝션이 종료될 때까지 기다린다.
트랜젝션이 COMMIT 또는 ROLLBACK되며 종료된 후, 사용자의 접속을 강제로 끊는다. 하지만, 사용자가 ROLLBACK, COMMIT을 하지 않으면 계속 대기해야 하는 문제점이 있다.
• NORMAL
기본값으로 SGA의 정보를 file에 기록하며 정상 SHUTDOWN한다. 따라서 별도의 인스턴스 복구는 필요하지 않는다.
SHUTDOWN 명령 이 후 새로운 사용자의 접속을 차단하며, 작업중인 사용자의 작업이 끝날 때까지 기다린다. 이때,기존 사용자가 접속을 끊지 않으면, 오라클 서버는 계속해서 기다린다. 미리 사용자에게 데이터베이스의 사용을 중지할 것을 요구할 필요가 있다
'DB' 카테고리의 다른 글
[DB] 오라클 기본 화면 설정 (0) | 2010.05.25 |
---|---|
[DB] 오라클 background process (0) | 2010.05.24 |
[DB] mysql 에러 확인 perror 사용법 (0) | 2010.05.20 |
[DB] 오라클 기본 명령어 1 (select status from v$instance;) (0) | 2010.05.18 |
[DB] 오라클 startup / shutdown (0) | 2010.05.18 |