오라클 상태 단계
단계
- 시작 : shutdown -> nomount -> mount -> open
- 종료 : open -> mount -> nomount -> shutdown
명령어 단계
startup nomount -> alter database mount -> alter database open
단계 별 상태
주의사항
- 상위 -> 하위 상태로 진입 불가능 (Shutdown 했다가 처음부터 다시 진행해야 함)
- 하위 -> 상위 진입 시 건너뛰기 불가능 (nomount -> open 불가능. nomount -> mount -> open을 거쳐야 함)
오라클 상태 종류
shutdown
- DB를 중지한 상태
- 데이터베이스에 엑세스할 수 없다
- 데이터베이스를 오픈하기 위해선 SYSDBA, SYSOPER 권한이 있는 SYS 유저 필요
nomount
- 인스턴스 생성 단계 (인스턴스만 가동되는 상태)
- 파라미터 파일 읽기
- SGA 할당
- 백그라운드 프로세스(BG Process) 기동
- alertSID.log파일과 추적파일(Trace) 기록 시작
- 관련된 작업 : 컨트롤 파일 재생성, 데이터베이스 생성
- 실패 시 원인 : parameter 파일의 상태나 내용이 잘못되어 있을 경우
mount
- 컨트롤(control) 파일 읽기
- 오라클 DB 복구 수행 (data file, log file)
- data file, redo log file 관리 (data file과 redo log file은 control file에 기록되기 때문에 control file을 읽을 수 있는 mount 상태에서 진행할 수 있다)
- 관련된 작업 : 데이터파일 이름/위치 변경, 데이터베이스 복구, Achive Mode / no Achive Mode 선택
open
- Database 일관성 검사
- data file, redo log file 읽기
- DB 오픈하여 유저 접속 가능
- 온라인 데이터 파일과 온라인 리두로그 파일의 존재 및 정합성을 확인한 후 해당 파일들을 열어 실제 데이터베이스를 사용할 수 있는 상태로 만든다
- 관련된 작업 : 온라인 데이터 파일 확인, 온라인 리두로그 파일 확인, hot-backup
오라클 상태 명령어
오라클 상태 확인
오라클 접속
sqlplus '/as sysdba'
오라클 상태 확인
SELECT STATUS FROM v$instance;
ALTER DATABASE로 상태 변경
shutdown 상태에서 nomount 상태로 startup하기
STARTUP NOMOUNT;
nomount 상태에서 mount 상태로
ALTER DATABASE [database이름] MOUNT;
mount 상태에서 open 상태로
ALTER DATABASE [database] OPEN [READ ONLY | READ WRITE];
DATABASE OPEN하기
전체 데이터베이스 OPEN
startup restrict;
특정 DATABASE OPEN 또는 MOUNT
startup mount [database 이름]
startup open [database 이름]
DATABASE SHUTDOWN 하기
SHUTDOWN [abort | immediate | transactional | normal]
Normal
- 기본 종료 모드
- 새로운 접속 허용하지 않음
- 종료하기 전에 모든 사용자의 접속종료를 기다림
- 백그라운드 process가 종료되고 SGA가 제거됨
- Instance가 종료되기 전에 Database 를 닫고 마운트를 해제함.
- 시작시 Instance 복구가 필요 없음
TRANSACTIONAL
- 사용자의 작업 손실을 방지한다.
- 모든 사용자는 새로운 트랜잭션을 시작 할 수 없음.
- 사용자의 트랜잭션이 끝나면 해당 사용자는 접속이 해제 됨
- 모든 트랜잭션이 끝나면 즉시 종료됨
- 시작시 Instance 복구가 필요 없음
IMMEDIATE
- 현재 실행중인 Transaction은 강제 rollback 처리 함.
- 모든 사용자의 접속을 강제로 해제 함
- Instance가 종료되기 전에 Database 를 닫고 마운트를 해제함.
- 시작시 Instance 복구가 필요 없음
ABORT(Dirty Database)
- 처리중인 SQL 문이 즉시 종료
- 모든 사용자의 접속을 강제로 해제 함
- Redo Log Buffer 내용이 Database에 기록되지 않음
- Commit 하지 않은 Transaction은 Rollback 되지 않음
- Instance는 파일을 닫지 않고 종료 됨
- Database 가 닫히지 않고 마운트가 해제되지 않음
- 시작시 Instance 를 복구 해야 함
참고 : https://tawool.tistory.com/191
SHUTDOWN > NOMOUNT > MOUNT > OPEN
단계별 수행 작업 Database 의 시작은 4개의 단계를 가지고 있다. 각 단계별 할 수 있는 작업들이 있다. 각 단계에서 사용중인 파일은 수정 할 수 없다. 예를 들어 Mount 상태는 Control File의 검증이 끝
tawool.tistory.com