转移表的表空间和转移索引所在的表空间
作者:10633 出处:赛迪网 更新时间:2008-07-14 责任编辑:seward
 
 

        如果你将创建表和索引创建在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、执行得到的语句,将索引转移到新表空间。

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

 
     
 
 
继续>>Oracle
[第1页][第2页][下一页]
 
内容导航  
第1页转移表的表空间和转移.. 第2页Oracle
上一篇 : 深入剖析有关Oracle数据.. 下一篇Oracle的"Optimizer"及其..
 
  您要为所发表的言论的后果负责,请各位遵纪守法并注意文明用语
标题:  

[ 关于本站 ] [ 广告服务 ] [ 商务合作 ] [ 联系我们 ] [ 合作伙伴 ] [ 法律顾问 ] [ 网站地图 ]
千橡公司 京ICP证041489号 Copyright (c) 1997-2007 All Right Reserved.