하나 이상의 Extent가 모여서 segment가 된다. Segment와 Object의 개념을 혼동 할 수 있는데 Object는 더 큰 개념이고 Object 종류 중에서 Segment가 포함된다. 데이터를 저장하고 데이터베이스에서 공간을 차지하는 Object가 바로 Segment이다. Segment 종류 Table Table Partition Cluster index undo Segment Temporary Segment Lob Segment Nested table Bootstrap Segment Segment의 Extent의 할당 및 해제 ([Stoage-2 Extent])
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..
Oracle은 필요한 Block를 Disk의 Data File 에서 찾아 메모리로 적재시키는데 이때 적재되는 메모리의 공간이Tablespace이다. 이 Tablespace에서 작업이 끝나면 다시 Data File에 저장한다. Tablespace는 메모리상에 생성되는 논리적인 공간이고 Datafile은 물리적으로 존재하는 파일이다. Tablespace에 DataFile이 소속되어 있기 때문에 DataFile의 Block이 읽혀지게되면 메모리로 올라가는데 자신이 속한 Tablespace영역에 적재되어 작업이 수행된다. Tablespace Data File의 Block이 Server Process에 의해 읽혀져서 Instance의 논리적인 tablespace에 저장한다. 하나 이상의 데이터 파일로 구성된다. ..
단계별 수행 작업 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..
Oracle Database Startup 과정은 다음과 같다. Oracle은 Shutdown 상태에서 NOMOUNT상태가 될때 Parameter 정보를 읽어서 NOMOUNT 상태가 된다. 이때 Parameter 정보는 Parameter File에서 읽어오는데 이때 두가지 방식이 있다. 바로 PFILE과 SPFILE 인데, pfile 은 과거부터 사용해오던 방식이고 spfile 은 Oracle 9i 부터 새롭게 적용된 방식이다. pfile 과 spfile 에 대해서 알아보도록 한다. 특징 PFILE 1. Text 형식의 파일로 사용자가 직접 Editor로 수정이 가능하다. 2. 변경사항은 재시작해야 적용됨. (Shutdown 상태에서 NOMOUNT상태가 될 때 읽어서 적용된다.) 3. 파일의 기본위치는 ..