Oracle中改变表存放的表空间?

BlueSea_W 2001-07-26 10:09:41
请问各位,Oracle中什么办法可以改变表存放的表空间? 例:Table1 原放在TableSpace1,现改放在TableSpace2,菜单中不能改!
...全文
438 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
dragonerfish 2001-08-03
  • 打赏
  • 举报
回复
guo(正在消化Oracle) 说的对!!!
guo 2001-08-03
  • 打赏
  • 举报
回复
好风气呀,问题之后做一个总结对人对已大有好处.
dragonerfish 2001-08-03
  • 打赏
  • 举报
回复
关注!!!
guo 2001-07-30
  • 打赏
  • 举报
回复
需要重建
dragonerfish 2001-07-30
  • 打赏
  • 举报
回复
关注!!!
BlueSea_W 2001-07-30
  • 打赏
  • 举报
回复
本人经过几番努力,终于达到原先目的。与大家一块分享吧!
(1)ALTER TABLE TableName MOVE TABLESPACE NewTablespace.
感谢: guo(正在消化Oracle) 
(2)ALTER INDEX SOURCEINDEX REBUILD TABLESPACE NewTablespace.
表及索引均放入新表空间中。
BlueSea_W 2001-07-29
  • 打赏
  • 举报
回复
请问
guo(正在消化Oracle)

此法原表索引仍然存在吗?
kks 2001-07-27
  • 打赏
  • 举报
回复
或是:
create table newtable tablespace newspace as
select * from oldtable;
drop table oldtable;
create table oldtable tablespace newspace as
select * from newtable;
然后重建索引等东东
kks 2001-07-27
  • 打赏
  • 举报
回复
没有办法,只能重建一个表。简单一点的方法是把你要修改的表用EXP导出,改变你用户的默认表空间,然后IMP导入。
guo 2001-07-27
  • 打赏
  • 举报
回复
alter table name move tablespace newtablespace
xingxing3 2001-07-27
  • 打赏
  • 举报
回复
方法2
rename table_name to table_name_tmp;

create table_name
--存储参数
as select * from table_name_tmp;
注意,这样做需要重建table_name的索引和trigger

2,596

社区成员

发帖
与我相关
我的任务
社区描述
Sybase相关技术讨论区
社区管理员
  • Sybase社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧