본문 바로가기
Tibero

[TIBERO] Tablespace 생성, 변경, 삭제

by Ssun's 2021. 3. 15.

<TABLESPACE 생성, 변경, 삭제>

 

1. Tablespace 생성

 1) DBA계정으로 실행

 2) tablespace 생성 문

    - CREATE TABLESPACE 테이블스페이스명

                 DATAFILE '절대경로/datafile명.dtf ' size 50m

                 AUTOEXTEND OFF;; 

        -> 데이터파일의 크기는 50MB이며, 테이블스페이스의 크기도 50MB가 된다.

 3) 하나의 테이블 스페이스를 두 개 이상의 데이터 파일로 구성 가능

    - CREATE TABLESPACE 테이블스페이스명

                 DATAFILE '절대경로/test_file1.dtf' size 20M,

                 DATAFILE '절대경로/test_file2.dtf' size 30M;

    - 하나의 테이블 스페이스에 많은 데이터가 저장되면 여러 개의 데이터 파일로 테이블 스페이스를 생성해야함

    - 단, 운영체제에 따라 동시에 처리할 수 있는 데이터 파일의 최대 개수가 달라질 수 있으므로 범위 내에서 

      데이터 파일의 개수를 조정해야 함

 4) 테이블스페이스 생성 시 autoextend 설정

    - CREATE TABLESPACE 테이블스페이스명

                 DATAFILE '절대경로/test_file.dtf' size 50M

                 AUTOEXTEND ON NEXT 1M;

           -> 1MB씩 확장하도록 설정

 5) INDEX 테이블스페이스 생성

    - CREATE TABLESPACE IDX테이블스페이스명

                 DATAFILE '절대경로/파일명.dtf' size 100M;

 6) TEMP 테이블스페이스 생성

    - CREATE TEMPORARY TABLESPACE TEMP테이블스페이스명

                 TEMPFILE '절대경로/파일명.dtf' size 100M;

 

 

2. Tablespace 제거

 1) drop tablespace

    - DROP TABLESPACE 테이블스페이스명;

 2) 데이터 파일까지 같이 제거

    -DROP TABLESPACE 테이블스페이스명 INCLUDING CONTENTS AND DATAFILES;

        

 

3. Tablespace 변경

 1) 데이터 파일 추가

    - 테이블스페이스의 저장공간이 더 필요한 경우 데이터파일 추가로도 가능

    - ALTER TABLESPACE 테이블스페이스명 ADD DATAFILE 'test_file02.dtf' size 30M;

    - 위처럼 절대경로를 명시하지 않으면 디폴트로 설정된 디렉터리에 데이터파일 생성됨.

      (디폴트 생성 위치 : $TB_HOME/config/$TB_SID.tip에 설정된 DB_CREATE_FILE_DEST위치.

                              : 해당 파라미터 설정X이면 $TB_HOME/database/$TB_SID에 생성)

 2) 데이터파일 크기 변경

    - ALTER DATABASE 테이블스페이스명 'test_file.dtf' RESIZE 100M;

 3) Tablespace OFFLINE

    - 특정 테이블스페이스에 읽고 쓰는 모든 접근을 허용하지 않으려면 OFFLINE절 사용

    - ALTER TABLESPACE 테이블스페이스명 OFFLINE [NORMAL];  -- NORMAL모드로 오프라이상태로 변경

    - ALTER TABLESPACE 테이블스페이스명 ONLINE;                 -- 오프라인상태 후 다시 온라인상태로 변경

 

 

4. Tablespace 정보 조회

 1) DBA_TABLESPACES 

    - Tibero내의 모든 테이블 스페이스 정보를 조회하는 뷰

 2) USER_TABLESPACES

    - 현재 사용자에 속한 테이블 스페이스의 정보를 조회하는 뷰

 3) V$TABLESPACE

    - Tibero내의 모든 테이블 스페이스에 대한 간략한 정보를 조회하는 뷰

 

 - user의 default tablespace 조회

    : SELECT USERNAME, DEFAULT_TABLESPACE FROM DBA_USERS;

 

 - TABLESPACE 사용량 조회

    select ddf.tablespace_name "Tablespace Name",
       ddf.bytes/1024/1024 "Bytes(MB)",
       (ddf.bytes - dfs.bytes)/1024/1024 "Used(MB)",
       round(((ddf.bytes - dfs.bytes) / ddf.bytes) * 100, 2) "Percent(%)",
       dfs.bytes/1024/1024 "Free(MB)",
       round((1 - ((ddf.bytes - dfs.bytes) / ddf.bytes)) * 100, 2) "Free(%)"
    from   (select tablespace_name, sum(bytes) bytes
        from   dba_data_files
        group by tablespace_name) ddf,
       (select tablespace_name, sum(bytes) bytes
        from   dba_free_space
        group by tablespace_name) dfs
    where   ddf.tablespace_name = dfs.tablespace_name
    order by ((ddf.bytes-dfs.bytes)/ddf.bytes) desc
;

 

 

 

반응형

댓글