오라클 7.1 이하에서는 테이블 스페이스를 확장하려면 해당 테이블 스페이스에 데이타 화일을 추가하는 방법을 사용한다. 이 때 추가하는 데이타 화일의
이름은 기존의 화일과 동일한 이름이 아니기만 하면 되지만 편의상 기존의 화일에 일련번호를 붙여서 사용하는 것이 일반적이다.
예를 들어 테이블 스페이스 TOOLS 를 확장한다고 가정하면
$sqlplus system/manager
SQL>select file_name, bytes
from dba_data_files
where tablespace_name = 'TOOLS';
이와같이 하면 현재 TOOLS 테이블 스페이스를 구성하고 있는 화일이름과 크기 (bytes)라 출력된다. 여기서 출력된 file_name 이 /oracle/dbs/toolsORA.dbf 라고 한다면 다음과 같이 하여 테이블 스페이스를 확장한다.
SQL>alter tablespace tools
add datafile '/oracle/dbs/tools2ORA.dbf' size 50M;
여기서는 화일의 크기를 50M 로 주었는데 이것은 디스크의 FREE SPACE 와 앞으로의 기존의 데이타 화일의 크기 및 앞으로 들어갈 데이타의 크기 등을 고려하여 적절한 값으로 결정하도록 한다.
오라클 7.2 에서는 위의 방법 외에도 기존의 데이타 화일의 크기를 변경시켜서 확장시킬 수 있다.
예를 들어 TOOLS 테이블 스페이스가 현재 50M 크기의 /oracle/dbs/toolsORA.dbf 화일로 구성되어 있다면 다음과 같이 해서 이 화일의 크기를 100M 로 늘릴 수 있다.
SQL>alter database datafile
'/oracle/dbs/toolsORA.dbf' resize 100M;
RESIZE 옵션은 V7.2 에서 추가된 것으로 기존의 데이타 화일을 확장 또는
축소할 수 있다. 축소하는 경우는 데이타가 들어 있는 경우 하한선 이하로
내려가지는 않는다.
한편, 다음과 같은 명령을 이용하여 데이타가 계속 들어가서 테이블 스페이스를 꽉 채우게 되면 자동적으로 테이블 스페이스를 확장할 수도 있다.
SQL>alter database datafile
'/oracle/dbs/toolsORA.dbf'
autoextend on
next 10M
maxsize 200M;
이렇게 하면 데이타가 늘어나면서 자동적으로 10M 씩 데이타화일의 크기가 늘어나게 된다. 여기서는 최대 200M 까지 늘어 날 수 있도록 설정하였다.
|