Oracleのテーブルの表領域を変更する
Oracleのテーブルは作成後でも別の表領域へ移動できます。
テーブルの表領域を変更するSQLはコチラ。
-- テーブルの表領域を変更するSQL ALTER TABLE {テーブル} MOVE TABLESPACE {変更後の表領域};
例1. テーブルの表領域を変更する
-- テーブルTBL1の表領域をTBSP1に変更するSQL ALTER TABLE TBL1 MOVE TABLESPACE TABSP1;
上の例ではテーブル「TBL1」の表領域を元の表領域から別の表領域「TABSP1」へ移動します。ちなみにOracleはテーブルだけでなく、インデックスも表領域を移動できます。
テーブルの表領域を変更すると、このテーブルにインデックスがある場合は無効になってしまいます。なのでインデックスを再作成してやる必要があります。
インデックスを再作成するSQL
-- インデックスを再作成する ALTER INDEX index1 REBUILD;
「ALTER INDEX REBUILD」でインデックス「index1」を再作成して、インデックスを使える状態にしました。
これでテーブルの表領域を変更し、テーブルにひもづくインデックスを有効にすることができました。
以上、Oracleのテーブルの表領域を変更するSQLでした。
コメント