資料庫遷移之-Oracle 與MySQL互相轉換
理論上來說, MySQL 已經被Oracle 收購, 這兩者之間的Migrate 應該比較容易, 但實際的遷移還是有一些問題, 以下就說一說一些實現的方式和問題。
方式一:手動方式匯入匯出
手動的方式匯入, 就是操作步驟會比較繁瑣一些。
對Table 的結構和資料:
1. 使用 SQL Developer 把 oracle 的 table 的schema 和 Data(.sql 和 .xls) 匯出
2. 使用 MySQL 的 WorkBench 建立 Table 和匯入資料。
這裡語法上會稍微有一些不同,所以需要略微做一些調整。
對於View 來說, 特別是複雜的有子查詢的OracleView 說,要匯入到MySQL 看起來就不是那麼容易了。
方式二: 使用工具Navicat 進行匯入
Navicat ,這是MySQL 官方網站上有人建議使用的工具。這是一個收費的軟體。目前的收費是 1000 到1600 人民幣。但是可以免費試用一個月。
下載安裝地址:
破解軟體下載地址:
啟動的頁面如下:
遷移的流程如下:
1. 新建資料庫的連線
建立需要遷移的Oracle 和 MySQL 的資料庫連線。
另外,建立Oracle 連線的時候還需要下載一個oci.dll 的檔案。
下載地址:
下載之後,解壓到某個目錄:
在 Navicat 的工具 --> 選項下做類似如下設定:
細部可以參見:
完成設定後,重啟 navicat
2. 設定過連線之後, 接下來就可以進行表和資料的migrate 了
點選:工具 --》資料傳輸
在 "常規" 的標籤頁中設定需要 migrate 的連線
在 “高階” 的標籤頁中, 設定需要 migrate 哪些具體的內容:
配置完成之後,點 "開始" 就可以了。
基本上:對於 Table 的結構和資料的遷移的話,基本上沒什麼問題。
但是對於 View 的匯入,因為MySQL 的View 的語法不能有子查詢語句。
在Navite 上,可以看到從 Oracle 匯入到 MySQL 的時候, View 的Checkbox 不能選取。