EXP:資料庫 → 本地 .dmp 檔案IMP:.dmp 檔案 → 資料庫exp system/manager@TEST file=d:\daochu.dmp full=y
exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)
exp aichannel/aichannel@TESTDB2 file=d:\data\newsmgnt.dmp tables=(inner_notify,notify_staff_relat)
exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query="WHERE filed1 LIKE '00%'"
-- 注意:雙引號包裹,單引號內部字串
COMPRESS=Y(調整區塊大小,非檔案壓縮)imp system/manager@TEST file=d:\daochu.dmp
imp aichannel/aichannel@HUST full=y file=d:\data\newsmgnt.dmp ignore=y
-- ignore=y:物件已存在時跳過錯誤繼續,否則報錯停止
imp system/manager@TEST file=d:\daochu.dmp tables=(table1)
| 問題 | 原因 | 解決方案 |
|---|---|---|
| IMP 報錯「物件已存在」 | 目標庫有同名表 | 加 IGNORE=Y 或先 DROP 再匯入 |
| 權限不足 | 執行用戶缺乏 IMP_FULL_DATABASE | 授予 DBA 或完整匯入權限 |
| 字符集不匹配 | 匯出/匯入端 NLS 設定不同 | 確認 NLS_LANG 一致,或用字符集轉換 |
| 大表匯入極慢 | 索引/約束同步維護 | 先匯入資料,再建索引/啟用約束 |
FROMUSER=TGPMS
TOUSER=TGPMS2
ROWS=Y
INDEXES=Y
GRANTS=Y
CONSTRAINTS=Y
BUFFER=409600
FILE=/backup/ctgpc_20030623.dmp
LOG=/backup/import_20030623.log
imp parfile=/filepath/import9.par
Import: Release 8.1.7.0.0 - Production
連接到: Oracle8i Enterprise Edition Release 8.1.7.0.0
經由常規路徑導出由 EXPORT:V08.01.07 創建的文件
已經完成 ZHS16GBK 字符集和 ZHS16GBK NCHAR 字符集中的導入
導出服務器使用 UTF8 NCHAR 字符集 (可能的 ncharset 轉換)
正在將 AICHANNEL 的對象導入到 AICHANNEL
正在導入表 "INNER_NOTIFY" 4行被導入
准備啟用約束條件...
成功終止導入,但出現警告。
關鍵資訊:字符集轉換提示、導入行數、約束啟用狀態、警告需檢查 LOG 檔案。
-- 1. 啟動 SQL*Plus,以 system/manager 登入
-- 2. 建立用戶(如不存在)
CREATE USER username IDENTIFIED BY password;
-- 3. 授予完整匯入權限
GRANT CREATE USER, DROP USER, ALTER USER,
CREATE ANY VIEW, DROP ANY VIEW,
EXP_FULL_DATABASE, IMP_FULL_DATABASE,
DBA, CONNECT, RESOURCE, CREATE SESSION
TO username;
Oracle 10g+ 推薦使用 Data Pump (expdp/impdp):平行處理、網路模式、更精細物件過濾、效能大幅提升。傳統 EXP/IMP 仍適用於舊版本或簡單邏輯備份。