表領域拡張

表領域の使用量が上がってくると、データファイルを拡張することで対処する。

データファイルは自動拡張( autoextend )が当たり前になってきているが、
もし自動拡張が負荷の高い処理中に行われると、パフォーマンスに悪影響を
与えてしまう可能性が懸念される。そこで今回は手動での拡張手順を紹介する。

よって遅延が許されないクリティカルなシステムなら、自動拡張に設定されていても、
負荷の低いタイミングで手動拡張しておくのもひとつの手だ。

手動追加方法

HOGE 表領域は 2 つのデータファイル hoge01.dbf、hoge02.dbf で
構成されているが hoge02.dbf のサイズを 100M から 500M へ増やす場合。

(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     100  12800 YES    ONLINE

(2) 既存のデータファイルを拡張

データファイルを 100MB から 500MB へ拡張

SQL> alter database datafile '/data/hoge02.dbf' resize 500M;

データベースが変更されました。

(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

データファイル hoge02.dbf が正しく拡張された。

関連記事