Oracleの表領域データファイルを縮小する方法

Oracleデータベースの表領域データファイルの縮小には、以下の手順に従ってください。

  1. 最初に、対象テーブルスペースのデータファイルに空き領域があるかどうか確認します。テーブルスペース空き領域のサイズは、以下のコマンドで確認できます。
SELECT tablespace_name, SUM(bytes) / 1024 / 1024 AS "Total Free Space (MB)"
FROM dba_free_space
WHERE tablespace_name = 'your_tablespace_name'
GROUP BY tablespace_name;

十分な空き領域があれば、テーブルスペースの縮小処理を実行することができます。

  1. 縮小できることを確認したら、次のコマンドを使用してデータファイルを縮小します。
ALTER DATABASE DATAFILE 'your_datafile_path' RESIZE target_size;

なお、‘your_datafile_path’ は縮小したいデータファイルへのパス、target_size は縮小後のターゲットサイズです。

注意:縮小するサイズの目標は、表領域内の割り当てサイズ以下にはできません。

  1. 収縮が完了したら、次のコマンドを使用してデータファイルのサイズを確認できます。
SELECT file_name, bytes / 1024 / 1024 AS "File Size (MB)"
FROM dba_data_files
WHERE tablespace_name = 'your_tablespace_name';

データファイルのサイズが少なくなっていることがわかります。

データベース操作の実施前に、適切なバックアップを実施し、非本番環境にてテストを行ってくさい。

bannerAds