新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 软件开发 > 数据库 > Oracle教程 > 正文:转移表的表空间和转移索引所在的表空间

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

新客网 XKER.COM 2008-01-28 来源:赛迪网 10633 收藏本文

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

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

收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐