Oracle dmp文件導入(還原)到不同的表空間和不同的用戶下
阿新 • • 發佈:2018-08-09
map 文件的 schema 導出數據 esp ans 進行 taf 修改 Oracle dmp文件導入(還原)到不同的表空間和不同的用戶下
一、exp/imp解決方法:
1、可以用sed修改dmp文件,正常導入
sed -i 's/TEST_TS/USERS/g' a.dmp
2、dmp文件包含導出時候表空間的信息,導入時候如果沒有創建相應的表空間會提示表空間不存在
3、如果幾個表導出,導入時將錯誤忽略 ignore=y即可
4、用transport_tablespace參數,transport tablespace將一個表空間下的數據移到另一個表空間
4.1、使用transport_tablespace導出數據 exp 用戶名 transport_tablespace=y tablespaces=(TEST_TS) file=/opt/b.dmp exp test1 file=test1.dmp(導出不加transport_tablespace參數也可以的) 4.2、在另外一臺服務器上將數據移到test1相同用戶下 imp test1 transport_tablespace=y file=a.dmp datafiles=/u01/app/oracle/ oradata/gbksl/a01.dbf ignore=y full=y; 4.3、在另外一臺服務器上將test1導出dmp文件數據移到test2用戶下 imp test1 transport_tablespace=y file=/opt/test1.dmp fromuser=test1 touser=test2 datafiles='/u01/app/oracle/oradata/gbksl/a01.dbf' ignore=y full=y;
二、impdp解決辦法:
使用impdp命令進行導入
impdp test1/test123 dumpfile=XXX.dmp directory=dpdata1 remap_schema=testl:test2 remap_tablespace=ts_test1_prod:test2_data
參數說明
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:需要導入到的表空間的名稱
Oracle dmp文件導入(還原)到不同的表空間和不同的用戶下