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