| # | 問題 | 現象 | 解決方案 |
|---|---|---|---|
| 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 重映射COMPRESS=NFROMUSER=src TOUSER=tgtSELECT * FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_CHARACTERSET'expdp/impdp),支援並行、網絡模式、細粒度過濾