본문 바로가기
5. 데이터베이스 관리/5.1 ORACLE

[ORACLE 1장] 테이블 스페이스 생성 및 수정

by 용심장 2024. 3. 7.
300x250

ORACLE 테이블 스페이스 생성
ORACLE 테이블 스페이스 생성

 

 

[ 테이블 스페이스 생성 ]

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 에 과부하가 발생 

   * 서버 상태에 따라 적절한 용량으로 점진적 증가 필요

반응형