테이블스페이스란?
- 데이터 저장 단위 중 가장 상위에 있는 단위
- 데이터 저장 단위는 물리적, 논리적단위로 나뉨. 물리적 단위는 파일을 의미 / 논리적 단위는 데이터블록 -> 익스텐트 -> 세그먼트 -> 테이블스페이스 로 나뉨.
- 오라클에서는 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 |