程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> 關於Oracle數據庫 >> oracle數據庫遷移到MySQL的方法總結

oracle數據庫遷移到MySQL的方法總結

日期:2017/4/17 16:28:07      編輯:關於Oracle數據庫

前言

之前搭建了一個ExtJS + spring + Oracle 的這樣一個報表系統的框架。 因為其他部門的要求, 也需要這個Framework 進行一些特殊的定制。

但是有一個問題是 Oracle 的數據庫是需要收費的, 個人使用倒沒什麼問題, 公司使用的話就會有侵權的問題了。
而MySQL 則是完全免費的。

所以使用 ExtJS + Spring + MySQL  這樣的組合應該就沒什麼問題了。

理論上來說, MySQL 已經被Oracle 收購, 這兩者之間的Migrate 應該比較容易, 但實際的遷移還是有一些問題, 以下就說一說一些實現的方式和問題。

方式一: 手動方式導入導出

手動的方式導入, 就是操作步驟會比較繁瑣一些。

對Table 的結構和數據:

1. 使用 SQL Developer 把 oracle 的 table 的schema 和 Data(.sql 和 .xls) 導出

2. 使用 MySQL 的 WorkBench 創建 Table 和導入數據。

這裡語法上會稍微有一些不同, 所以需要略微做一些調整。

對於View 來說, 特別是復雜的有子查詢的Oracle View 說, 要導入到MySQL 看起來就不是那麼容易了。

方式二: 使用工具Navicat 進行導入

http://www.navicat.com.cn

Navicat , 這是MySQL 官方網站上有人建議使用的工具。 這是一個收費的軟件。 目前的收費是 1000 到1600 人民幣。 但是可以免費試用一個月。

下載安裝後, 啟動的頁面如下:

遷移的流程如下:

1. 新建數據庫的連接

建立需要遷移的Oracle 和 MySQL 的數據庫連接。

另外, 建立Oracle 連接的時候還需要下載一個oci.dll 的文件。

下載地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

下載之後, 解壓到某個目錄:

在 Navicat  的 工具 --> 選項 下做類似如下設置:

細部可以參見:http://wiki.navicat.com/wiki/index.php/Instant_client_required

完成設置後, 重啟 navicat

2.  設置過連接之後, 接下來就可以進行表和數據的migrate 了

點擊: 工具 --》 數據傳輸

在 "常規" 的標簽頁中設置需要 migrate 的連接


在 “高級” 的標簽頁中 , 設置需要 migrate 哪些具體的內容:

配置完成之後, 點 "開始" 就可以了。

基本上: 對於 Table 的結構和數據的遷移的話, 基本上沒什麼問題。

但是對於 View 的導入, 因為MySQL 的View 的語法不能有子查詢語句。

在Navite 上, 可以看到從 Oracle 導入到 MySQL 的時候, View 的Checkbox 不能選取。


方式三: 使用工具DBMover 的OracleToMySQL 進行導入

DBMover這個網站也提供了 Oracle 到 MySQL 遷移的工具。

下載地址是:http://dbmover.com/download/oracletomysql_cn.zip

這也是一個收費的軟件,  試用版的限制是: 允許遷移的記錄條數累計為10萬條。

下載安裝,啟動後會先要求輸入 數據庫連接的信息:

一直配置完成之後的頁面是:


這裡就只能看到table 了。

和Navicat比較起來, 感覺這個顯得簡單, 只能migrate table , 而且使用上也不是很方便。

下一次Migrate 又得重頭到尾輸入一次, 沒辦法記住之前配置的連接。

方式四: 使用工具intelligent-converters 的 oracle-to-mysql 進行導入

同樣是一個收費的工具:

下載地址: http://www.intelligent-converters.com/oracle-to-mysql.htm

使用版的限制是每個table 只能導入 5 筆數據。

操作方式上和DbRemover 提供的很類似。好處是能記住上次的一些連接信息。

同樣只能對表進行導入。

導入的頁面:

總結

以上就是關於數據庫遷移之從oracle 到 MySQL的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved