テーブルが属する表領域を変更するには、ALTER~MOVE TABLESPACE句を使用します。
構文
- (テーブルが属する表領域を変更する構文)
- ALTER TABLE <テーブル名> MOVE TABLESPACE <移動後の表領域名>;
変更前の表領域名は指定する必要はありません。
サンプル
例)M_TESTテーブルが属する表領域を、TBS01へ変更する
- 実行例
- SQL> ALTER TABLE m_test MOVE TABLESPACE tbs01; 表領域が変更されました。
以下のSQLで結果を確認できます。
例)M_TESTテーブルが属する表領域を確認する
- 実行例
- SQL> SELECT table_name, tablespace_name 2 FROM user_tables 3 WHERE table_name = 'M_TEST'; TABLE_NAME TABLESPACE_NAME ----------------------- -------------------------- M_TEST TBS01
表領域を変更するとINDEXが無効になるので、
以下のSQLでインデックスの再作成も行ってください。
例)インデックスを再作成する
1 |
ALTER INDEX <インデックス名> REBUILD; |
解説
- テーブルにひも付くインデックス名を確認するには以下ページをご覧ください。
⇒ [ORACLE] テーブルにひも付くINDEX名を確認する