Oracle:記一次導入dmp文件

須要導入dmp數據到mysql上。html

一開始的時候,使用navicat oracle導入。發現不能導入,不支持imp導入。
而後,通過一番摸索(一天 ),找到了導入的方法。 mysql

dmp是Oracle的導出文件格式
它有兩種導出方式:傳統export(exp)導出和DataPump Export(expdp)導出。
分別對應兩種導入方式:imp和impdp。sql

第一步,安裝Oracle獲取相關的工具。sql plus等。方便操做。
第二步,建立新的用戶來存儲導入的數據。(記得建立用戶,這坑了我很多時間)
以上兩步均可以w3的教程找到。w3cschool-oracle
第三步,使用imp命令導入,imp sysdba/password@localhost/orcl file=D:\import.dmp log=D:\import.log fromuser=導入的數據庫名稱 touser=新建立的用戶名
命令的參數解析一下:sysdba就是帶有登陸名的帳號,password就是對應的密碼,file是dmp的路徑,log是日誌文件(有必要加上),fromuser就是導出時候的用戶名(報錯的時候能夠看到),touser就是你新建立的用戶用來接收數據的。
百度上,不少命令都是imp 用戶名/密碼@實例名 file=導入的dmp文件路徑 full=y ignore=y。執行的時候,就會發生如下錯誤:數據庫

已經完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的導入
. 正在將 BASE 的對象導入到 OT(新建的用戶名)
. 正在將 DATA(導入的數據庫名稱) 的對象導入到 DATA(導入的數據庫名稱)
 "ALTER SESSION SET CURRENT_SCHEMA= "DATA""
IMP-00003: 遇到 ORACLE 錯誤 1435
ORA-01435: 用戶不存在
IMP-00000: 未成功終止導入

因此,要把DATA添加到fromuser參數中,同時去掉full=y ignore=y(忽略錯誤是不合理的)(一樣也是花了不少時間找博客)。
最後,幾秒鐘就把數據導進去了。oracle

相關文章
相關標籤/搜索