ALTER DATABASE FORCE LOGGING; 確保無未記錄操作,避免壞塊。IMP 導入後,Job 擁有者變為導入使用者,原擁有者無法管理;NEXT_DATE 未更新可能重複執行。
-- 修正 Job 擁有者
UPDATE sys.job$ SET lowner = cowner, powner = cowner;
COMMIT;
Stored Procedure/Function/Trigger 參考遠端 DB Link,IMP 時若目標端無同名 Link 會編譯失敗。對策:預建 DB Link、或遷移後重新編譯 UTL_RECOMP。
使用 DBMS_STATS.EXPORT_SCHEMA_STATS / IMPORT_SCHEMA_STATS 移轉統計資訊,避免重新收集耗時。
| 場景 | 推薦方案 | 關鍵參數/語法 |
|---|---|---|
| 一般大表 | DB Link + INSERT /*+ APPEND */ + PARALLEL | INSERT /*+ APPEND PARALLEL(t,8) */ INTO t SELECT * FROM t@dblink; |
| 含 LONG 欄位 | SQL*Plus COPY 命令 | |
| 含 LOB/TIMESTAMP | ROWID 範圍分割並行 EXP/IMP 或 INSERT | WHERE ROWID BETWEEN ... AND ... |
| 超大分區表 | 中間表 + EXCHANGE PARTITION WITHOUT VALIDATION | INSERT INTO mid_tbl ...; ALTER TABLE tgt EXCHANGE PARTITION p1 WITH TABLE mid_tbl WITHOUT VALIDATION; |
| 歷史/靜態表 | 預先遷移並建立索引 | 縮短停機窗口 |
PARALLEL n),建完移除 PARALLEL 屬性。ENABLE NOVALIDATE 快速通過,事後改 ENABLE VALIDATE。遷移成功的關鍵不在工具,而在完善流程與完整測試。上述技巧適用 9i~19c,亦可用於單表跨庫複製。