Db2 テーブルスペースの変更

現行サーバーで表スペースの記述を変更するには、ALTER TABLESPACE ステートメントを使用します。

このタスクについて

汎用プログラミングインターフェース情報の開始。

増加対応パーティション表スペースおよび増加対応パーティション表スペースの場合、ほとんどの属性は、ペンディングの定義変更を通じて、ALTER TABLESPACE ステートメントを使用して変更できます。

保留定義変更 とは、すぐにマテリアライズされない変更のことです。 保留中の定義変更、その実現方法、および関連する制限の詳細については、 「保留中のデータ定義変更」を参照してください。

即時定義変更 とは、即時にマテリアライズされる変更のことです。 オブジェクトに対する保留中の定義変更が存在する間は、ほとんどの即時定義変更が制限されます。 このような制限の一覧については、「保留中のデータ定義変更に関する制限」 を参照してください。

ただし、表スペースのタイプおよび変更する属性によっては、代わりに表スペースをドロップして、新しい属性を使用して表スペースを再作成する必要がある場合があります。 推奨されない非 UTS 表スペース・タイプについては、ALTER TABLESPACE ステートメントによってサポートされる変更のタイプがはるかに少なくなります。 このような場合は、まず表スペースを範囲ごとのパーティションごとに変換するか、または増加対応パーティション表スペースに変換してから、ペンディングの定義変更を指定した ALTER TABLESPACE ステートメントを使用して変更を行うことが最善です。

プロシージャー

表スペースの属性を変更するには、以下のいずれかの方法を使用します。

  • ALTER TABLESPACE ステートメントを使用して、表スペースのタイプおよび属性を変更したり、MEMBER CLUSTER を有効または無効にしたりします。

    例えば、以下の変更を行うことができます。

  • テーブルスペースを削除し、新しい属性で再度作成します。「テーブルスペースの削除と再作成による属性の変更 」を参照してください。

    例えば、一部の変更は ALTER TABLESPACE ステートメントではサポートされていません。これらの変更は以下に示しています。

    • CCSID を非互換の値に変更する
    • 表スペースを別のデータベースに移動する
    • 変更の開始マルチテーブルセグメント化(非UTS)テーブルスペースをシングルユニバーサルテーブルスペース(UTS)タイプに変換し、UTS内のセグメント化テーブルスペースにあったテーブルをそのまま残す。 各 UTS には1つのテーブルのみが含まれます。変更の終わり

      変更の開始FL 508 ただし、マルチテーブル・セグメント化(UTSではない)テーブルスペース内の各テーブルを、成長によるパーティショニング用のテーブルスペースに移動することはできます。変更の終わり

      変更の開始FL 508 ただし、 Db2 機能レベルが V12R1M508 以上の場合、マルチテーブルセグメント化(非UTS)テーブルスペース内の各テーブルを、それぞれ独自のパーティション・バイ・グロース・テーブルスペースに移動することができます。変更の終わり

次の作業

準備ができたら、「保留中の定義変更の具体化」の説明に従って、 保留中の定義変更を具体化します。

また、DROP PENDING CHANGES 節を使用して、表スペースおよび表スペース内の任意のオブジェクトに対する保留中のすべての定義変更をドロップすることもできます。