# 匯出用戶 SJFX 完整物件
exp sjfx/password file=C:\db_backup.dmp
# 匯入 (含 FROMUSER/TOUSER 重映射)
imp sjfx/password fromuser=sjfx touser=sjfx file=C:\db_backup.dmp ignore=y
exp sys/password@db as sysdba file=d:\daochu.dmp owner=(system,sys)
# 匯出指定表
exp user/pass@db file=d:\daochu.dmp tables=(table1,table2)
# 匯入指定表
imp user/pass@db file=d:\daoru.dmp tables=(table1)
# 匯出 table1 中 filed1 以 '00' 開頭的資料
exp user/pass@db file=d:\daochu.dmp tables=(table1) query="WHERE filed1 LIKE '00%'"
# 匯出 content 表 column_id=53 的資料
exp user/pass file=d:\daochu.dmp tables=(content) query="WHERE column_id=53"
注意:Windows 命令列中雙引號需轉義 \",Linux/Unix 單引號包裹即可。
| 參數 | 說明 | 典型值 |
|---|---|---|
| FULL=Y | 全庫匯出 (需 DBA 權限) | N |
| OWNER | 指定 schema 列表 | schema1,schema2 |
| TABLES | 指定表列表 | tab1,tab2 |
| QUERY | 每表附加 WHERE 條件 | "WHERE col>100" |
| FILE | 匯出檔路徑 (支援多檔 file=file1.dmp,file2.dmp) | exp.dmp |
| IGNORE=Y | 匯入時忽略建立錯誤 (表已存在) | N |
| FROMUSER/TOUSER | Schema 重映射 | from=A to=B |
| INDEXES=Y | 是否匯入索引 | Y |
| CONSTRAINTS=Y | 是否匯入約束 | Y |
| GRANTS=Y | 是否匯入授權 | Y |
| ROWS=Y | 是否匯入資料列 | Y |
| COMPRESS=Y | 匯出時合併區段 (初始區段 = 總大小) | Y |
| BUFFER | 資料緩衝區大小 (bytes) | 65536 |
| LOG | 記錄檔路徑 | exp.log |
| PARFILE | 參數檔路徑 (避免命令列過長/特殊字元) | exp.par |
expdp/impdp:伺服器端並行、可中斷續傳、支援網路鏈路、過濾功能更強。exp/imp 已不再增強,僅維持相容。EXP/IMP 仍是跨版本、小規模、簡單邏輯遷移的利器。掌握上述核心參數與 QUERY 條件式匯出,能應對 80% 日常匯出匯入需求。大規模遷移請務必改用 Data Pump。