Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

DBDBDEEP

Oracle 데이터베이스 상태 본문

Oracle ADMIN

Oracle 데이터베이스 상태

Kihwane 2022. 2. 8. 17:51

데이터 베이스  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가 일어나게 된다.