DBA 터미널로 DB를 시작한다. 그리고 일반 사용자 ST01로 DB에 접속한다 .
이 상태에서 SHUTDOWN NORMAL 명령을 내리면 접속한 사용자가 있기 때문에 DB가 종료되지 않는다.
이때 ctrl+c로 빠져나와야 한다.
SHUTDOWN의 TRANSACTIONAL 옵션으로 DB 종료를 시도하면 접속이 성공적으로 끊겼음을 확인할 수 있다.
일반 사용자 터미널로 쿼리를 날리면 연결이 끊어졌다는 ERROR가 뜬다.
DBA 터미널로 Oracle을 다시 STARTUP한 후 일반 사용자로 재접속한다.
실습을 위해 테이블을 생성한다 .
그 후 DBA 터미널에서 TRANSACTIONAL 모드로 SHUTDOWN 명령을 입력한다.
새로운 일반 사용자 ST로 접속을 시도한다. DBA 터미널로 SHUTDOWN을 입력하였기 때문에 다음과 같은 에러문이 뜨며 접속이 불가하다.
immediate shutdown or close in progress - no operations are permitted.
즉시 종료 또는 닫기 진행 중 - 작업이 허용되지 않습니다.
일반 사용자 ST01로 ROLLBACK을 수행한다 .
DBA로 입력했던 SHUTDOWN TRANSACTIONAL 명령어가 정상적으로 실행됨을 확인할 수 있다.
일반 사용자 ST01에 명령어를 입력하면 접속이 끊긴 상태여서 ERROR가 뜨는 것을 확인할 수 있다.
종료 모드 | ABORT | IMMEDIATE | TRANSACTIONAL | NORMAL |
새로운 접속 허용 | NO | NO | NO | NO |
현재 세션 종료시까지 대기 | NO | NO | NO | YES |
현재 트랜잭션 종료시까지 대기 | NO | NO | YES | YES |
CKPT 시행 및 파일 닫기 | NO | YES | YES | YES |
SHUTDOWN 옵션
1) NORMAL 모드로 종료 (기본 종료 모드)
- 새로운 접속이 허용되지 않는다.
- 종료하기 전에 Oracle 서버가 모든 사용자의 접속 해제를 기다린다.
- Database 및 Redo Log Buffer가 Disk에 기록된다.
- 백그라운드 프로세스가 종료되고 SGA가 메모리에서 제거된다.
- 인스턴스를 종료하기 전에 Oracle은 DB를 닫고 마운트를 해제한다.
- 이후 시작시 인스턴스를 복구할 필요가 없다.
2) TRANSACTIONAL 모드로 종료 : 클라이언트의 작업 손실을 방지한다.
- 모든 클라이언트가 특정 인스턴스에서 새로운 트랙잭션을 시작할 수 없다.
- 클라이언트는 진행 중인 트랜잭션을 마치면 접속을 해제한다.
- 모든 트랜잭션이 끝나는 즉시 종료된다.
- 이후 시작시 인스턴스를 복구할 필요가 없다.
3) IMMEDIATE 모드로 종료
- 현재 Oracle 서버가 처리하고 있는 SQL문이 완료되지 않는다.
- Oracle 서버는 현재 DB에 접속하고 있는 사용자의 접속이 해제될 때까지 기다리지 않는다.
- Oracle은 활성 트랜잭션을 롤백하고 모든 사용자의 접속을 해제한다.
- 인스턴스를 종료하기 전에 Oracle은 DB를 닫고 마운트 해제한다.
- 이후 시작시 인스턴스를 복구할 필요가 없다.
4) ABORT 모드로 종료 : NORMAL 및 IMMEDIATE 종료 옵션이 작동하지 않는 경우 사용할 수 있다.
- 현재 Oracle 서버가 처리하고 있는 SQL 문이 즉시 종료된다.
- Oracle은 현재 DB에 접속하고 있는 사용자의 접속이 해제될 때까지 기다리지 않는다.
- Database 및 Redo Log Buffer가 Disk에 기록되지 않는다.
- Commit되지 않은 트랜잭션은 Rollback되지 않는다.
- 인스턴스는 파일을 닫지 않은 채 종료된다.
- DB가 닫히지 않거나 마운트가 해제되지 않는다.
- 이후 시작시 자동으로 인스턴스를 복구해야 한다.
'인프라 7기 > Oracle' 카테고리의 다른 글
Oracle 실습 : Parameter file 관리 (0) | 2023.03.02 |
---|---|
Oracle 실습 : Network 설정과 접속 (0) | 2023.03.02 |
Oracle 실습 : STARTUP과 SHUTDOWN (1) | 2023.02.28 |
Oracle 구조 및 주요 구성 요소 (0) | 2023.02.27 |
Oracle 사용자 계정 생성 (0) | 2023.02.27 |