I. 데이터베이스 Instance 시작
1. NOMOUNT
2. MOUNT
3. OPEN
II. 데이터베이스 Instance 종료
1. SHUTDOWN NORMAL
2. SHUTDOWN TRANSACTIONAL
3. SHUTDOWN IMMEDIATE
4. SHUTDOWN ABORT
I. 데이터베이스 Instance 시작
1. NOMOUNT
• 일반적으로 데이터베이스 생성, 컨트롤 파일 재생성 또는 특정 백업 및 recovery 시나리오 실행 중에는 instance가
NOMOUNT 모드에서만 시작됩니다
※ Instance 시작에는 다음 작업이 포함됩니다
• 다음 순서로 $ORACLE_HOME/dbs에서 특정 이름의 파일 검색합니다.
1. spfile<SID>.ora를 검색합니다.
2. spfile<SID>.ora가 없으면 spfile.ora를 검색합니다.
3. spfile.ora가 없으면 init <SID>. ora를 검색합니다.
-> init<SID>.ora 파일은 instance의 초기화 파라미터가 들어 있는 파일입니다.
STARTUP에서 PFILE 파라미터를 지정하면 기본값 대신 이 파라미터가 적용됩니다.
• SGA 할당
• 백그라운드 프로세스 시작
• alert_.log 파일 및 trace file 열기
2. MOUNT
• 데이터베이스 마운트에는 다음 작업이 포함됩니다.
৹ 이전에 시작된 Instance와 데이터베이스 연관
৹ 파라미터 파일에 지정된 콘트롤 파일을 찾아서 열기
৹ 데이터 파일과 온라인 리두 로그 파일의 이름 및 상태를 알기 위해 컨트롤 파일 읽기
• 특정 유지 관리 작업을 수행하려면 instance를 시작하고 데이터베이스를 마운트 하는 단계까지만 수행하고
데이터베이스를 열지는 마십시오.
• 다음 작업을 수행하는 동안에는 데이터베이스가 마운트되어 있어야 하지만 열려 있으면 안 됩니다.
৹ 데이터 파일 이름 바꾸기
৹ 온라인 리두 로그 파일 아카이브 옵션 활성화 및 비활성화
৹ 전체 데이터베이스 Recovery 수행
3. OPEN
• 정상적인 데이터베이스 운영 상태는 instance가 시작되고 데이터베이스가 마운트 되고 열린 상태입니다.
• 정상적인 데이터베이스 운영 상태에서는 유효한 모든 유저가 데이터베이스에 연결하여 일반적인 데이터 액세스 작업을
수행할 수 있습니다.
• 데이터베이스 열기에는 다음 작업이 포함됩니다.
৹ 데이터 파일 열기
৹ 온라인 리두 로그 파일 열기
• 데이터베이스를 열 때 데이터 파일이나 온라인 리두 로그 파일이 없으면 Oracle 서버는 오류를 반환합니다.
• 이 최종 단계에서 Oracle 서버는 모든 데이터 파일 및 온라인 리두 로그 파일을 열 수 있는지 확인하고 데이터베이스의
일관성을 검사합니다.
• 필요한 경우 시스템 모니터(SMON) 백그라운드 프로세스가 instance recovery를 시작합니다.
II. 데이터베이스 Instance 종료
1. SHUTDOWN NORMAL
• 모드가 지정되어 있지 않을 경우 NORMAL 모드가 기본값입니다.
• Normal 데이터베이스 종료 모드에서는 다음과 같은 조건이 만족됩니다.
৹ 새 연결을 생성할 수 없습니다.
৹ Oracle 서버는 모든 유저가 연결을 끊을 때까지 종료하지 않고 대기합니다.
৹ 데이터베이스 및 리두 버퍼가 디스크에 기록됩니다.
৹ 백그라운드 프로세스가 종료되고 SGA가 메모리에서 제거됩니다.
৹ Oracle 서버는 Instance를 종료하기 전에 데이터베이스를 닫고 마운트를 해제합니다.
৹ 이후 시작 시 Instance를 Recovery 할 필요가 없습니다.
2. SHUTDOWN TRANSACTIONAL
• TRANSACTIONAL 종료 모드를 사용하면 클라이언트의 현재 작업 결과를 포함하여 데이터가 손실되지 않습니다.
• Transactional 데이터베이스 종료 모드에서는 다음과 같은 조건이 만족됩니다.
৹ 해당 Instance에서 클라이언트가 새 트랜잭션을 시작할 수 없습니다.
৹ 진행 중인 트랜잭션이 종료되면 클라이언트의 연결이 해제됩니다.
৹ 모든 트랜잭션이 완료되는 즉시 데이터베이스가 종료됩니다.
৹ 이후 시작 시 Instance를 Recovery할 필요가 없습니다.
3. SHUTDOWN IMMEDIATE
• IMMEDIATE 종료 모드에서는 다음과 같은 조건이 만족됩니다.
৹ 현재 오라클 데이터베이스가 처리하고 있는 SQL 문이 완료되지 않습니다.
৹ Oracle 서버는 현재 데이터베이스에 연결하고 있는 유저의 연결이 해제될 때까지 대기하지 않습니다.
৹ Oracle 서버는 활성 트랜잭션을 롤백하고 모든 유저의 연결을 해제합니다.
৹ Oracle 서버는 Instance를 종료하기 전에 데이터베이스를 닫고 마운트를 해제합니다.
৹ 이후 시작 시 instance를 recovery 할 필요가 없습니다.
4. SHUTDOWN ABORT
• NORMAL, TRANSACTIONAL 및 IMMEDIATE 종료 모드가 작동하지 않는 경우 현재 데이터베이스 Instance를
중지할 수 있습니다.
• Instance 중지 모드에서는 다음과 같은 조건이 만족됩니다.
৹ 현재 Oracle 서버가 처리하고 있는 SQL 문이 즉시 종료됩니다.
৹ Oracle 서버는 현재 데이터베이스에 연결하고 있는 유저의 연결이 해제될 때까지 대기하지 않습니다.
৹ 데이터베이스 및 리두 버퍼가 디스크에 기록되지 않습니다.
৹ 커밋되지 않은 트랜잭션은 롤백되지 않습니다.
৹ 파일을 닫지 않은 상태로 instance가 종료됩니다.
৹ 데이터베이스가 닫히거나 마운트 해제되지 않습니다.
৹ 다음번 시작 시 Instance Recovery가 필요하며 이는 자동으로 수행됩니다.
'ORACLE > 아키텍처' 카테고리의 다른 글
네트워크 환경 (0) | 2023.09.18 |
---|---|
Dynamic Performance 뷰 와 데이터 딕셔너리 (0) | 2023.09.18 |
데이터베이스의 구조 (0) | 2023.09.13 |