Oracle에서 논리적으로 가장 작은 I/O단위가 블록(Block)이다. Extent는 관련된 블록이 모여서 구성되는 논리적 단위다. Extent 단위로 Segment 가 저장공간을 할당(allocate)받거나 해제(de-allocate)하게 된다. Extent를 사용하게 되면 관련된 Block들을 연속된 공간에 저장하게 되므로 I/O에 유리하다. 즉 Oracle은 DataFile에 내려쓸 내용이 있으면 Extent 단위로 할당 받아서 관련된 Block이 연속된 공간에 저장되도록 한다. 단편화 (Fragmentation) 실제로 위와 같은 용도로 사용되기 때문에 DataFile에는 비어 있는 Free extent가 있지만, 그 공간이 연속되지 않으면 그 Free Extent 들의 연속된 공간이 할당하려는..
Oracle block 은 논리적인 최소 I/O 단위다. Oracle block는 하나 또는 하나이상의 OS block 으로 구성되어 있다. (이하 본문에서는 Oracle Block을 간단히 Block으로 하기로 한다..) Block 은 데이터 파일에서 Server Process 가 읽어서 DB Buffer Cache으로 적재할때 Block 단위로 적재한다. 그리고 OS Block으로 구성되기 때문에 반드시 OS Block 크기보다 같거나 크다. 이 Block 의 크기는 Database를 생성할 때 단 한번 설정 할 수 있는데, 이후에 이 값은 바꿀 수 없다. 위 그림에 나와있듯이 Block 의 크기는 DB_BLOCK_SIZE 파라미터에 의해 결정되는데 9i의 기본 크기는 4kb이고 10g와 11g는 8..
단계별 수행 작업 Database 의 시작은 4개의 단계를 가지고 있다. 각 단계별 할 수 있는 작업들이 있다. 각 단계에서 사용중인 파일은 수정 할 수 없다. 예를 들어 Mount 상태는 Control File의 검증이 끝났다는 것을 의미하며 사용중이라는 의미인데 Control File을 옮겨버리면 심각한 문제가 발생한다 SHUTDOWN 메모리상에 INSTANCE 가 없는 상태이고 DISK에 파일만 존재한 상태이다. PFILE 방식을 사용중이면 Parameter File ( http://tawool.tistory.com/190 ) 의 내용을 수정할 수 있다. 이 단계에서 Control File 의 관리( http://tawool.tistory.com/164 )가 가능하다. SHUTDOWN > NOMOU..
오라클 데이터베이스는 크게 메모리의 영역과 Storage 부분으로 나뉜다. Memory (메모리) 메모리부분은 SGA 와 Background Process 로 나뉜다. 이 둘은 Database 가 구동 되었을때 메모리에 존재하게 되며 이를 보고 Oracle Instance 라고 한다. SGA(System Global Area) SGA는 Server Process 나 Background Process 같은 많은 Process 들이 공통적으로 사용하는 메모리 영역이다. 이 메모리 영역은 또 필수적인 Shared Pool, Database Buffer cache Redo log buffer 와 그외 Large Pool, Java Pool, Stream Pool 등이 있다. 공유 메모리라고도 한다. 또 메모리에..
Redo Log 동작 방식 요소 - GROUP - MEMBER 관련 Backgroup Process - LGWR - ARCn 사용목적 - instance recovery - media recovery - fast commit 관리 - 다중관리 - 조회 - 그룹과 redo log 파일 생성 - 그룹 삭제 - 맴버 삭제 Redo Log 동작 방식 데이터 파일과 컨트롤파일의 변경사항을 기록하며 빠른 Commit과 복구시에 사용한다. 아래과 같은 주요특징들이 있다. 1. 데이터베이스(Control File, Data File)의 모든 변경사항을 기록한다. 2. 최소 두개의 Redo Log 그룹이 존재해야 하며, 순환 방식(Round - robin)으로 기록된다. 3. 같은 그룹의 Member는 동일한 정보를 가..