Tablespace
BIGFILE과 SMALLFILE 차이
Temporary Tablespace
UNDO Tablespace
확인
SELECT * FROM DBA_DATA_FILES;
--용량별 확인
SELECT
A.TABLESPACE_NAME,
ROUND(CAPACITY / 1024 / 1024, 2) AS "CAPACITY (MB)",
ROUND(FREE / 1024 / 1024, 2) AS "FREE (MB)",
ROUND((FREE / CAPACITY * 100), 2) AS "FREE (%)"
FROM (
SELECT TABLESPACE_NAME, SUM(BYTES) AS CAPACITY
FROM DBA_DATA_FILES GROUP BY TABLESPACE_NAME
) A
INNER JOIN (
SELECT TABLESPACE_NAME, SUM(BYTES) as FREE
FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME
) B ON A.TABLESPACE_NAME = B.TABLESPACE_NAME
ORDER BY "FREE (MB)" DESC;
생성
--자동 확장
CREATE TABLESPACE tablespace_name DATAFILE '/AAA/BBB/CCC/tablespace_filename' SIZE size AUTOEXTEND ON NEXT size MAXSIZE UNLIMITED;
--수동 확장
CREATE TABLESPACE tablespace_name DATAFILE '/AAA/BBB/CCC/tablespace_filename' SIZE size AUTOEXTEND OFF;
추가
--자동 확장
ALTER TABLESPACE tablespace_name ADD DATAFILE '/AAA/BBB/CCC/tablespace_filename' SIZE size AUTOEXTEND ON NEXT size MAXSIZE UNLIMITED;
--수동 확장
ALTER TABLESPACE tablespace_name ADD DATAFILE '/AAA/BBB/CCC/tablespace_filename' SIZE size AUTOEXTEND OFF;
변경
ALTER TABLESPACE tablespace_name RESIZE size;
Remap
삭제
DROP TABLESPACE tablespace_name;
권한
--size만큼 사용할 수 있도록 함
ALTER USER owner_name QUOTA size ON tablespace_name;
--제한 없음
ALTER USER owner_name QUOTA UNLIMITED ON tablespace_name;
--전체 권한
GRANT UNLIMITED TABLESPACE to owner_name;
RDS에서의 Tablespace
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.Database.html
구조 설명
- 데이터 할당
|종류|설명|
|-|-|
|DMT|Data Dictionary에서 공간할당을 담당. 지금은 쓰지 않는 방식|
|LMT|Extent마다 1비트를 할당해 0, 1로 공간이 있는지 없는지 표시하며 저장
(공간이 비어있을 수 있음)|
- 데이터 구조 |종류|설명| |-|-| |MSSM|Segment Header에서 프리리스트로 여유공간을 갖는 방식| |ASSM|Segment Header가 각 Extents의 Header들을 Point하고 있는 계층구조|
- 사용 방식
|종류|SQL|사용 가능 여부|
|-|-|-|
|LMT + ASSM (Default)|
EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
|O| |LMT + MSSM|EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT MANUAL;
|O| |DMT + MSSM|EXTENT MANAGEMENT DICTIONARY SEGMENT SPACE MANAGEMENT MANUAL;
|O| |DMT + ASSM|EXTENT MANAGEMENT DICTIONARY SEGMENT SPACE MANAGEMENT AUTO;
|X|
- 참조 |구분|System Tablespace|Datafile Tablespace| |-|-|-| |DBCA로 DB를 생성|LMT|LMT| |수동으로 DB를 생성|DMT|LMT, DMT|