db2でテーブルを削除した後、空き容量を解放する方法は何ですか?

DB2でテーブルを削除すると、空間がすぐに解放されるわけではありません。代わりに、DB2は削除されたテーブルの空間を将来の利用のために保持します。これは、性能を向上させ、頻繁な空間の割り当てと回収を避けるためです。

確認したら、削除したテーブルのスペースを解放することができる場合は、次の手順を実行してスペースを解放できます。

  1. 最初に、テーブルを削除した後は、現在のトランザクションを提出し、データベースとの接続を切断する必要があります。これにより、削除されたテーブルの領域を使用している他のセッションがないことが確認されます。
  2. その後、DB2のコマンドラインウィンドウまたはDB2 Control Center(GUIツール)を使用してデータベースにログインしてください。
  3. データベースのカタログテーブルスペースを再構築するために、以下のコマンドを実行してください。
CALL SYSPROC.ADMIN_REVALIDATE_DB_OBJECTS('<database_name>')

データベース名をあなたのデータベース名に置き換えてください。

  1. データベースの表領域を再構築するために、以下のコマンドを実行してください。
CALL SYSPROC.ADMIN_MOVE_TABLE('<table_space_name>', '<table_name>', '<new_table_space_name>')

を削除されたテーブルの表領域名に置き換え、を削除されたテーブル名に置き換え、を新しい表領域名に置き換えてください。

  1. 最後に、DB2コマンドラインウィンドウまたはDB2 Control Centerを使用してデータベースに再接続し、削除したテーブルのスペースが解放されているかどうかを確認してください。

これらの手順を実行する前に、データベースのバックアップを取って、予期せぬ問題が発生しないようにしてください。また、これらの手順には、データベースのサイズや複雑さによって所要時間が異なりますのでご注意ください。

bannerAds