導出oracle數據庫dmp文件引出的編碼問題

進行數據庫遷移時,用pl/sql導出數據,然后在導入數據時出問題,并且dos窗口有亂碼顯示,pde和dmp都能正常導出,但是無法正常導入 ,,懷疑時導出數據操作有誤,因為pl/sql導出也是調用exp.exe ,但是窗口會被自動關閉,無法查看詳細的導出日志,所以用手動方式操作


導出 :
  • 執行導出后查看日志情況如下
// 數據庫地址可能是數據實例名orcl  ,也可能是 ip:端口/數據庫實例名
exp 用戶名/密碼@數據庫地址 file=d:/data.dmp log=d:/data.log tables=要導出的表名
Paste_Image.png

好像有編碼不統一的情況
參考此處修改編碼

  • 再次導出 ,編碼問題的警告已經沒有了


    Paste_Image.png

導入 :
  • 執行后報錯,提示表已經存在(忘記截圖了),原因是我通過sql語句手動建好了表,只是沒有數據 ,所以解決方法是加上一個ignore=y (要根據業務情況而定,不能把一些重要的操作忽略掉了)
// 數據庫地址可能是數據實例名orcl  ,也可能是 ip:端口/數據庫實例名
imp 用戶名/密碼@數據庫地址 file=d:/data.dmp log=d:/data_import.log tables=要導入的表名
。
//忽略一些錯誤 ,不會因為有錯誤而停止執行后面的內容
imp 用戶名/密碼@數據庫地址 file=d:/data.dmp log=d:/data_import.log tables=要導入的表名 ignore=y

附加內容

有時導出一個dmp文件,導入時可能會報錯表空間沒有的問題,是因為dmp文件中的表空間是源數據,可能和你當前的表空間不匹配,此時就要修改dmp文件,修改其中的表空間,修改dmp文件的表空間 ,因為是間接用16進制的方式修改,所以盡可能的減少要修改的內容,以免破壞dmp文件的結構,修改前先備份!!!!


參考

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容