전체 적으로 보면 아래의 단계에 따라 오라클이 시작 된다.
SHUTDOWN -> NOMOUNT -> MOUNT -> OPEN
1) NOMOUNT
: INSTANCE의 STARTUP, SGA할당 B/G Process Startup
- Parameter 파일을 읽어서 SGA를 할당
- DATABASE를 새로 생성, Control File을 다시 생성
2) MOUNT
: 데이터 베이스 파일들과 INSTANCE를 붙인다.
- Control File을 읽고 동기화 정보 확인
- 물리적 구조 변경, Data File 이름 변경, 아카이브 모드 변경, Recover
3) OPEN
: 동기화 검사를 통해 무결성이 검증되면 OPEN, USER 접속 가능
* STARTUP 옵션
a) FORCE : Shutdown Abort 후 Restart
b) RESTRICT : 일반 사용자의 접근을 차단
c) PFILE=file명 : 특수 작업이 필요할 때 임시적으로 사용할 때
d) EXCLUSIVE|PARALLEL|SHARED : instance 수 제한
e) OPEN [RECOVER]|NOMOUNT|MOUNT
-> NOMOUNT 단계에서 OPEN 단계로 점프 할 수 없다. 단계적으로 OPEN
f) READ ONLY : 읽기 전용으로 OPEN
- ALTER DATABASE DB명 OPEN READ ONLY;
* SHUTDOWN 옵션
a) NORMAL : 유저가 접속을 끊을 때까지 기다린다.
b) TRANSACTIONAL : 현재 수행중인 트렌젝션이 종료될 때 까지 기다림.
c) IMMEDIATE : 모두 RollBack 시키고 유저의 접속을 강제로 해지 시킴.
d) ABORT : 강제 종료. 권장 안함.
셧다운은 오픈단계의 반대로 시작된다.
대부분 오라클을 내릴때는 TRANSACTIONAL 옵션을 주로 준다.
왜냐 하면.. 오라클을 지금 내려야 하는데 이미 시작된 트랜젝션이 있다면
그게 끝날때 까지 기다리기 때문이다.
트랜젝션이 금방 끝이나면 해피하겠지만 무지 오래 기다리게 되는 경우도 있다.
그럴때 어쩔 수 없이 다른 창을 열어서 TRANSACTIONAL 옵션을 줘서 내리면 된다.
암튼 트랜잭션을 돌려 버리는 거기 때문에 데이터 손실은 없다!!
-----------------------------------------------------------------------
우연히... 내가 쓴 포스트를 뒤적 뒤적 보다가... 미친듯한 실수를 발견했다.
바로 이 부분이다.. 바로 윗 부분이 되겄슴다.. 일단 모자이크 처리 했습니다. -_-;;
셧다운은 오픈단계의 반대로 시작된다.
대부분 오라클을 내릴때는 TRANSACTIONAL 옵션을 주로 준다.
왜냐 하면.. 오라클을 지금 내려야 하는데 이미 시작된 트랜젝션이 있다면
그게 끝날때 까지 기다리기 때문이다.
트랜젝션이 금방 끝이나면 해피하겠지만 무지 오래 기다리게 되는 경우도 있다.
그럴때 어쩔 수 없이 다른 창을 열어서 TRANSACTIONAL 옵션을 줘서 내리면 된다.
암튼 트랜잭션을 돌려 버리는 거기 때문에 데이터 손실은 없다!!
셧다운 옵션 부분에서 분명히 트랜젝션을 종료 할 때 까지 기다린다고 명시 해 놓고
왜.. 어째서.. 바로 밑에서 오라클 내릴때 TRANSACTIONAL 옵션을 주라고 써 놓은 것 일까..
일개 오타를 벗어 단어 바꾸기의 지존급이다.. 후달달..
정정 하겠습니다 !!
오라클 내릴때 주로 쓰는 옵션은 IMMEDIATE 입니다. ㅠ_ㅠ
shutdown 명령을 내렸으나 오라클이 내려가지 않을 경우에는 새로운 창을 하나 더 띄우고
shutdown immediate 명령어로 모든 트랜젝션을 롤백 시킨 후에 종료 시킵니다.
나 왜 이러나.. =_=;;;
행여나 이 포스트 보고 잘 못 된 정보를 얻어 가신 분이 있다면... 지대로 죄송합니다.
댓글