ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 转移表的表空间和转移索引所在的表空间

转移表的表空间和转移索引所在的表空间

原创 Linux操作系统 作者:wwd_wang 时间:2009-05-20 16:21:53 0 删除 编辑

http://dev.21tx.com/2008/01/23/11341.html

如果你将创建表和索引创建在USERS表空间下了,(注:在USERS表空间中是合理的),那么在以后的维护中将会出现很多麻烦。

如果是oltp系统无法删除重建,所以必须考虑在不影响使用的情况下做该项工作。

客户系统:Linux9+Oracle10g

◆1、知道命令:

alter table table_name move tablespace tablespace_name;

所以考虑这个方向:

select ''alter table '' || table_name || '' 
move tablespace tablespace_name;''
from user_tables
 where tablespace_name = ''USERS''

得到该连接用户下所有创建在USERS表空间下的表名。

◆2、执行所得到的语句,至此将表转移到新表空间中。

◆3、重建索引

得到重建索引语句

SELECT ''alter index ''||index_name||'' 
rebuild tablespace tablespace_name storage(¡­¡­);'' 
FROM USER_INDEXES T where t.table_owner=''USER_NAME'' 
and t.tablespace_name=''USERS''

◆4、执行得到的语句,将索引转移到新表空间。

注释:在此过程中全文索引的转移会出错,大家可以忽略不计。

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

上一篇: 糖友饮食三原则
请登录后发表评论 登录
全部评论

注册时间:2008-05-08

  • 博文量
    236
  • 访问量
    194342