>  기사  >  데이터 베이스  >  오라클의 테이블스페이스란?

오라클의 테이블스페이스란?

青灯夜游
青灯夜游원래의
2022-02-23 11:52:517542검색

Oracle에서 테이블스페이스는 Oracle 데이터 개체 및 데이터 저장소를 위한 컨테이너입니다. 여러 개의 운영 체제 파일이 테이블스페이스를 구성할 수 있습니다. 테이블스페이스는 공간의 데이터 파일을 균일하게 관리합니다. 하나의 데이터 파일은 하나의 테이블스페이스에만 속할 수 있으며 데이터베이스 공간은 여러 개의 테이블스페이스로 구성됩니다.

오라클의 테이블스페이스란?

이 튜토리얼의 운영 환경: Windows 7 시스템, Oracle 11g 버전, Dell G3 컴퓨터.

Oracle 테이블 공간

데이터베이스 시스템에서 저장 공간은 더 중요한 자원입니다. 공간을 적절하게 사용하면 공간을 절약할 수 있을 뿐만 아니라 시스템의 효율성과 성능도 향상시킬 수 있습니다.

Oracle은 엄청난 양의 데이터를 저장할 수 있으며 모든 데이터는 데이터 파일에 저장됩니다. 데이터 파일의 크기는 운영 체제에 의해 제한되며, 데이터 파일이 너무 크면 데이터 액세스 성능에 큰 영향을 미칩니다. 동시에 Oracle은 크로스 플랫폼 데이터베이스이므로 다양한 플랫폼에 쉽게 이식할 수 있습니다. 그렇다면 어떻게 통합 액세스 형식으로 대용량을 제공할 수 있을까요? 오라클은 이 문제를 해결하기 위해 테이블스페이스를 사용합니다.

테이블 공간은 Oracle 데이터 개체 및 데이터 저장소를 위한 컨테이너입니다. 이는 단지 논리적인 개념일 뿐입니다. 여러 개의 운영 체제 파일(파일이 크지 않을 수 있음)이 테이블 공간을 형성할 수 있습니다. 테이블스페이스는 해당 공간 내 데이터 파일을 일률적으로 관리하며, 하나의 데이터 파일은 하나의 테이블스페이스에만 속할 수 있습니다. 데이터베이스 공간은 여러 테이블 공간으로 구성됩니다. 그림에 표시된 대로:

Oracle의 모든 데이터(시스템 데이터 포함)는 모두 테이블 공간에 저장됩니다. 공통 테이블 공간은 다음과 같습니다.

  • 시스템 테이블 공간:

    시스템 데이터 및 시스템 테이블을 저장합니다. 데이터베이스가 생성될 때 생성됩니다. 테이블스페이스 이름은 SYSTEM입니다. 데이터 사전, 뷰, 데이터베이스 구조 등 중요한 시스템 데이터 정보를 저장합니다. 운영 중 SYSTEM 공간이 부족하면 데이터베이스에 미치는 영향이 더 커집니다. 시스템 운영 중 명령을 통해 공간을 확장할 수 있지만 여전히 영향을 미칩니다. 따라서 데이터베이스 생성 시 데이터 파일의 크기를 적절하게 크게 설정하는 것이 필요합니다.

  • TMEP 테이블 공간:

    임시 테이블 공간은 데이터베이스 설치 시 생성됩니다. 임시 테이블 공간은 런타임 시 명령을 통해 늘릴 수 있습니다. 임시 테이블스페이스의 중요한 역할은 데이터 정렬입니다. 예를 들어, 사용자가 Order by와 같은 명령을 실행한 후 서버는 선택한 데이터를 정렬해야 합니다. 데이터가 큰 경우 메모리의 정렬 영역이 데이터를 보관할 수 없으므로 일부 중간 정렬이 필요합니다. 결과는 테이블스페이스에 있는 하드 디스크의 임시 저장 영역에 기록되어야 합니다.

  • 사용자 테이블 사용자 정의 공간:

    사용자는 CREATE TABLESPACE 명령을 통해 테이블 ​​공간을 생성할 수 있습니다.

테이블 공간 생성

Oracle은 다음과 같이 테이블 공간 구문 구조를 생성합니다.

create tablespace tab_name
datafile 'filename'
size n
[autoextend on next n1 maxsize m /of]
[permanent] 
[extent management local/dictionary];

구문 분석:

  • create tablespace: 테이블스페이스를 생성하는 키워드입니다.

  • tab_name: 생성 후 테이블스페이스의 이름입니다.

  • datafile: 데이터 파일의 경로를 파일 이름으로 지정합니다.

  • size n: 데이터 파일의 크기를 지정합니다.

  • [autoextend on next n1 maxsize m /of ]: 테이블스페이스가 자동으로 확장되는지 여부를 나타냅니다. on은 자동 확장을 의미하고, of는 확장 없음을 의미하며, 자동 확장 시 next n1은 자동 확장의 크기, 최대 크기 m을 나타냅니다. 데이터 파일을 최대 m 크기까지 확장할 수 있음을 나타냅니다.

  • [permanent]: 생성된 테이블스페이스의 유형을 나타냅니다. Permanent는 영구 테이블스페이스를 채우지 않으면 기본 영구 테이블스페이스가 사용됩니다.

  • [익스텐트 관리 로컬/사전]: 테이블스페이스 관리 방식을 나타내고, 로컬은 로컬 관리 모드를 나타내며, 사전은 데이터 사전 관리 모드를 나타냅니다.

사례 1. 테이블스페이스 생성 구문에 따라 100M 크기의 데이터 파일(student.dbf)로 테이블스페이스 학생을 생성합니다. 코드는 다음과 같습니다.

create tablespace student
datafile 'E:\APP\ADMIN\ORADATA\ORCL\student.DBF'
size 100m
autoextend on next 10m maxsize 500m
permanent
extent management local;

사례 분석:

Create a. 학생 테이블스페이스를 지정하고 데이터 파일은 "E:APPADMINORADATAORCLstudent.DBF"입니다. 테이블스페이스는 자동으로 확장되며, 각각의 자동 확장 크기는 10M이며, 최대 확장은 500M로 저장 및 관리됩니다. 학생 사용자의 데이터베이스 개체 및 데이터 모드는 로컬 관리입니다.

생성된 학생 테이블스페이스를 쿼리하기 위해 데이터 사전 dba_data_files 및 dba_tablespaces를 확인합니다. 쿼리 코드는 다음과 같습니다.

select t.TABLESPACE_NAME, --表空间名
       t.FILE_NAME, --文件名
       t.AUTOEXTENSIBLE, --是否自动扩展
       t.BYTES / 1024 / 1024, --表空间初始大小
       t.MAXBYTES / 1024 / 1024, --表空间最大扩展到多少
       b.CONTENTS, --表空间类型
       b.EXTENT_MANAGEMENT --表空间管理模式
  from dba_data_files t, dba_tablespaces b
 where t.TABLESPACE_NAME = b.TABLESPACE_NAME

오라클의 테이블스페이스란?

추천 튜토리얼: "Oracle Tutorial"

위 내용은 오라클의 테이블스페이스란?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.