首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Oracle 9i 備份檔匯入 8i 正確姿勢:跨版本向下相容實戰

     編輯:Oracle 資料庫相關知識

錯誤嘗試

-- 9i 端導出
exp user/pass@sid file=exp.dmp owner=user

-- 8i 端直接導入 → 失敗
imp user/pass@sid file=exp.dmp owner=user ignore=y full=y

原因: 高版本匯出檔無法直接導入低版本。低版本匯出檔可導入高版本(僅限相鄰版本:7i→8i、8i→9i)。

正確解法:低版本 Client 連高版本 Server 導出

  1. 在 8i 機器配置 Net Service Name 連向 9i:
      li>Net Configuration Assistant → Local Net Service Name → Add
    • 選 Oracle 8i or later → 輸入 9i Global SID
    • TCP → 主機名、Port → 測試連線 → 命名連線別名(如 ora9i_link)
  2. 8i 端命令列執行導入(實際由 8i exp 透過 DB Link 從 9i 抓資料):
    imp user/pass@ora9i_link file=exp.dmp owner=user ignore=y full=y

關鍵原理

imp 透過 DB Link 觸發遠端 exp,產生的匯出檔本質為 8i 格式,故可順利導入 8i。

適用場景

  • 舊系統(8i)需從新系統(9i/10g/11g)抽取歷史資料
  • 跨版本資料遷移、報表系統同步

補充提醒

  • 確保網路連通、防火牆開放 Listener Port
  • 版本差距過大(如 11g→8i)建議改用 Data Pump + 腳本轉換
  • 字元集一致性檢查(NLS_LANG)避免亂碼
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved