728x90
반응형
728x90
반응형

테이블스페이스(tablespace)

 : 테이블 및 인덱스를 저장한 오라클의 논리적인 공간으로, 

  실제 물리적인 공간은 데이터파일(파일명.DBF)에 저장


테이블스페이스 생성 쿼리

create TABLESAPCE테이블스페이스명 DATAFILE

'저장될 디렉토리\파일명.dbf' size 100m // 100MB 크기의 파일이 생성됨

extent management local

segment space management auto;


테이블스페이스 사용하기

CREATE TABLE 테이블명(

 ID VARCHAR2(40 BYTE)       NOT NULL,

 NAME VARCHAR2(255 BYTE),

 ....

)tablespace 만든 테이블스페이스명;


 : 만든 테이블의 데이터는 만든 테이블스페이스에 저장됨


테이블 스페이스 관련 테이블

 - DBA_TABLESPACES : 테이블스페이스 목록

SELECT TABLESPACE_NAME, STATUS, CONTENTS FROM DBA_TABLESPACES;



- DBA_DATA_FILES : 테이블스페이스 파일 목록

SELECT FILE_NAME, BYTES, STATUS FROM DBA_DATA_FILES;



- DBA_FREE_SPACE : 테이블스페이스 잔여 공간

SELECT TABLESPACE_NAME, BYTES, BLOCKS FROM DBA_FREE_SPACE;



테이블스페이스 용량 조회 쿼리

select   substr(a.tablespace_name,1,30) tablespace,

         round(sum(a.total1)/1024/1024,1) "TotalMB",

         round(sum(a.total1)/1024/1024,1)-round(sum(a.sum1)/1024/1024,1) "UsedMB",

         round(sum(a.sum1)/1024/1024,1) "FreeMB",

         round((round(sum(a.total1)/1024/1024,1)-round(sum(a.sum1)/1024/1024,1))/round(sum(a.total1)/1024/1024,1)*100,2) "Used%"

   from

         (select   tablespace_name,0 total1,sum(bytes) sum1,max(bytes) MAXB,count(bytes) cnt

          from     dba_free_space

          group by tablespace_name

          union

          select   tablespace_name,sum(bytes) total1,0,0,0

          from     dba_data_files

          group by tablespace_name) a

   group by a.tablespace_name

   order by tablespace;


테이블스페이스 리사이즈

alter DATABASE datafile '/data/oracle/oradata/파일명.dbf' resize 20000M 

 -> 해당 디렉토리에 있는 파일명.dbf의 파일 크기를 20GB로 늘림

728x90
반응형
728x90
반응형

+ Recent posts