--기본 테이블스페이스 조회 / 해당 계정 DBA 권한 필요

SELECT * FROM DBA_TABLESPACES;

 

 

--테이블스페이스 경로 확인

SELECT TABLESPACE_NAME, FILE_NAME, BYTES FROM dba_data_files;

 

 

--사용자별 사용 테이블스페이스 확인

SELECT USERNAME, DEFAULT_TABLESPACE FROM dba_users; 

 

 

--사용자 테이블스페이스 설정

ALTER USER [사용자 계정명] DEFAULT TABLESPACE [테이블스페이스명] QUOTA UNLIMITED ON [테이블스페이스명] ;

 

 

--전체 테이블스페이스 조회 및 경로 확인

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

 

 

--특정 테이블, 테이블스페이스 변경

alter table [테이블명] move tablespace [테이블 스페이스명]

 

 

--해당 테이블스페이스의 물리적인 파일의 이름 또는 위치변경

alter tablespace rename [A] to [B]

 

 

--해당 테이블스테이스의 용량을 1024메가로 변경

alter tablespace [테이블스페이스명] add datafile [추가할데이터파일명] size 1024M;

 

 

--해당 데이터파일경로에 해당하는 테이블스페이스의 크기가 FULL이 되면 자동으로 100메가씩 증가.

alter database datafile [데이터파일경로] autoextend on next 100m maxsize unlmited;

 

 

 

★ 삭제 주의, 삭제 옵션 다 이해 후 실행 필요

★ 운영 중인 테이블스페이스 날림 철컹철컹    

 

 

--테이블스페이스 삭제

drop tablespace [테이블 스페이스명];

 

 

--테이블스페이스 내의 객체(테이블, 인덱스등)를 전체 삭제

drop tablespace [테이블 스페이스명] include contents;

 

 

--테이블스페이스의 모든 세그먼트를 삭제. (데이타가 있는 테이블 스페이스 제외)

drop tablespace [테이블 스페이스명] including contents;

 

 

--삭제된 테이블스페이스를 참조하는 다른 테이블스페이스의 테이블로부터 참조무결성 제약 조건을 삭제

drop tablespace [테이블 스페이스명] cascade constraints;

 

--테이블 스페이스의 물리적파일까지 삭제

drop tablespace [테이블 스페이스명] including contents and datafiles;

 

 

--테이블스페이스 생성

CREATE TABLESPACE TEST
   DATAFILE '/PATH.../.../test.dbf'
   SIZE 2048M
   AUTOEXTEND ON
   NEXT 4M MAXSIZE UNLIMITED
   LOGGING PERMANENT EXTENT MANAGEMENT LOCAL AUTOALLOCATE
   BLOCKSIZE 8K
   SEGMENT SPACE MANAGEMENT MANUAL
   FLASHBACK ON;

 

 

--생성 계정에 테이블스페이스 설정
CRAETE USER [사용자계정명] IDENTIFIED BY [비번] DEFAULT TABLESPACE TEST;

 

 

--테이블 만들 때 테이블스페이스 지정

CREATE TABLE [테이블명] ( ..... 내용 ...... ) TABLESPACE [존재하는 테이블스페이스명];

 


+ Recent posts