Oracle SQL Developer 內建 Migration Workbench,免費、圖形化、支援 Microsoft Access、SQL Server、MySQL、Sybase、DB2、Informix 等異構資料庫遷移至 Oracle,適合中小型專案與異構遷移 PoC。
RESOURCE、CREATE SESSION 等權限。VARCHAR → VARCHAR2、DATETIME → TIMESTAMP、AUTO_INCREMENT → SEQUENCE + TRIGGER),檢視轉換報告,手動修正不支援語法。| MySQL | Oracle | 注意事項 |
|---|---|---|
| VARCHAR(N) | VARCHAR2(N CHAR) | 建議用 CHAR 語意避免多位元組截斷 |
| TEXT / LONGTEXT | CLOB | 大物件需啟用 LOB 存儲參數 |
| DATETIME / TIMESTAMP | TIMESTAMP(6) | MySQL TIMESTAMP 有時區自動轉換,Oracle 需應用層處理 |
| INT AUTO_INCREMENT | NUMBER + SEQUENCE + BEFORE INSERT TRIGGER | 或 Oracle 12c+ 使用 IDENTITY COLUMN |
| ENUM / SET | VARCHAR2 + CHECK CONSTRAINT | 手動加 CHECK 约束 |
| ENGINE=InnoDB FK | FK Constraint | 自動轉換,需確認啟用狀態 |
Fetch Size (如 5000)、Commit Size (如 10000)。SQL*Loader 控制檔 + CSV,再用 sqlldr 並行直載,效能最佳。SELECT COUNT(*) 比對(允許極小誤差)。ALL_OBJECTS WHERE STATUS='VALID'。