300x250
[ 테이블 스페이스 생성 ]
ORACLE DB 초기 생성 후 진행해야 하는 방법에 관한 내용을 정리해 보겠습니다.
- CREATE TABLESPACE
문법 [BIGFILE]
CREATE TABLESPACE [테이블스페이스 명] DATAFILE SIZE [크기] AUTOEXTEND ON MAX [최대 크기];
생성 샘플
명칭 정의(용심장 회사 -> COMPANY)
1. TABLESPACE -> TBS , COMPANY -> COMP
-- TABLESPACE 명 : TBS_COMP
-- ALTER TABLESPACE [] RESIZE []G
2. 조회 : 테이블 스페이스명, 전체 사이즈, 사용량, 남은용량, 사용량 PCT(%),
3. 테이블스페이스 수정 스크립트
-- ALTER TABLESPACE '||A.TABLESPACE_NAME||'
-- RESIZE '||TO_CHAR( ROUND(SUM(A.TOTAL1)/1024/1024,1) +[증가할 사이즈] )||'G;' ALT_TBS
1. 생성
CREATE TABLESPACE TBS_COMP DATAFILE SIZE 1G AUTOEXTEND ON MAX 10G;
2. 수정 (SIZE 증가)
ALTER TABLESPACE TBS_KDEX RESIZE 2G;
3. 조회 (테이블 스페이스 및 사이즈 조정)
SELECT SYSDATE
,SUBSTR(A.TABLESPACE_NAME,1,30) TABLESPACE
,ROUND(SUM(A.TOTAL1)/1024/1024/1024,1) "TOTAL_GB"
,ROUND(SUM(A.TOTAL1)/1024/1024 /1024 ,1)-ROUND(SUM(A.SUM1)/1024/1024 /1024 ,1) "USED_GB"
,ROUND(SUM(A.SUM1)/1024/1024 /1024 ,1) "FREE_GB"
,ROUND((ROUND(SUM(A.TOTAL1)/1024/1024 /1024 ,1)-ROUND(SUM(A.SUM1)/1024/1024 /1024 ,1)) / ROUND(SUM(A.TOTAL1)/1024/1024 /1024 ,1)*100,2) "USED%"
-- 테이블 스페이스 조정
,'ALTER TABLESPACE '||A.TABLESPACE_NAME||' RESIZE '||TO_CHAR( ROUND(SUM(A.TOTAL1)/1024/1024 /1024 ,1) + 1)||'G;' ALT_TBS
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;
매일 테이블스페이스 용량 확인 후 테이블 스페이스 용량 변경 스크립트로 용량 변경 하면 된다.
테이블 스페이스 사이즈 변경 주의사항
* DB 에 과부하가 발생
* 서버 상태에 따라 적절한 용량으로 점진적 증가 필요
반응형
'5. 데이터베이스 관리 > 5.1 ORACLE' 카테고리의 다른 글
[ORACLE 5장] 인덱스 생성 및 관리 (0) | 2024.04.24 |
---|---|
[ORACLE 4-1장] 테이블 정보 조회 (0) | 2024.03.08 |
[ORACLE 4장] 테이블 생성 및 관리 (0) | 2024.03.08 |
[ORACLE 3장] 사용자 생성 및 수정 (0) | 2024.03.08 |
[ORACLE 2장] 프로파일 관리 (0) | 2024.03.07 |