DataBase/Oracle

[Admin] Database startup (nomount/mount/open)

브라우니란 2024. 11. 10. 14:33

 

 

startup

 

Oracle Database 시작한다. 내부적으로 nomount → mount → open 단계 순으로 진행된다.

 

1. 명령어

  • startup 명령어만 실행하면 [open] 단계까지 [read write]가 기본값으로 설정되어 시작한다.
startup [open] [read write]
------------------------------------------
SQL> startup
ORACLE instance started.

Total System Global Area  711430144 bytes
Fixed Size                  1367004 bytes
Variable Size             469763108 bytes
Database Buffers          234881024 bytes
Redo Buffers                5419008 bytes
Database mounted.
Database opened.
------------------------------------------

 

데이터베이스 시작 후 아래 명령어를 통해 상태를 확인한다.

기본값으로 설정되어 현재 데이터베이스 open mode는 read write이다.

SQL>  select open_mode from v$database;

OPEN_MODE
--------------------
READ WRITE

 

 

 


 

nomount

  • startup 단계 중 첫번째이다.
  • instance가 시작되고, alert.logtrace file이 열린다.
  • 또한, DB가 생성되고 control file을 재생성한다. 그리고 백업 및 복구를 진행한다.

 

 

1. instance 시작

  • SGA Memory 영역과 Background Process를 생성한다.

 

1. initialization parameter file open

  • 초기 파라미터 파일을 연다.
파일명 역할
spifle<SID>.ora 초기 파라미터 파일
init<SID>.ora spfile<SID>.ora 파일이 없으면 참고하는 파일

 

 

2. $ORACLE_HOME/dbs

  • 초기 파라미터 파일을 저장하는 위치이다.
  • startup [nomount] 단계에서 제일 먼저 보는 파일은 spfile<SID>.ora이다. 만약 해당 파일이 없으면 init<SID>.ora를 찾는다.
SQL> show parameter spfile

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      /u01/app/oracle/product/11.2.0
                                                 .4/db_1/dbs/spfileora11g.ora

 

2. alert<SID>.log, trace file open

  • alert<SID>.log
  • trace file

 

3. nomount 단계에서 오라클 작업하는 일

  • DB 생성
  • control file 재생성
  • 백업 및 복구

 

 

3. mount

1. control file open

 

2. mount 단계에서 오라클 작업하는 일

  • 데이터 파일 이름 바꾸기
  • noarchivelog mode를 archivelog mode로 바꾸는 작업
  • full database recovery
  • rman을 이용해서 close backup 

 

4. open

  • data file open
  • redo log file open