Oracle

게시글 보기
작성자 유건데이타 등록일 2015-05-12
제목 tablespace를 확장하려면
tablespace를 확장하려면 해당 tablespace에
데이타 화일을 추가하는 방법을 사용한다. 이 때 추가하는 데이타 화일의
이름은 기존의 화일과 동일한 이름이 아니기만 하면 되지만, 편의상 기존의
화일에 일련 번호를 붙여서 사용하는 것이 일반적이다.

예를 들어 tablespace TOOLS 를 확장한다고 가정하면

$sqlplus system/manager

SQL>select file_name, bytes
from dba_data_files
where tablespace_name = 'TOOLS';

이와 같이 하면 현재 TOOLS tablespace를 구성하고 있는 화일 이름과 크기
(bytes)가 출력된다. 여기서 출력된 file_name 이 /oracle/dbs/toolsORA.dbf
라고 한다면 다음과 같이 하여 tablespace를 확장한다.

SQL>alter tablespace tools
add datafile '/oracle/dbs/tools2ORA.dbf' size 50M;

여기서는 화일의 크기를 50M 로 주었는데 이것은 디스크의 FREE SPACE 와
기존의 데이타 화일의 크기 및 앞으로 들어갈 데이타의 크기 등을 고려하여
적절한 값으로 결정하도록 한다.

오라클 7.2 에서는 위의 방법 외에도 기존의 데이타화일의 크기를 변경시켜서
확장시킬 수 있다.

예를 들어 TOOLS tablespace가 현재 50M 크기의 /oracle/dbs/toolsORA.dbf
화일로 구성되어 있다면 다음과 같이 해서 이 화일의 크기를 100M 로 늘릴 수
있다.

SQL>alter database datafile
'/oracle/dbs/toolsORA.dbf' resize 100M;

RESIZE 옵션은 V7.2 에서 추가된 것으로 기존의 데이타 화일을 확장 또는
축소할 수 있다. 축소하는 경우는 데이타가 들어 있는 경우 하한선 이하로
내려가지는 않는다.


한편, 데이타가 계속 들어가서 tablespace를 꽉 채우게 되면 다음과 같은 명령을
이용하여 자동적으로 tablespace를 확장할 수도 있다.

SQL>alter database datafile
'/oracle/dbs/toolsORA.dbf'
autoextend on
next 10M
maxsize 200M;

이렇게 하면 데이타가 늘어나면서 자동적으로 10M 씩 데이타화일의 크기가
늘어나게 된다. 여기서는 최대 200M 까지 늘어날 수 있도록 설정하였다.
Comment
등록된 코멘트가 없습니다.