[Oracle]如何将表空间A下的用户切换到表空间B
因为建用户的时候没有指定表空间,现在都跑了一段时间数据了。想把System表空间下的用户切换到users下面,包含该用户下的所有表、索引和数据等。
烦请各位大虾指点,谢谢了先。
------解决方案--------------------自己写批处理生成如下语句:
alter table table1 move tablespace users;
alter index index1 rebuild tablepsace users;
alter user user1 default tablespace users;
例如 :
select 'alter table '
------解决方案-------------------- table_name
------解决方案-------------------- ' move tablespace users;' from user_tables where tablespace_name='SYSTEM';
------解决方案--------------------导入导出功能
例如将数据库中system用户的表导出
exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2)
注:如果用exp system/manager@TEST file=d:\daochu.dmp owner=(system),会将所有是system用户的表都导出,所以还是一个表一个表的写吧!
接着导入到user用户表
imp user/test@TEST fromuser=system touser=user file=d:\daochu.dmp,就可以了