注意:如果導出與導入的用戶名或者表空間名稱不一致,需要使用 fromuser=原用戶名 touser=目標用戶名,而表空間名稱不一致也沒關係。
如果導出的表中含有 clob 文件,那麼必須表空間名稱一致。否則要在導出前做很多操作。
EXPDP 用法步驟
手動創建導出目錄文件夾。目錄名稱與第二步的目錄名稱一致
使用SQL 創建目錄(需要使用SYSDBA權限)
create directory dir_dp(目錄名稱) as 'D:/dir_dp';
授權(需要使用SYSDBA權限)
Grant read,write on directory dir_dp to zftang;
執行導出(cmd下運行)
expdp 用戶名/密碼@實例名 schemas=用戶名 directory=創建的目錄名稱 dumpfile =expdp_test1.dmp logfile=expdp_test1.log;
備註:該方法忽略了JOB名稱,如果需要,寫法後添加:job_name=my_job
EXP 用法詳解
數據導出
1 將數據庫SampleDB完全導出,用戶名system 密碼manager 導出到E:\SampleDB.dmp中
exp system/manager@TestDB file=E:\sampleDB.dmp full=y
2 將數據庫中system用戶與sys用戶的表導出
exp system/manager@TestDB file=E:\sampleDB.dmp owner=(system,sys)
3 將數據庫中的表 TableA,TableB 導出
exp system/manager@TestDB file=E:\sampleDB.dmp tables=(TableA,TableB)
4 將數據庫中的表tableA中的字段filed1 值爲 "王五" 的數據導出
exp system/manager@TestDB file=E:\sampleDB.dmp tables=(tableA) query=' where filed1='王五'
如果想對dmp文件進行壓縮,可以在上面命令後面 加上 compress=y 來實現。
數據導入
1 將備份數據庫文件中的數據導入指定的數據庫SampleDB 中,如果 SampleDB 已存在該表,則不再導入;
imp system/manager@TEST file=E:\sampleDB.dmp full=y ignore=y
2 將d:\daochu.dmp中的表table1 導入
imp system/manager@TEST file=E:\sampleDB.dmp tables=(table1)
3. 導入一個完整數據庫
imp system/manager file=bible_db log=dible_db full=y ignore=y
4. 導入一個或一組指定用戶所屬的全部表、索引和其他對象
imp system/manager file=seapark log=seapark fromuser=seapark imp
system/manager file=seapark log=seapark fromuser=(seapark,amy,amyc,harold)
5. 將一個用戶所屬的數據導入另一個用戶
imp system/manager file=tank log=tank fromuser=seapark touser=seapark_copy
imp system/manager file=tank log=tank fromuser=(seapark,amy)
touser=(seapark1, amy1)
6. 導入一個表
imp system/manager file=tank log=tank fromuser=seapark TABLES=(a,b)
7. 從多個文件導入
imp system/manager file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4)
log=paycheck, filesize=1G full=y
8. 使用參數文件
imp system/manager parfile=bible_tables.par
bible_tables.par參數文件:
#Import the sample tables used for the Oracle8i Database Administrator's
Bible. fromuser=seapark touser=seapark_copy file=seapark log=seapark_import
參數文件示例見附錄
9. 增量導入
imp system./manager inctype= RECTORE FULL=Y FILE=A