需求:將一個用戶的數據導入另一個用戶的默認表空間下
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發現表空間無配額,則會自動導入到有配額的空間