1、exp和imp是客戶端工具程式,它們既可以在客戶端使用,也可以在服務端使用。
2、expdp和impdp是服務端的工具程式,他們只能在oracle服務端使用,不能在客戶端使用。
3、imp只適用於exp匯出的檔案,不適用於expdp匯出檔案;impdp只適用於expdp匯出的檔案,而不適用於exp匯出檔案。
4、對於10g以上的伺服器,使用exp通常不能匯出0行資料的空表,而此時必須使用expdp匯出。
第一步:首先使用dba許可權的使用者建立directory,我使用system ,可以在伺服器本地建立,也可以遠端連線sqlplus進行建立,使用的將是伺服器上面的路徑。要確保建立directory時,作業系統層面的路徑已經存在。如果不存在,可以刪除directory後,再重新建立directory。
sql〉create directory data_pump_dir as '\exphd\datapump'; 此處注意,即便作業系統層面不存在相應的目錄,也會顯示建立成功,但是在執行expdp的時候會出現錯誤:
ora-39002: 操作無效
ora-39070: 無法開啟日誌檔案。
ora-39087: directory name dumpdir is invalid
第二步:連線到其它dba許可權的使用者,授權給要使用expdp的使用者,,也可遠端執行,即expdp 中的userid中的使用者,而不是schemas=後面的使用者:
sql〉grant read,write on directory dumpdir to system;
可以使用角色授權:
sql〉grant read,write on directory dumpdir to system;
如果沒有授權使用,也會出相應的錯誤
第三步:檢視管理理員目錄,也可遠端執行:
select * from dba_directories;
建立的directory 都是隸屬於sys使用者的,列出的路徑也都是指伺服器上面的,可以在此對照下物理目錄是否存在問題。
注意事項:
1、需要注意的是,雖然可以遠端建立目錄、授權和查詢,expdp只能在伺服器端執行,在客戶端執行會出現:
連線到: oracle database 11g enterprise edition release 11.1.0.6.0 - pr
ora-39002: 操作無效
ora-39070: 無法開啟日誌檔案。
ora-29283: 檔案操作無效
ora-06512: 在 "sys.utl_file", line 488
ora-29283: 檔案操作無效
等類似的錯誤。
2、使用expdp匯出的11g的資料可以使用 10g的impdp匯入到10g的資料庫裡面,需要在兩個命令裡面都新增乙個version =10.2.0.1.0 指定相應的版本號。
3:userid可以這樣寫,看幫助同樣是help=y
impdp
userid='sys/cuc2009@cucf
as sysdba' schemas=sybj directory=data_pump_dir dumpfile=aa.dmp logfile=aa.log version=10.2.0.1.0
impdp和expdp使用總結
今天在專案中遇到了如下情況 備份恢復一張資料量比較大 大約200w條記錄,約119m大小 的表時,使用慣用的exp imp工具進行操作時,工具直接卡死 或是操作時間過長 於是想起之前使用過的impdp expdp資料幫浦工具,其優點在於大資料量匯入匯出時高效快捷。使用資料幫浦後,漫長的大表匯出過程變...
使用EXPDP和IMPDP時應該注意的事項
使用expdp和impdp時應該注意的事項 exp和imp是客戶端工具程式,它們既可以在客戶端使用,也可以在服務端使用。expdp和impdp是服務端的工具程式,他們只能在oracle服務端使用,不能在客戶端使用。imp只適用於exp匯出的檔案,不適用於expdp匯出檔案 impdp只適用於expd...
oracle使用expdp和impdp搭建資料庫
檢視幫助 expdp help parallel 是並行數,expdp和impdp都可以使用這個引數 expdp匯出 1.建立資料幫浦路徑 sql create or replace directory imostdb as opt oracle imost directory created.需確...