ITPub博客

首页 > Linux操作系统 > Linux操作系统 > oracle修改表和索引的表空间

oracle修改表和索引的表空间

原创 Linux操作系统 作者:huyangg 时间:2011-06-03 19:40:24 0 删除 编辑
表做空间迁移时,使用如下语句:

  例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 tablespace tbs_name lob (col_lob1,col_lob2) store as(tablesapce tbs_name);

  项目实例:

  表空间迁移

  select 'alter table' ||table_name|| 'move tablespace tbs_name;' table_name from dba_tables where wner='%***%' and table_name like '%***%'

  带lob字段

  select 'alter table' ||table_name|| 'move lob('||index_name||') store as (tablespace tbs_name);' from dba_indexes where wner='%***%' and index_name like '%***%'

  索引表空间

  select 'alter index' ||index_name|| 'rebuild tablespace tbs_name;' index_name from dba_indexes where wner='%***%' and table_name like '%***%'

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

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

下一篇: aix mklv
请登录后发表评论 登录
全部评论

注册时间:2010-04-02

  • 博文量
    60
  • 访问量
    220508