테이블스페이스(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로 늘림
'DB > Oracle' 카테고리의 다른 글
오라클 홑따옴표(') 조건으로 조회하기 (0) | 2019.01.01 |
---|---|
오라클 데이터 복구 timestamp (0) | 2019.01.01 |
오라클 sys 계정 암호를 잊어버렸을 때 (0) | 2018.12.09 |
오라클 ORA-28001: the password has expired 오류 (0) | 2018.12.09 |
오라클 ORA-01006 : bind variable does not exist 오류 (0) | 2018.12.09 |