oracle數(shù)據(jù)庫(kù)遷移到MySQL的方法總結(jié)
前言
之前搭建了一個(gè)ExtJS + spring + Oracle 的這樣一個(gè)報(bào)表系統(tǒng)的框架。 因?yàn)槠渌块T(mén)的要求, 也需要這個(gè)Framework 進(jìn)行一些特殊的定制。
但是有一個(gè)問(wèn)題是 Oracle 的數(shù)據(jù)庫(kù)是需要收費(fèi)的, 個(gè)人使用倒沒(méi)什么問(wèn)題, 公司使用的話(huà)就會(huì)有侵權(quán)的問(wèn)題了。
而MySQL 則是完全免費(fèi)的。
所以使用 ExtJS + Spring + MySQL 這樣的組合應(yīng)該就沒(méi)什么問(wèn)題了。
理論上來(lái)說(shuō), MySQL 已經(jīng)被Oracle 收購(gòu), 這兩者之間的Migrate 應(yīng)該比較容易, 但實(shí)際的遷移還是有一些問(wèn)題, 以下就說(shuō)一說(shuō)一些實(shí)現(xiàn)的方式和問(wèn)題。
方式一: 手動(dòng)方式導(dǎo)入導(dǎo)出
手動(dòng)的方式導(dǎo)入, 就是操作步驟會(huì)比較繁瑣一些。
對(duì)Table 的結(jié)構(gòu)和數(shù)據(jù):
1. 使用 SQL Developer 把 oracle 的 table 的schema 和 Data(.sql 和 .xls) 導(dǎo)出
2. 使用 MySQL 的 WorkBench 創(chuàng)建 Table 和導(dǎo)入數(shù)據(jù)。
這里語(yǔ)法上會(huì)稍微有一些不同, 所以需要略微做一些調(diào)整。
對(duì)于View 來(lái)說(shuō), 特別是復(fù)雜的有子查詢(xún)的Oracle View 說(shuō), 要導(dǎo)入到MySQL 看起來(lái)就不是那么容易了。
方式二: 使用工具Navicat 進(jìn)行導(dǎo)入
Navicat , 這是MySQL 官方網(wǎng)站上有人建議使用的工具。 這是一個(gè)收費(fèi)的軟件。 目前的收費(fèi)是 1000 到1600 人民幣。 但是可以免費(fèi)試用一個(gè)月。
下載安裝后, 啟動(dòng)的頁(yè)面如下:

遷移的流程如下:
1. 新建數(shù)據(jù)庫(kù)的連接

建立需要遷移的Oracle 和 MySQL 的數(shù)據(jù)庫(kù)連接。
另外, 建立Oracle 連接的時(shí)候還需要下載一個(gè)oci.dll 的文件。
下載地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
下載之后, 解壓到某個(gè)目錄:
在 Navicat 的 工具 --> 選項(xiàng) 下做類(lèi)似如下設(shè)置:

細(xì)部可以參見(jiàn):http://wiki.navicat.com/wiki/index.php/Instant_client_required
完成設(shè)置后, 重啟 navicat
2. 設(shè)置過(guò)連接之后, 接下來(lái)就可以進(jìn)行表和數(shù)據(jù)的migrate 了
點(diǎn)擊: 工具 --》 數(shù)據(jù)傳輸

在 "常規(guī)" 的標(biāo)簽頁(yè)中設(shè)置需要 migrate 的連接

在 “高級(jí)” 的標(biāo)簽頁(yè)中 , 設(shè)置需要 migrate 哪些具體的內(nèi)容:

配置完成之后, 點(diǎn) "開(kāi)始" 就可以了。
基本上: 對(duì)于 Table 的結(jié)構(gòu)和數(shù)據(jù)的遷移的話(huà), 基本上沒(méi)什么問(wèn)題。
但是對(duì)于 View 的導(dǎo)入, 因?yàn)镸ySQL 的View 的語(yǔ)法不能有子查詢(xún)語(yǔ)句。
在Navite 上, 可以看到從 Oracle 導(dǎo)入到 MySQL 的時(shí)候, View 的Checkbox 不能選取。

方式三: 使用工具DBMover 的OracleToMySQL 進(jìn)行導(dǎo)入
DBMover這個(gè)網(wǎng)站也提供了 Oracle 到 MySQL 遷移的工具。
下載地址是:http://dbmover.com/download/oracletomysql_cn.zip
這也是一個(gè)收費(fèi)的軟件, 試用版的限制是: 允許遷移的記錄條數(shù)累計(jì)為10萬(wàn)條。
下載安裝,啟動(dòng)后會(huì)先要求輸入 數(shù)據(jù)庫(kù)連接的信息:

一直配置完成之后的頁(yè)面是:

這里就只能看到table 了。
和Navicat比較起來(lái), 感覺(jué)這個(gè)顯得簡(jiǎn)單, 只能migrate table , 而且使用上也不是很方便。
下一次Migrate 又得重頭到尾輸入一次, 沒(méi)辦法記住之前配置的連接。
方式四: 使用工具intelligent-converters 的 oracle-to-mysql 進(jìn)行導(dǎo)入
同樣是一個(gè)收費(fèi)的工具:
下載地址: http://www.intelligent-converters.com/oracle-to-mysql.htm
使用版的限制是每個(gè)table 只能導(dǎo)入 5 筆數(shù)據(jù)。
操作方式上和DbRemover 提供的很類(lèi)似。好處是能記住上次的一些連接信息。
同樣只能對(duì)表進(jìn)行導(dǎo)入。
導(dǎo)入的頁(yè)面:

總結(jié)
以上就是關(guān)于數(shù)據(jù)庫(kù)遷移之從oracle 到 MySQL的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流。
- 深入ORACLE遷移到MYSQL的總結(jié)分析
- mysql數(shù)據(jù)庫(kù)遷移至Oracle數(shù)據(jù)庫(kù)
- 數(shù)據(jù)從MySQL遷移到Oracle 需要注意什么
- mysql數(shù)據(jù)遷移到Oracle的正確方法
- Docker容器遷移Oracle到MySQL的實(shí)現(xiàn)方法
- Oracle數(shù)據(jù)遷移MySQL的三種簡(jiǎn)單方法
- MySQL遷移到Oracle數(shù)據(jù)庫(kù)的超詳細(xì)步驟和方法總結(jié)
- MySQL數(shù)據(jù)庫(kù)遷移到Oracle數(shù)據(jù)庫(kù)的完整步驟記錄
相關(guān)文章
使用Navicat Premium連接Oracle的方法步驟
這篇文章主要介紹了使用Navicat Premium連接Oracle的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
CentOS 6.4下安裝Oracle 11gR2詳細(xì)步驟(多圖)
這篇文章主要介紹了2013-11-11
Oracle10g通過(guò)DBLink訪問(wèn)MySQL示例
本文介紹了Oracle訪問(wèn)MySQL的方法,測(cè)試環(huán)境:CentOS5_X64, Oracle10g_X64, MySQL5 。大家參考使用吧2014-01-01
oracle—SQL技巧之(二)WMSYS.WM_CONCAT函數(shù)實(shí)現(xiàn)多行記錄用逗號(hào)拼接在一起
由于業(yè)務(wù)系統(tǒng)的交易記錄有很多,常常有些主管需要看到所有的記錄情況;又不想滾動(dòng);接下來(lái)介紹使用Oracle自帶的函數(shù) WMSYS.WM_CONCAT,進(jìn)行拼接,感興趣的朋友可以了解下2013-01-01
Windows系統(tǒng)下Oracle數(shù)據(jù)庫(kù)每天自動(dòng)備份
linux和unix下面使用shell可以很方便實(shí)現(xiàn),如果windows環(huán)境下可以結(jié)合計(jì)劃任務(wù)實(shí)現(xiàn)自動(dòng)備份,下面通過(guò)本文給大家介紹實(shí)現(xiàn)方法,需要的朋友參考下吧2016-12-12

