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发现表空间无配额,则会自动导入到有配额的空间