使用前提
- EXPDP和IMPDP只可以在Oracle服務端使用。
- EXP導出的文件只可以使用IMP導入,不適用於IMPDP導入文件;EXPDP導出的文件只可以使用IMPDP導入,而不適用於IMP導出文件。
- 以超級管理員操作(最好使用超級管理員操作)。
- 通過數據泵操作數據,無論是導入IMPDP還是導出EXPDP,都需要創建一個Oracle邏輯目錄Directory,並賦予用戶對這個目錄的操作權限——讀寫。(PS:注意,此處所創建的目錄在本地磁盤中必須已經存在,否則導入、導出數據時會報錯)
DIRECTORY操作
- 查看DIRECTORY
select * from dba_directories;
- 創建DIRECTORY(目錄名稱:hndir)
create DIRECTORY hndir as 'D:\oracldir\hndata';
- 刪除DIRECTORY(目錄名稱:hndir)
drop directory hndir;
- Next
EXPDP(導出文件)
- 導出步驟
- 創建邏輯目錄
create DIRECTORY hndir as 'D:\oracldir\hndata';
- 為超級管理員賦予操作邏輯目錄操作權限(一般不需要設置此步驟,但有時是必須)
grant read,write on DIRECTORY hndir to SYS;
- 執行導出命令
- (實例:Oracl;用戶:HNQY;密碼:HNQY;邏輯目錄:hndir;)
- 導出整個數據庫
expdp HNQY/HNQY@ORCL DIRECTORY=hndir DUMPFILE=hnqy.dmp FULL=y;
- 導出具體表
expdp HNQY/HNQY@ORCL DIRECTORY=hndir TABLES=t_card,t_user dumpfile=hnqy.dmp;
- Next
- 創建邏輯目錄
- Next
IMPDP(導入數據)
- 導出步驟
- 創建邏輯目錄
create DIRECTORY hndir as 'D:\oracldir\hndata';
- 為超級管理員賦予操作邏輯目錄操作權限(一般不需要設置此步驟,但有時是必須)
grant read,write on DIRECTORY hndir to SYS;
- 執行導入命令
- (實例:Oracl;用戶:HNQY;密碼:HNQY;邏輯目錄:hndir;)
- 導入整個數據庫
impdp HNQY/HNQY@ORCL DIRECTORY=hndir DUMPFILE=hnqy.dmp;
- 導入指定表
impdp HNQY/HNQY@ORCL DIRECTORY=hndir TABLES=t_card,t_user dumpfile=hnqy.dmp;
- Next
- 在導入數據時,有的時候我們拿到的dmp原數據文件的表空間以及用戶,是和我們將要導入的數據庫的表空間和用戶不同,這個時候我們需要在導入命令中指定相應的表空間和用戶
- (dmp文件表空間:ASSETS;dmp文件用戶:SCOTT;導入數據庫表空間:HNQY_DATA;導入數據庫用戶:HNQY)
- 導入整個數據庫
impdp HNQY/HNQY@ORCL DIRECTORY=hndir DUMPFILE=hnqy.dmp REMAP_TABLESPACE=ASSETS:HNQY_DATA REMAP_SCHEMA=SCOTT:HNQY ;
- 導入指定表
impdp HNQY/HNQY@ORCL DIRECTORY=hndir TABLES=SCOTT.t_card,SCOTT.t_user dumpfile=hnqy.dmp REMAP_TABLESPACE=ASSETS:HNQY_DATA REMAP_SCHEMA=SCOTT:HNQY;
- Next
- Next
- 創建邏輯目錄
- Next