DBDBDEEP
Oracle 데이터베이스 상태 본문
데이터 베이스 Instance 및 데이터베이스는 유저 액세스에 데이터베이스를 사용할 수 있도록 하는 단계를 거치게 된다.
데이터 베이스 Instance가 시작되고 데이터베이스가 마운트된 다음 데이터베이스가 열린다.
Startup 과 관련한 SQL 명령어
데이터 베이스가 Shutdown 상태에서 시작한다.
SQL> startup nomount
1. 최초로 수동으로 데이터베이스를 만들때 사용한다.
2. control file 장애가 발생하여 복구해야 할 때 사용한다. control file의 내용을 변경할 수 있음.
NoMount
1) nomount 단계
- parameter file 필요 / Instance 만 기동된 상태이다
Instance 시작 후 발생하는 순서
1. $ORACLE_HOME/dbs/spfile<SID>.ora를 검색한다. (필자는 spfileorcl.ora)
2. spfileorcl.ora 가 존재하지 않으면 spfile.ora를 검색한다.
3. spfile.ora가 없으면 initorcl.ora 를 검색한다
4. SGA 를 할당하고, Background Process 까지 시작한다.
5. alert_<SID>.log 파일 및 Trace File 열기.
nomount 단계 -> mount 단계
SQL > alter database mount;
Mount
- NoMount 단계에서 얻은 Parameter 정보를 가지고 Control file을 Open 한다.
- Control File을 읽어서 데이터 파일 및 Online Redo log File의 이름 및 상태를 가져온다.
> 이때, 데이터 파일 및 온라인 리두로그 파일의 존재를 확인하는 작업은 수행되지 않음.
Mount 단게에서 수행하는 일
1. Data File 이름 바꾸기 (오프라인 테이블 스페이스에 대한 데이터 파일 이름은 Open 단계에서도 수행 가능)
2. Online Redo log File 아카이브 옵션 활성화 및 비활성화
3. 전체 데이터베이스 Recovery 수행
SQL > alter database open;
Open
- 정상적으로 Instance가 시작되고, 데이터베이스가 마운트되고 열린 상태를 의미한다.
- 정상적인 데이터 베이스 운영 상태이므로 유효한 모든 유저가 데이터베이스에 연결하여 데이터 액세스 작업을 수행할 수 있다.
이 단계에서 오라클 서버는 모든 Data File 및 Online Redo log File을 열 수 있는지 확인 후 데이터 일관성을 검사.
필요한 경우 SMON 백그라운드 프로세스가 Instance Recovery를 시작한다.
바로 Startup 으로 가는 명령어
SQL> startup;
SQL> startup restrict;
- Open 까지 올리나, 일반유저의 접속은 제한하는 명령어이다.
- restricted session을 가진 유저만 접속을 허용한다. restriceted session : DBA 유저들만 권한을 받는다.
SQL> startup force = (shutdown abort + startup)
- 다시 시작하는 명령어이다.
Shutdown과 관련한 명령어
A = ABORT
I = IMMEDIATE
T = TRANSACTIONAL
N = NORMAL
1. SQL > Shutdown (normal)
- new connection x : 새로 커넥션 하려는 유저들에게 Shutdown이 진행중이니 연결을 할 수 없다는 명령어가 나간다.
- wait until exit : 유저들의 세션이 끊길 때 까지 기다려준다
- CheckPoint : shutdown 을 할때는 체크포인트가 일어난다.
- close control file / log file / datafile
- sga deallocate + background Process Stop
잘 쓰지 않으며, 종료하는데 걸리는 시간이 가장 오래 걸린다.
2. SQL > Shutdown transactional
- 현재 진행중인 트랜잭션이 완료될때 까지 기다린다. (commit 이나 rollback이 완료 될때까지 기다림)
- 기존 트랜잭션을 종료할 수 있지만 새 트랜잭션을 시작하지 않는다.
3. SQL> Shutdown immediate
- 가장 일반적으로 사용되는 옵션이며, 커밋되지 않은 트랜잭션은 롤백이 된다.
4. SQL> Shutdown abort
- 이 모드를 사용하면 Startup 전에 Recovery가 수행되므로 꼭 필요한 경우에만 사용한다.- rollback을 사용하지 않고, 체크포인트를 하지 않는다.- Background Process를 Kill 한다. - 장애가 난 것과 마찬가지이기 때문에 SMON에 의해서 자동 Recovery가 일어나게 된다.
'Oracle ADMIN' 카테고리의 다른 글
Oracle 네트워크 환경구성 , Oracle net 서비스 (0) | 2022.06.28 |
---|---|
Oracle이 정보를 적는 파일들 / Dynamic performance View / 데이터 딕셔너리 (0) | 2022.06.28 |
Oracle Database Instance 관리 (0) | 2022.02.08 |
Oracle 데이터베이스 저장 영역 구조 (0) | 2022.02.07 |
Oracle 프로세스 아키텍처 (0) | 2022.01.11 |