Oracle Database 시작과 종료
Oracle DB를 사용하기 위해서는 Oracle이 Open 되어 있어야 하는데, DB를 시작하거나 종료하기 위해서는 SYSDBA의 권한을 가지고 있는 계정으로 접속해야 합니다.
SYSDBA 계정으로 접속하는 방법은 여러가지가 있습니다.
설치후 기본값을 가지고 있는 상태라면, / as sysdba 를 통해 접속이 가능합니다.
<10g 이후 – 10g,11g,12c>
$ sqlplus / as sysdba
$ sqlplus sys/manager as sysdba
<9i 이전 – 9i, 8i>
$ sqlplus “/as sysdba”
ORA11:/oracle> sqlplus / as sysdba SQL*Plus: Release 11.2.0.3.0 Production on Wed Apr 23 09:54:20 2014 Copyright (c) 1982, 2011, Oracle. All rights reserved. Connected to an idle instance. SQL> startup; ORACLE instance started. Total System Global Area 521936896 bytes Fixed Size 2202320 bytes Variable Size 150996272 bytes Database Buffers 360710144 bytes Redo Buffers 8028160 bytes Database mounted. Database opened. SQL>
STARTUP – Startup 명령을 치면 오라클 프로세스가 가장 먼저 Parameter file을 찾아서 읽는다.
Parameter file은 8i까지 기본으로 사용하던 정적 Parameter file 인 pfile과 9i부터 새로 사용하기 시작한 동적 Parameter file 인 spfile이 있다.
NOMOUNT – 오라클 프로세스는 NOMOUNT 단계에서 Parameter file을 읽고 그 파일안에 있는 설정 값을 가지고 instance를 생성한다.
인스턴스는 SGA와 Background 프로세스들로 구성되어 있기 때문에, NOMOUNT 단계에서 RAM에 인스턴스를 위한 메모리 공간을 확보한다.
그리고 인스턴스가 시작하고나서 종료할때까지 중요한 이벤트를 기록하는 Alertlog에 로깅을 시작한다.
MOUNT – NOMOUNT 단계를 마치면 Control file을 읽고 MOUNT 단계로 진행한다.
Control file 위치는 Parameter file 안에 저장 되어 있으며, Database 의 이상 유무를 확인한다.
Instance Crush로 판단되면 Redo log file을 읽어 Instance recovery를 수행. Redo log에 복구할 내용이 없으면 Archive를 찾는데, 이 경우 사용자가 직접 recovery를 해야 한다.
OPEN – DB가 정상적으로 open되어 데이터 조회, 입력, 삭제 등의 업무를 진행 할 수 있다.
※ 참고 : Oracle 7 버전에서는 sqlplus “/as sysdba” 명령을 가지고 SQL> 로 접속하여 startup을 하는 것이 아니라, 서버 매니저 ‘SVRMGR>’ 로 접속하여 DB구동을 한다.
DATABASE OPEN 하기
– NOMOUNT 단계까지만 시작한후 나머지 단계 진행하기
SYS> STARTUP NOMOUNT; SYS> ALTER DATABASE MOUNT; SYS> ALTER DATABASE OPEN;
– MOUNT 단계까지만 시작한후 나머지 단계 진행하기
SYS> STARTUP MOUNT; SYS> ALTER DATABASE OPEN;
– 읽기 전용 상태로 OPEN 하기 (데이터 수정 불가, 조회만 가능)
SYS> STARTUP MOUNT; SYS> ALTER DATABASE OPEN READ ONLY;
– RESTRICTED MODE (제한 모드, 허가받은 사용자만 데이터 수정 가능)
SYS> STARTUP RESTRICT;
현재 OPEN 되어 있는 DB에서 RESTRICT 모드 전환
SYS> ALTER SYSTEM ENABLE RESTRICTED SESSION; SYS> ALTER SYSTEM DISABLE RESTRICTED SESSION;
DATABASE SHUTDOWN 하기
SYS> shutdown; SYS> shutdown immediate;
Shutdown의 4가지 옵션
1. Normal (기본)
– shutdown 명령 전에 접속되어 있던 사용자가 있을 경우 강제로 종료시키지 않고 해당 사용자들이 모두 스스로 접속 할때까지 기다렸다가 종료.
2. Transactional
– 사용자의 접속 종료를 기다리지 않고 강제로 접속 중지 시킨후 instance를 종료. 강제로 접속을 중지시키는 시점은 Transaction이 끝나는 시점.
3. Immediate
– 사용자의 행동에 상관없이 즉시 접속을 강제 종료. 종료 시점에 commit된 데이터는 datafile에 기록하고, commit 되지 않은 데이터는 Rollback.
4. Abort
– immediate 처럼 즉시 강제 종료 하나, commit 된 데이터를 저장하거나, commit 되지 않은 데이터를 Rollback 하지 않는다.
비정상 종료이며 다른 말로 Instance Crush 라고 부른다. startup 시 SMON이 Instance Recovery를 수행하여 복구해야 한다.
최신 댓글