假設數據用戶USER1使用默認表空間TS1,用戶USER2使用默認表空間TS2,現在將USER1的數據導入到USER2,要求使用表空間TS2。
通過IMP命令參數tablespaces指定表空間是不行的。
這時有一個簡單的方法,適用於數據比較少的情況:直接使用UltraEdit打方DMP文件,默認是16進制。
通過編輯欄—》切換十六進制模式,以字符串的方式展示
通過Ctrl+F將裏面的:TABLESPACE "TS1"全部替換成TABLESPACE "TS2",然後再導入
不用加什麼tablespaces=TS2之類的參數即可,當然加了也無所所謂。
C:\>IMP USER2/USER2 log=C:\plsimp.log file=D:\database\USER1.dmp fromuser=USER1 touser=USER2 ignore=yes tablespaces=TS2
注意:在執行導入的過程中仍然可能會提示用戶不正確,按照類似的方法將用戶替換成目標用戶即可。