oracle数据库如何把表从一个表空间移到另一个表空间
发布网友
发布时间:2022-04-07 21:05
我来回答
共4个回答
热心网友
时间:2022-04-07 22:34
1、打开Toad For Oracle数据库工具。
2、输入数据库管理员账号密码连接数据库<因为管理员有权限看见不同用户的表及表空间,这样比较方便>。
3、点击 Database Browser 图标。
4、展开数据库,找到Tablespaces,点击Tablespaces,在右边就会看见当前数据库的所有表空间。
5、选择需要扩展的表空间文件,点击 Alter Datafile 按钮。
热心网友
时间:2022-04-07 23:52
首先,使用下面的命令移动:
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也做同样的操作.
热心网友
时间:2022-04-08 01:27
-------------------对表进行表空间移动操作---------------------------
如果有一张表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
热心网友
时间:2022-04-08 03:18
alter table tab_name move tablespace new_tbs;