表領域とデータファイルの関係性

SYSTEM などの Oracle 標準表領域は、データファイルとの関係が 1:1 だが、
アドオン表領域については 1:n であることも多い。ここでは既存表領域への
データファイル追加の手順を紹介する。



alter tablespace add datafile で追加する

追加手順

ここではHOGE表領域は2つのデータファイル hoge01.dbf、hoge02.dbf で構成されて
いるが、ここに hoge03.dbf を追加してみる。

(1) 表領域とデータファイルの事前確認

SQL> select tablespace_name, file_name, status, bytes/1024/1024 mbytes,
     increment_by, autoextensible, online_status from dba_data_files
     where tablespace_name = 'HOGE';

TABLESPACE FILE_NAME           STATUS     MBYTES INCREM AUTOEX ONLINE
---------- ------------------- ---------- ------ ------ ------ ------
HOGE       /data/hoge01.dbf    AVAILABLE     500  12800 YES    ONLINE
HOGE       /data/hoge02.dbf    AVAILABLE     500  12800 YES    ONLINE

(2) 既存の表領域にデータファイルを追加

alter tablespace HOGE add datafile '/data/hoge03.dbf'
 size 500M autoextend on next 100M;

表領域が変更されました。

※ size には初期値、autoextend on next には増分値を指定する

(3) 表領域とデータファイルの事後確認

SQL> select tablespace_name, file_name, status, bytes/1024/1024 mbytes,
     increment_by, autoextensible, online_status from dba_data_files
     where tablespace_name = 'HOGE';

TABLESPACE FILE_NAME           STATUS     MBYTES INCREM AUTOEX ONLINE
---------- ------------------- ---------- ------ ------ ------ ------
HOGE       /data/hoge01.dbf    AVAILABLE     500  12800 YES    ONLINE
HOGE       /data/hoge02.dbf    AVAILABLE     500  12800 YES    ONLINE
HOGE       /data/hoge03.dbf    AVAILABLE     500  12800 YES    ONLINE

データファイル hoge03.dbf が追加されたことが確認できる。