ITPub博客

首页 > 数据库 > Oracle > 关于move table和rebuild index批量操作的记录

关于move table和rebuild index批量操作的记录

原创 Oracle 作者:静以致远√团团 时间:2015-06-30 10:04:05 0 删除 编辑
批量move oldtablespace表空间下的table到newtablespace,查询并执行查询结果即可
select 'alter table '||table_name||' move tablespace newtablespace'
from user_all_tables 
where table_space='oldtablespace'; 

批量rebuild oldtablespace表空间下的index到newtablespace,查询并执行查询结果即可
select 'alter index '|| index_name || ' rebuild  tablespace newtablespace;'
from user_indexes
where  tablespace_name='oldtablespace' ;


带有lob字段的表做move时lob字段需要单独move

ALTER TABLE AUDIT_RECORD MOVE LOB(lobrow1) STORE AS (TABLESPACE newtablespace);
ALTER TABLE AUDIT_RECORD MOVE LOB(lobrow2) STORE AS (TABLESPACE newtablespace);
ALTER TABLE AUDIT_RECORD MOVE TABLESPACE newtablespace;

或者
ALTER TABLE test2 MOVE

              TABLESPACE users

                  LOB (lobrow1) STORE AS lobsegment

              (TABLESPACE newtablespace);

另外exp/imp迁移带有lob字段的  在执行IMP时需要将原lob字段所在的tablespace建好再导入,导入后再考虑move到其他tablespace
exped/imped可以用remap_tablespace参数指定将数据导入到指定的表空间,无需考虑该项

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29320885/viewspace-1717050/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
每个人都有梦想,去实现吧!

注册时间:2013-11-14

  • 博文量
    164
  • 访问量
    2103603