一、exp/imp 解決方法
1、dmp文件包含導出時候表空間的信息,導入時候如果沒有創建相應的表空間會提示表空間不存在
2、如果幾個表導出,導入時將錯誤忽略 ignore=y即可
3、用transport_tablespace參數,transport tablespace將一個表空間下的數據移到另一個表空間
3.1、使用transport_tablespace導出數據 exp 用戶名 transport_tablespace=y tablespaces=(TEST_TS) file=/opt/b.dmp exp test1 file=test1.dmp(導出不加transport_tablespace參數也可以的) 3.2、在另外一台服務器上將數據移到test1相同用戶名下的不同表空間test2 imp test1 transport_tablespace=y file=a.dmp datafiles=/u01/app/oracle/ oradata/gbksl/test2.dbf ignore=y full=y; 3.3、在另外一台服務器上將test1導出dmp文件數據移到test2用戶下(此方法已經驗證過用exp導出,imp導入到不同用戶不可行) imp test2 transport_tablespace=y file=/opt/test1.dmp fromuser=test1 touser=test2 datafiles='/u01/app/oracle/oradata/gbksl/test2.dbf' ignore=y;

二、impdp解決辦法
使用impdp命令進行導入
將數據移到test1相同用戶名下不同表空間test2_data impdp test1/test123 dumpfile=XXX.dmp directory=dpdata1 remap_tablespace=ts_test1_prod:test2_data 將test1導出dmp文件數據移到test2用戶及表空間test2_data impdp test2/test245 dumpfile=XXX.dmp directory=dpdata1 remap_schema=testl:test2 remap_tablespace=ts_test1_prod:test2_data full=y
impdp 已經沒有ignore此參數
參數說明
dumpfile: 需要導入的dmp文件名稱
directory: dmp文件所在的目錄文件夾
remap_schema: 該選項用於將源方案的所有對象裝載到目標方案中。 REMAP_SCHEMA=source_schema:target_schema
remap_tablespace: 將源表空間的所有對象導入到目標表空間中。 REMAP_TABLESPACE=source_tablespace:target:tablespace
其中:ts_test1_prod:原先dmp文件的表空間名稱(舊表空間名稱)
test2_data:需要導入到的表空間的名稱(新表空間名稱)
總結:
EXPDP/IPMDP只能在server上運行,其運行效率完全取決於磁盤I/O;
而EXP/IMP不僅可以運行在server上,也可以運行在client上,所以除了磁盤I/O的制約因素,還有網絡方面的因素。
EXPDP/IMPDP 比 EXP/IMP性能有很大的提高,其中影響最大的就是paralle,通常設置為CPU的個數,通過該參數可以並行導出,大大提高導出速度,而EXP/IMP是沒有這個功能的,最多也就只有一個DIRECT=Y,使導出不用經過SELECT到SGA的BUFFER中,提高的速度是有限的,注意他們之間的語法也有不小的區別,參數不可互相替代。
EXPDP/IMPDP可以通過remap_schema和remap_tablespace直接實現不同用戶和表空間之間的數據遷移;
而EXP/IMP則稍微麻煩一點,需要ALTER TABLE xxx MOVE TABLESPACE xxx/ALTER INDEX xxx REBUILD TABLESPACE xxx方式來實現。move相當於把表再重建一次,可以修改storage參數(如initial、pctfree、pctincrease等),還可以move到另外的表空間,如果不指定表空間,則在原來的表空間中move,因此做move操作時,目標表空間需要保證有這個表同樣大小的剩余空間,整個操作相當於exp/imp(從表空間A導出到表空間B),move完表后要重建索引。
基於以上幾種原因,現在做數據邏輯遷移都是用EXPDP/IMPDP而很少再使用EXP/IMP了。
本文引自:https://blog.csdn.net/weixin_33971977/article/details/92987961