須要導入dmp數據到mysql上。html
一開始的時候,使用navicat oracle導入。發現不能導入,不支持imp導入。
而後,通過一番摸索(一天
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