jony413

多媒体信息发布、排队叫号、医院分诊、电子班牌

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

表做空间迁移时,使用如下语句:

  例1:alter table tb_name move tablespace tbs_name;

  索引表空间做迁移,使用如下语句:

  例2:alter index index_name rebuild tablespace tbs_name;

  对于含有lob字段的表,在建立时,oracle会自动为lob字段建立两个单独的segment,一个用来存放数据,另一个用来存放索引,并且它们都会存储在对应表指定的表空间中,而例1:只能移动非lob字段以外的数据,所以在对含有lob字段的表进行空间迁移,需要使用如下语句:

  例3:alter table tb_name move  lob (col_lob1) store as(tablesapce tbs_name);

  项目实例:

  表空间迁移

  select 'ALTER TABLE '||table_name||' MOVE TABLESPACE FDITEST;' from user_all_tables;

  带lob字段

  select 'alter table '||table_name||' move lob ('||column_name||') store as(tablespace new_tbs);' from USER_LOBS

  索引表空间

  select 'ALTER INDEX '||index_name||' REBUILD TABLESPACE new_tbs;' from USER_INDEXES

  以上在oracle 的SQL*Plus Worksheet中运行,将得出的运行结果再运行一次即可。

posted on 2012-09-05 11:44  jony413  阅读(1121)  评论(0)    收藏  举报