最近のトラックバック

最近のコメント

2017年3月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
無料ブログはココログ

« Exception in thread "main" java.lang.NoClassDefFoundError | トップページ | 相関サブクエリーを使った更新 »

2006年12月12日 (火)

初歩的なこと。。。テーブルの表領域移動について

-- => 1. 表領域の確認
select tablespace_name from dba_tablespaces
/

TABLESPACE_NAME
------------------------------
SYSTEM
UNDOTS
TEMP
TS_01TBL
TS_01IDX

-- => 2. 表の確認
select tablespace_name from user_tables where table_name = 'TEST_TBL1'
/
TABLESPACE_NAME
------------------------------
TS_01TBL

-- => 3. 表の件数確認
select count(*) from TEST_TBL1
/
  COUNT(*)
----------
      1616

-- => 4. 表の移動
alter table TEST_TBL1 move tablespace TS_01IDX
/

表が変更されました。

-- => 5. 結果の確認
select tablespace_name from user_tables where table_name = 'TEST_TBL1'
/
TABLESPACE_NAME
------------------------------
TS_01IDX

-- => 6. 表の動作確認(SELECT)
select count(*) from TEST_TBL1
/
  COUNT(*)
----------
      1616

-- => 7. 表の動作確認(DELETE)
delete from TEST_TBL1
/
*
行1でエラーが発生しました。:
ORA-01502:
索引'CWORADM.SYS_C003156'またはそのパーティションが使用不可の状態です。

-- => 8. 関連する索引一覧
select index_name,status, tablespace_name from user_indexes where table_name = 'TEST_TBL1'
/

INDEX_NAME                     STATUS   TABLESPACE_NAME
------------------------------ -------- ------------------------------
I_94E10C7590E3D3FE             VALID    TS_01IDX
I_AABC7D3596C77F76             VALID    TS_01IDX
SYS_C003156                    VALID    TS_01IDX

      →この状態でもとに戻しても・・・
       alter table TEST_TBL1 move tablespace TS_01TBL
       /

       INDEX_NAME                     STATUS   TABLESPACE_NAME
       ------------------------------ -------- ------------------------------
       I_94E10C7590E3D3FE             UNUSABLE TS_01IDX
       I_AABC7D3596C77F76             UNUSABLE TS_01IDX
       SYS_C003156                    UNUSABLE TS_01IDX

      →UNUSABLEのまま

-- => 9. 索引のREBUILD
alter index I_94E10C7590E3D3FE rebuild
/

索引が変更されました。

alter index I_AABC7D3596C77F76 rebuild
/

索引が変更されました。

alter index SYS_C003156  rebuild
/

索引が変更されました。

-- => 10. 索引の状態確認
select index_name,status, tablespace_name from user_indexes where table_name = 'TEST_TBL1'
/

INDEX_NAME                     STATUS   TABLESPACE_NAME
------------------------------ -------- ------------------------------
I_94E10C7590E3D3FE             VALID    TS_01IDX
I_AABC7D3596C77F76             VALID    TS_01IDX
SYS_C003156                    VALID    TS_01IDX

-- => 12. 表の動作確認(SELECT/DELETE)
select count(*) from TEST_TBL1
/
  COUNT(*)
----------
      1616

delete from TEST_TBL1
/
1616行が削除されました。

rollback;

ロールバックが完了しました。

-- => 13. 補足

  • ALTER TABLE TEST_TBL1 MOVE TABLESPACE
    rebuild unusable local indexes
    は不可。
  • moveしてもシノニムを再作成するようなことは必要ない

« Exception in thread "main" java.lang.NoClassDefFoundError | トップページ | 相関サブクエリーを使った更新 »

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/181317/13046572

この記事へのトラックバック一覧です: 初歩的なこと。。。テーブルの表領域移動について:

« Exception in thread "main" java.lang.NoClassDefFoundError | トップページ | 相関サブクエリーを使った更新 »