미스터 역마살
ORACLE 백업 및 복구 과제 1일차 본문
오라클 백업 및 복구 강의에서 1일차에 했던 과제를 올려 봅니다.
1. 오라클 서버의 3가지 영역에 대해 설명하고 DML문과 COMMIT문을 처리하는 과정에 대해 자세히 설명하시오
- 오라클의 서버의 3가지 영역
오라클서버는 메모리영역, 프로세스 영역, 파일영역으로 나뉜다.
첫번째 메모리 영역은 SGA라는 영역이며 SGA는 테이블을 검색하거나 저장하는 등의 작업을 할수 있게 해주는 공간이다. SGA내의 영역들로는 SHARED POOL AREA, DATA BUFFER CACHE AREA, LOG BUFFER 등 총 6개의 영역으로 나뉘게 된다.
두번째 프로세스 영역은 유저프로세스, 서버프로세스와 백그라운드 프로세스로 나뉘게 되는데 유저프로세스는 서버프로세스에게 쿼리문을 전달하거나 결과값을 리턴받는 역할을 하게되면 서버프로세스의 경우는 자신만의 메모리 영역을 할당받아 소트작업이나 SQL PARSE, EXECUTE, FETCH 작업들을 진행하게된다. 백그라운드 프로세스의 경우는 각각의 프로세스들에게 할당된 작업들을 독립적으로 수행하게 된다.
세번째 파일영역은 파라메타 파일, 리두로그 파일, 컨트롤 파일, 데이터파일로 나뉜다. 파라메타 파일은 환경설정과 관련정보를 저장해두는 파일이며 리두로그파일은 DML문에 의해 발생하는 모든 변경데이터를 백업해두는 파일이다. 컨트롤 파일의 경우는 모든 파일들에 대한 상태정보를 저장하며 데이터 파일은 말그대로 데이터를 저장하는 파일이다.
- DML 문과 COMMIT 처리과정
DML의 경우는 UPDATE구문을 실행했을때를 예로들어 설명하겠다. UPDATE 구문을 실행하게 되면 유저프로세스가 서버프로세스에게 쿼리를 전달하게되고, 서버프로세스는 PARSE 작업과 EXECUTE 작업을 실행하게 된다. 그런다음 DATADICTIONARY에서 해당되는 오브젝트를 가져와서 변경 작업을 진행하게된다. 이때 UNDO SEGMENT에 변경전의 데이터와 변경후의 데이터를 같이 저장하게된다.(롤백을 위해) 그런다음 COMMIT이 실행되는 순간 변경전 데이터가 변경후 데이터로 바뀌게 되며 LGWR를 통해 리두로그파일에 기록되게 된다. 그리고 CKPT를 통해 컨트롤 파일과 데이터 파일에도 쓰여지게 된다.
2.오라클 서버의 논리적 구조와 물리적 구조에 대해 각각 설명하십시오
오라클의 논리적 구조는 Database>Tablespaces>Segments>Extents>Block 순으로 세분화 된다.
먼저 데이터베이스는 여러 개의 테이블스페이스라는 논리적 구조가 모여 하나의 데이터베이스를 만들게 된다. 테이블 스페이스는 기본적으로 SYSTEM TBS, UNDO TBS, TEMP TBS 3개로 구성된다. 그리고 Segment는 객체의 생성단위를 나타낸다(테이블,인덱스,뷰,시퀀스,시노님등) 그리고 익스텐트는 확장의 단위라고 생각하면 된다. 테이블 생성시 익스텐트라는 공간이 할당되고 이 공간을 초과하면 해당공간만큼의 공간이 더 생기는 것이다. 그리고 마지막으로 블록은 오라클 I/O의 최소단위 이다.
물리적 구조로는 실제 데이터들이 저장되는 물리적 파일을 일컫는다.
3. 오라클 서버를 시작하는 단계(NOMOUNT, MOUNT, OPEN)에 대해 구체적으로 설명하십시오
- NOMOUNT
NOMOUNT에서는 메모리 영역의 활성화 작업을 진행하게된다. START UP 명령어로 시작되는 첫번째 단계이며 SGA 영역과 백그라운프로세스가 사용가능한 상태로 활성화 시켜주는 단계이다.
-MOUNT
MOUNT는 db관련 정보를 수집하는 단계이다. 여기서는 현재 데이터베이스의 모든상태정보를 컨트롤 파일로부터 읽어 들이는 단계이다.
-OPEN
OPEN은 수집된 정보가 정상적인지 확인하는 작업을 수행하는 단계이다. 해당경로에 파일이 존재하는지 등을 검증하며 컨트롤 파일에 정의되어 있는 파일 및 경로가 운영체계 상에 실제 파일 및 경로로 존재하는지에 대해 검사를 하는 단계이다.
'Database > ORACLE' 카테고리의 다른 글
ORACLE 백업 및 복구 과제 2일차 (0) | 2021.07.16 |
---|---|
[PL-SQL] PLS-00201 에러 발생시 대처 방법 (0) | 2021.07.15 |
ORA-01119 에러 및 해결 방안 찾기 (1) | 2020.12.10 |
오라클 정규식 (REGEXP) 사용법 (2) | 2020.12.08 |
오라클 에러 모음 (0) | 2020.12.05 |