반응형

오라클 세그먼트의 개념

  • 세그먼트는 테이블, 인덱스, 클러스터와 같은 데이터베이스 객체들이 저장되는 공간을 나타냄.
  • 세그먼트는 데이터블록(Data Block), 익스텐트(Extent), **테이블스페이스(Tablespace)**의 계층 구조 중에서 중간에 위치하며, 익스텐트들의 집합으로 이루어짐.


오라클 저장 구조의 계층

오라클의 저장 구조는 아래와 같은 계층으로 이루어짐.

  1. 데이터 블록(Data Block)
    오라클 데이터베이스가 데이터를 저장하는 가장 작은 단위입니다. 데이터블록은 디스크 상의 물리적인 공간과 직접 대응.


  2. 익스텐트(Extent)
    여러 데이터블록들이 모여 익스텐트를 구성함.

    익스텐트는 연속된 데이터 블록들의 집합으로, 오라클이 데이터베이스 객체에 더 많은 공간이 필요할 때 익스텐트 단위로 추가 공간을 할당.

  3. 세그먼트(Segment)
    익스텐트들이 모여 세그먼트를 형성. 테이블이나 인덱스 같은 데이터베이스 객체가 데이터를 저장할 때, 이 데이터를 저장하는 공간.

    세그먼트는 한 테이블이나 인덱스 등과 같은 객체마다 하나씩 존재.

  4. 테이블스페이스(Tablespace)
    세그먼트가 할당되는 논리적인 저장 공간.

    테이블스페이스는 데이터베이스에서 물리적인 저장 파일을 관리하는 논리적 단위.

https://logicalread.com/oracle-12c-architecture-part-1-mc05/


세그먼트의 종류

오라클에서는 다양한 유형의 세그먼트가 존재하며, 각 세그먼트는 다른 데이터베이스 객체와 연결됨:

  1. 데이터 세그먼트 (Data Segment)
    테이블에 데이터를 저장하기 위한 세그먼트.

    테이블이 생성되면 자동으로 데이터 세그먼트가 생성.

  2. 인덱스 세그먼트 (Index Segment)
    인덱스 데이터를 저장하는 세그먼트.

    인덱스를 생성하면 인덱스 세그먼트가 생성.

  3. 클러스터 세그먼트 (Cluster Segment)
    클러스터 테이블에 데이터를 저장하는 데 사용되는 세그먼트.


  4. 롤백 세그먼트 (Rollback Segment)
    트랜잭션 중 데이터를 변경하기 전에 그 변경 내용을 저장하여 롤백할 수 있도록 하는 세그먼트.


  5. 임시 세그먼트 (Temporary Segment)
    정렬과 같은 작업을 수행할 때 임시로 데이터를 저장하는 데 사용되는 세그먼트.

    임시 세그먼트는 작업이 완료되면 자동으로 해제.

https://onlineappsdba.com/index.php/2008/01/31/blocks-extents-segments-in-oracle-database-back-to-basics/

반응형

+ Recent posts