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

2015-07-16 12:07:09 · 作者: · 浏览: 4

批量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参数指定将数据导入到指定的表空间,无需考虑该项