無論是全庫遷移、Schema 重映射、單表恢復、多檔分卷匯入,imp 都是最終執行者。本文系統整理八大匯入場景完整指令、參數詳細說明、Exp 關鍵參數對照表、版本相容性鐵律,構建可離線查閱的操作手冊。
imp help=y
imp system/manager FILE=bible_db LOG=bible_db.log FULL=Y IGNORE=Y
imp system/manager FILE=seapark LOG=seapark.log FROMUSER=seapark
imp system/manager FILE=seapark LOG=seapark.log FROMUSER=(seapark,amy,amyc,harold)
imp system/manager FILE=tank LOG=tank.log FROMUSER=seapark TOUSER=seapark_copy
imp system/manager FILE=tank LOG=tank.log FROMUSER=(seapark,amy) TOUSER=(seapark1,amy1)
imp system/manager FILE=tank LOG=tank.log FROMUSER=seapark TABLES=(a,b)
imp system/manager FILE=(paycheck_1,paycheck_2,paycheck_3,paycheck_4) \
LOG=paycheck.log FILESIZE=1G FULL=Y
imp system/manager PARFILE=bible_tables.par
# bible_tables.par
FROMUSER=seapark
TOUSER=seapark_copy
FILE=seapark.dmp
LOG=seapark_import.log
IGNORE=Y
COMMIT=Y
BUFFER=32000000
imp system/manager INCTYPE=RESTORE FULL=Y FILE=incr.dmp
# INCTYPE=SYSTEM (系統物件) / RESTORE (用戶物件)
| 參數 | 功能 | 預設 | 生產建議 | 備註 |
|---|---|---|---|---|
| USERID | 連線帳密@連接串 | - | 寫在 PARFILE | |
| FULL | 全量匯入 | N | 遷移時 Y | 需 IMP_FULL_DATABASE |
| FROMUSER | 來源 Schema 列表 | - | 配合 TOUSER | |
| TOUSER | 目標 Schema 列表 | - | 重映射必填 | 長度同 FROMUSER |
| TABLES | 匯入表列表 | - | 單表恢復用 | 支援 partition: T1:P1 |
| FILE | 輸入 DMP 檔(多檔逗號分隔) | EXPDAT.DMP | 指定完整路徑 | |
| FILESIZE | 分卷大小 | 0 | 與匯出端一致 | |
| LOG | 日誌檔路徑 | 螢幕 | 必填,含日期 | |
| IGNORE | 忽略建立錯誤(表已存在) | N | Y | 重跑/續傳核心參數 |
| COMMIT | 陣列提交 | N | Y | 減少 Undo 壓力 |
| BUFFER | 資料緩衝區大小 | 4096 | 32M-64M | 大幅提升速度 |
| GRANTS | 匯入授權 | Y | Y | |
| INDEXES | 匯入索引 | Y | Y (大表可 N 事後建) | |
| CONSTRAINTS | 匯入約束 | Y | Y (大表可 N 事後建) | |
| ROWS | 匯入資料 | Y | Y | N=結構遷移 |
| SKIP_UNUSABLE_INDEXES | 跳過不可用索引維護 | N | 大表 Y | 巨大加速 |
| STATISTICS | 執行 DMP 內 ANALYZE | Y | NONE | 避免過時統計 |
| DESTROY | 覆蓋資料檔(TTS) | N | 極謹慎 | 僅 TTS 模式 |
| INDEXFILE | DDL 輸出至檔案不執行 | - | 審查用 | |
| TOID_NOVALIDATE | 跳過 Type ID 驗證 | - | 跨版本物件類型 | |
| FEEDBACK | 進度顯示間隔行數 | 0 | 50000 | 長作業可視化 |
| Exp 參數 | 功能 | 預設 | 生產建議 | 對應 Imp 影響 |
|---|---|---|---|---|
| COMPRESS | 匯入時合併 Extents | Y | N | Y 導致大表匯入失敗 |
| DIRECT | Direct Path Export | N | 大表 Y | 加速 2-5 倍;不支援 LONG/LOB |
| CONSISTENT | Read-Only 一致性 | N | 跨表一致性 Y | 大量 Undo 消耗 |
| STATISTICS | 匯出統計資訊 | ESTIMATE | NONE | Imp 端 STATISTICS=NONE 同步 |
| QUERY | 表級 WHERE 子句 | - | 分片導出用 | Imp 無對應,匯入全表 |
| FILESIZE | 分卷大小 | 0 | 2G/4G | Imp 端 FILESIZE 必同步 |
| BUFFER | 緩衝區大小 | 4096 | 32M-64M | 雙端同步調大 |
| GRANTS/INDEXES/CONSTRAINTS/TRIGGERS | 物件類型開關 | Y | 視需求 | Imp 端同名參數控制匯入 |
| ROW | 匯出資料 | Y | Y/N | Imp ROWS=N 可只導結構 |
| LOG | 日誌檔 | 螢幕 | 必填 | 雙端對稱保留 |
# ==========================================
# Imp 作業單 - 自動產生版
# ==========================================
# 環境:TARGET_DB (19c, AL32UTF8)
# 來源:SOURCE_DB (11g, ZHS16GBK)
# DMP:/backup/source_schema_20240115.dmp (3.2G)
# 場景:Schema 重映射 OLD_APP → NEW_APP
# ==========================================
# 1. 前置檢查
tnsping TARGET_DB
df -h /u01/oradata/TARGET # 空間 > 10G
SELECT * FROM nls_database_parameters WHERE parameter LIKE '%CHARACTERSET';
# 2. 參數檔
cat > /backup/imp_NEW_APP.par <<'EOF'
USERID=system/xxx
FILE=/backup/source_schema_20240115.dmp
LOG=/backup/imp_NEW_APP_20240115.log
FROMUSER=OLD_APP
TOUSER=NEW_APP
IGNORE=Y
COMMIT=Y
BUFFER=64000000
FEEDBACK=50000
STATISTICS=NONE
GRANTS=Y
INDEXES=Y
CONSTRAINTS=Y
ROWS=Y
SKIP_UNUSABLE_INDEXES=Y
EOF
# 3. 執行
imp parfile=/backup/imp_NEW_APP.par
# 4. 後置驗收
# 行數核對、失效物件、序列同步、統計收集
# ==========================================
Imp 的參數雖多,但生產常用者不超過 12 個。掌握八大場景範本、參數檔標準化、版本/字符集鐵律、BUFFER/COMMIT/IGNORE/SKIP_UNUSABLE_INDEXES 四大加速鍵,配合作業單模板,即可將每一次匯入變為標準化、可審計、可交付的工程動作。