줄기세포

[Tibero] Tablespace에 Datafile 추가 방법 본문

DB/Tibero

[Tibero] Tablespace에 Datafile 추가 방법

줄기세포(Stem_Cell) 2021. 6. 2. 16:24

Tablespace가 Full나면 Datafile을 추가하거나 크기를 늘려줘야 한다.

Full 나기전 모니터링을 통해 용량을 늘려주는 것도 방법이다.

 

 

-- Tablespace와 Datafile이란?

관계를 알면 좋은데,

Datafile이 실제 OS 경로에 생기는 파일이고 Tablespace는  Datafile들로 이루어진 논리적인 구조로 볼 수 있다. tablespace에 여러개의 datafile을 연결할 수 있지만, datafile에 여러 tablespace 연결은 불가능하다.

 

-- DATAFILE을 resize 하는 방법

ALTER DATABASE DATAFILE 'my_file01.dtf' RESIZE 100M;

DATAFILE 의 사이즈를 늘리는 방법이다. 생성되어있던 DATAFILE 의 사이즈를 늘리는 것은 그냥 가능하지만,

DATAFILE 의 크기를 줄이는 경우에느 Schema 객체의 총 크기 보다 작으면 에러가 발생한다.

 

'  ' 사이 DATAFILE의 이름을 적어줄 때, 절대 경로를 사용할 수 있다. 이름만 적으면 기본 경로에 생성됨

DATAFILE의 사이즈만큼 만들려는 경로에 마운트 된 DISK의 사이즈를 조회하여 용량이 충분한지 확인한다

( $df -hT /directory or $du -h /directory )

 

-- TABLESPACE에 연결된 DATAFILE 조회

select tablespace_name,
    bytes/1024/1024 MB,
    file_name,
    autoextensible AUTO,
    status
from dba_data_files;

 

-- DATAFILE을 TABLESPACE에 추가 하는 방법

ALTER TABLESPACE my_space ADD DATAFILE 'my_datafile02.dtf' SIZE 100M;



-- Tablespace의 Schema 객체의 총 크기 조회

-- tablespace 사용량 조회
select distinct d.file_id   file#,
     d.tablespace_name          ts_name,
     d.bytes /1024 /1024        MB,
     d.bytes / 8192             total_blocks,
     sum(e.blocks)              used_blocks,
to_char( nvl( round( sum(e.blocks)/(d.bytes/8192), 4),0) *100,'09.99') || ' %' pct_used
     from dba_extents e , dba_data_files d
     where d.file_id = e.file_id(+)
     group by d.file_id , d.tablespace_name , d.bytes
     order by 1,2 ;

 

-- DATAFILE 속성 변경

AUTOEXNTEND 활성화 방법

ALTER DATABASE DATAFILE 'my_dafafile01.dtf' AUTOEXTEND ON NEXT 10M MAXSIZE 1000M;

-- DATAFILE AUTOEXNTEND 조회

SELECT TABLESPACE_NAME, FILE_NAME, AUTOEXTENSIBLE FROM DBA_DATA_FILES;


-- TABLESPACE 삭제 방법 / DATAFILE DROP 방법

DROP TABLESPACE my_space INCLUDING CONTENTS AND DATAFILES;

ALTER TABLESPACE my_space DROP DATAFILE 'my_datafile02.dtf';

 

참조:

https://oracle-childschool.tistory.com/10

 

Tablespace 와 Data File 관리

테이블스페이스 이름 , 용량 , 데이터파일 위치 조회 (기본 테이블 스페이스 조회 명령어) select tablespace_name , bytes/1024/1024 MB , file_name from dba_data_files ; ◆각 datafile 실제사용량 조회 쿼리..

oracle-childschool.tistory.com

 

Comments