專案需定期將客戶現場資料遷移至開發環境,隨資料量增長,傳統 EXP/IMP 耗時過長,團隊實測比較 RMAN 完整備份還原與 EXP/IMP 邏輯匯出入的效能差異,供決策參考。
JHJKREC 物件大小:2.1 GB| 階段 | RMAN 完整備份/還原 | EXP/IMP (JHJKREC) |
|---|---|---|
| 備份/匯出耗時 | 20 分鐘 | 2 分 20 秒 |
| 產生檔案大小 | 5.47 GB | 546 MB |
| 還原/匯入耗時 | 23 分鐘 (含 RESTORE + RECOVER) | 55 分鐘 |
| 非歸檔模式限制 | 需關閉 DB → MOUNT 狀態備份 | 可線上匯出,但資料不一致 |
| 操作複雜度 | 高(需備份控制檔、指定 SCN 復原、RESETLOGS 開啟) | 低(標準指令流程) |
「見仁見智」—— 若追求最短停機窗口且團隊熟悉 RMAN,選 RMAN;若重視操作簡單、檔案小、彈性高(如只遷移特定用戶),EXP/IMP 仍是務實選擇。
@@connect.rcv
# shutdown immediate; startup mount;
run {
allocate channel d1 type disk;
set limit channel d1 kbytes 2097150;
backup full database format 'E:\rman_bak\dbfull_%d_%s_%p_%t' tag='dbfull';
release channel d1;
}
alter database open;
exit;
@@connect.rcv
shutdown immediate;
startup mount;
run {
sql "alter session set nls_date_language=AMERICAN";
sql "alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss'";
set until time '2004-9-7 15:30:00';
allocate channel ch1 type disk;
restore database;
release channel ch1;
}
exit;
# exp.par
userid=jhjkrec/jhjkrec file=e:\rman_bak\jhjkrec.dmp owner=jhjkrec direct=n compress=n feedback=1000
# imp.par
userid=jhjkrec/jhjkrec file=e:\rman_bak\jhjkrec.dmp ignore=y fromuser=jhjkrec touser=jhjkrec feedback=1000
註:測試未做任何效能調優(如多通道、直接路徑、並行度),僅反映預設行為基準線。