oracle数据库如何把表从一个表空间移到另一个表空间
4个回答
推荐于2017-10-14 · 知道合伙人软件行家
关注
展开全部
首先,使用下面的命令移动:
alter table table_name move tablespace tablespace_name;
然后,如果有索引的话必须重建索引:
alter index index_name rebuild tablespace tablespace_name;
当然,可以使用spool来帮助实现多个表的操作.
set header off;
spool /export/home/oracle/alter_tables.sql;
select 'alter table ' || object_name || ' move tablespace users'
from dba_object
where owner = 'XXX' and object_type = 'TABLE';
spool off;
之后执行此sql脚本即可.
同样对于index也做同样的操作.
alter table table_name move tablespace tablespace_name;
然后,如果有索引的话必须重建索引:
alter index index_name rebuild tablespace tablespace_name;
当然,可以使用spool来帮助实现多个表的操作.
set header off;
spool /export/home/oracle/alter_tables.sql;
select 'alter table ' || object_name || ' move tablespace users'
from dba_object
where owner = 'XXX' and object_type = 'TABLE';
spool off;
之后执行此sql脚本即可.
同样对于index也做同样的操作.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
-------------------对表进行表空间移动操作---------------------------
如果有一张表ACCOUNTS存放在表空间EXAMPLE下
现在要把表ACCOUNTS移动到表空间DEMO下,该怎么操作?
操作语句如下:
ALTER TABLE ACCOUNTS MOVE TABLESPACE DEMO;
COMMIT;
ACCOUNTS表的结构和数据会一起被移动到表空间demo下。
如果要把表空间example下的所有表全部移动到表空间demo下该怎么操作?
操作语句如下:
SELECT 'ALTER TABLE '||TABLE_NAME||' MOVE TABLESPACE DEMO;
COMMIT;' FROM USER_TABLES WHERE TABLESPACE_NAME='EXAMPLE';
请参考:http://blog.csdn.net/M_ChangGong/archive/2009/06/18/4279109.aspx
如果有一张表ACCOUNTS存放在表空间EXAMPLE下
现在要把表ACCOUNTS移动到表空间DEMO下,该怎么操作?
操作语句如下:
ALTER TABLE ACCOUNTS MOVE TABLESPACE DEMO;
COMMIT;
ACCOUNTS表的结构和数据会一起被移动到表空间demo下。
如果要把表空间example下的所有表全部移动到表空间demo下该怎么操作?
操作语句如下:
SELECT 'ALTER TABLE '||TABLE_NAME||' MOVE TABLESPACE DEMO;
COMMIT;' FROM USER_TABLES WHERE TABLESPACE_NAME='EXAMPLE';
请参考:http://blog.csdn.net/M_ChangGong/archive/2009/06/18/4279109.aspx
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
alter table tab_name move tablespace new_tbs;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询