首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 教學

Oracle exp/imp 導出導入工具進階:常見問題與解決方案 (下)

     編輯:Oracle 教學

Oracle exp/imp 導出導入工具進階:常見問題與解決方案 (下)

導入 (imp) 高發問題對策

#問題現象解決方案
1對象已存在預設報錯;IGNORE=Y 只導數據,唯一鍵衝突則拒絕,無唯一鍵則重複導入前 DROP 目標對象;或用 IGNORE=Y + 事先停用約束
2主外鍵約束衝突子表導入失敗 (父表未導)① 先導主表再導子表 ② ALTER TABLE ... DISABLE CONSTRAINT → 導入 → ENABLE
3權限不足跨 Schema 導入報錯源用戶需 IMP_FULL_DATABASE 角色
4大表 (>80M) 存儲分配失敗COMPRESS=Y (預設) 試圖壓縮到單一 Extent,找不到連續大塊導出時指定 COMPRESS=N
5字符集不匹配導入報錯或亂碼調整客戶端 NLS_LANG (Unix: export, Windows: 註冊表) 與導出檔一致,導入後改回
6版本不向上兼容高版本 exp 檔無法用低版本 imp 導入imp 只能導入同版本或更低版本 exp 檔;升級目標庫或用 Data Pump

關鍵參數速查

  • COMPRESS=Y/N:導出時是否壓縮 Extent (大表必設 N)
  • IGNORE=Y/N:導入時忽略對象存在錯誤
  • GRANTS=Y/N:是否導出/導入授權
  • INDEXES=Y/N:是否導出/導入索引
  • FULL=Y:全庫模式
  • FROMUSER/TOUSER:Schema 重映射

最佳實踐清單

  1. 大表導出必加 COMPRESS=N
  2. 跨 Schema 導入用 FROMUSER=src TOUSER=tgt
  3. 導入前檢查目標庫字符集 SELECT * FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_CHARACTERSET'
  4. 生產庫遷移優先考慮 Data Pump (expdp/impdp),支援並行、網絡模式、細粒度過濾
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved