imp 转换用户和表空间时的导入

需求:将一个用户的数据导入另一个用户的默认表空间下

1、导出某个用户A数据时,也导出了相应的表空间设置

2、导入时需要导入B用户的默认表空间下alter user B default tablespace ***;

3、如果导入时不存在原数据同名的表空间(下文称原表空间),直接导入即可

4、如果存在,则要收回revoke unlimited tablespace from USERNAME;(因为导入用户需要DBA权限,而DBA隐含unlimited tablespace 权限)

5、取消B用户在原表空间的配额,可能有多个表空间,需要全部收回

即执行多个 alter   user   USERNAME   quota   0  on   TABLESPACENAME; 

6、为用户在默认表空间中添加配额alter user USERNAME quota unlimited on TABLESPACENAME

7、执行导入,记录好日志

8、alter system set deferred_segment_creation=true;这个保障了建表的时候不会立即分配表空间,

  等导入数据时,oracle发现表空间无配额,则会自动导入到有配额的空间

原文地址:https://www.cnblogs.com/fresh-java-bird-go/p/6120574.html