Oracle Tablespace

|

테이블스페이스란?

- 데이터 저장 단위 중 가장 상위에 있는 단위

- 데이터 저장 단위는 물리적, 논리적단위로 나뉨. 물리적 단위는 파일을 의미 / 논리적 단위는 데이터블록 -> 익스텐트 -> 세그먼트 -> 테이블스페이스 로 나뉨.

- 오라클에서는 tablespace라고 불리는 테이블이 저장될 공간을 만들고 나서 테이블을 생성(테이블에 실질적으로 저장되는 장소)

- 설정된 용량이 가득차면 오라클 서버가 죽는다 (단, DBA가 아니라 oracle을 활용하는 개발자 수준이면 신경안써도 됨)

 

// 테이블 스페이스 생성
create tablespace [테이블 스페이스명]
datafile 'D:\oracle' -- 파일 경로
size 10M -- 초기 데이터 파일 크기 설정
autoextendon next 10M -- 초기 크기 공간을 모두 사용하는 경우 자동으로 파일의 크기가 커지는 기능
maxsize 100M -- 데이터파일이 최대로 커질 수 있는 크기 지정 기본값 = unlimited
uniform size 1M -- EXTENT 한개의 크기를 설정

// 전체 테이블 스페이스 조회
select * from dba_tablespaces;

// 전체 테이블 스페이스 경로 및 용량 조회
SELECT    
A.TABLESPACE_NAME "테이블스페이스명",
A.FILE_NAME "파일경로",
(A.BYTES - B.FREE)    "사용공간",
B.FREE                "여유 공간",
A.BYTES               "총크기",
TO_CHAR( (B.FREE / A.BYTES * 100) , '999.99')||'%' "여유공간"
FROM
(
    SELECT FILE_ID,
    TABLESPACE_NAME,
    FILE_NAME,
    SUBSTR(FILE_NAME,1,200) FILE_NM,
    SUM(BYTES) BYTES
    FROM DBA_DATA_FILES
    GROUP BY FILE_ID,TABLESPACE_NAME,FILE_NAME,SUBSTR(FILE_NAME,1,200)
)A,
(
    SELECT TABLESPACE_NAME,
    FILE_ID,
    SUM(NVL(BYTES,0)) FREE
    FROM DBA_FREE_SPACE
    GROUP BY TABLESPACE_NAME,FILE_ID
)B
WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME
AND A.FILE_ID = B.FILE_ID;

 

'DATABASE(SQL)' 카테고리의 다른 글

MyBatis #{} ${} 차이  (0) 2023.04.05
DML DDL DCL  (0) 2022.12.20
Oracle Synonym  (0) 2022.12.20
Oracle Data pump를 이용한 expdp, impdp  (0) 2022.12.19
Oracle  (0) 2022.12.19
And