1. 程式人生 > >oracle使用impdp方式匯入資料

oracle使用impdp方式匯入資料

原文:http://blog.csdn.net/bao19901210/article/details/9666901

匯入格式(按使用者方式匯入,Oracle在本機)

impdp 使用者名稱/密碼 schemas=要匯入的使用者(即是使用expdp匯出的使用者) directory=建立的資料夾名稱(directory_name) dumpfile=test.dmp(要放入到directory_path路徑下) logfile=imp.log(可以不寫)

  1. --匯入時必須先建立資料夾路徑
  2. createorreplace directory bao as'd:\oracle\test';  
  3. --給使用的使用者授權(讀寫許可權)
  4. Grantread,write on directory bao to scott;  
  5. --檢視目錄及許可權
  6. SELECT privilege, directory_name, DIRECTORY_PATH FROM user_tab_privs t, all_directories d  
  7.  WHERE t.table_name(+) = d.directory_name ORDERBY 2, 1;  

建立完資料夾後,在win7下是沒有建立的資料夾的,需要手動建立資料夾,並且把使用expdp匯出的dmp檔案放入該資料夾下(開始自己匯入時,建立完資料夾後始終在磁碟上找不到

期間報過好多錯,像org-29283,org-06512,ora-29283,ora-39002,org-39070等等,反正很鬱悶的~!

建立好資料夾後,進行匯入:(我使用的是通過執行command命令進入命令列介面匯入)

impdp scott/tiger schemas=certification directory=test dumpfile=test.dmp

這要匯入後會報錯,提示表空間XXX不存在,使用者certification不存在

根據錯誤資訊,建立好表空間,和使用者,並設定使用者的表空間

  1. CREATE TABLESPACE TEACHER  
  2. LOGGING  
  3. DATAFILE 'D:\ORACLE\ORADATA\ORCL\TEACHER.DBF'
  4. SIZE 1024M   
  5. AUTOEXTEND ON
  6. NEXT 32M MAXSIZE 2048M  
  7. EXTENT MANAGEMENT LOCAL;  
  8. dropuser certification;  
  9. createuser certification identified by cert  
  10. DEFAULT TABLESPACE TEACHER;  
  11. grantconnect,resource to certification;  
  12. grantcreate session,dba to certification;  

然後繼續匯入,成功,over!