1. 程式人生 > >Mysql遷移到Oracle

Mysql遷移到Oracle

最近換了一家公司,第一天上班第一個任務就是做資料遷移,要求將Mysql資料庫遷移到Oracle,一共22張表。我記得之前用Navicat做過這個,但嘗試之後發現只能從Oracle遷移到Mysql,嘗試了很多次都無法成功,也許有方法,但是我沒有找到。於是狂搜資料遷移轉換工具,但都以報錯告終。曾一度想收手動轉換(需要一個關鍵字一個關鍵字的改sql指令碼)。就在快要放棄的時候,一個工具拯救了我,那就是Convert Mysql to Oracle。

1.下載工具

百度網盤:https://pan.baidu.com/s/1C_dxkFoGh-tJd_TIPz740A 密碼:cwd9

2.連線Mysql

3.連線Oracle


點選next

第一次使用都會報這個錯,這是把安裝Oracle時安裝的instantclient12_1(比如樓主的:D:….\instantclient_12_1)下找dll結尾的檔案,然後拷貝到Convert Mysql to Oracle的安裝目錄下退出重新開啟此工具就可以了。

4.點選next

5.點選next

6.點選Next,轉換成功

注意:如果時遠端的Oracle只要把tnsnames.ora裡面的例項改成你要連線的例項就好了

以上轉載自 https://blog.csdn.net/yunshui110/article/details/80039113

軟體下載http://www.downcc.com/soft/12882.html

 

在Mysql中,資料庫和使用者之間的關係不是特別明顯,只要我們連結到Mysql伺服器,可以看到所有的資料庫和表,而Oracle新建一個是沒有任何資源和許可權的,需要我們為其分配資源許可權,也可以在這個使用者下面建立表,但貌似不能建資料庫,對Oracle的理解甚淺,就不多說了。。。,簡單的來說就是oracle的每一個使用者對應Mysql的一個數據庫。

    經過這幾天的摸索,非手動寫SQL移植的方法有兩種,對於表結構很龐大的資料庫無非就是個噩夢,所以要選擇專業的可靠的移植方式:

    最簡單的傻瓜式的移植方法是通過一個工具Convert Mysql to Oracle,連結:http://dbmover.com/cn/mysqltooracle/

一鍵解決問題,就不多說了,最後的效果是MySql中的一個數據庫對應Oracle的一個同名的使用者,該使用者下的表和MySql中的資料庫的表是一樣的,移植過程可選只移植表結構還是包含資料,但如果這個能移植的很好,我就不用再浪費好幾天來找更好的方法了,出現的問題就是有些索引的名字是會發生變化的,還有Oracle的一個限制,就是表名或者其他的名字的長度不能超過30個字元,但我的MySql中存在這樣的表明,哎,沒辦法,只能改表名,除了這些問題,這個工具還是很不錯的。

    另外一種方法就是通過Oracle官方的一個工具Sql Developer,http://www.oracle.com/technetwork/cn/developer-tools/sql-developer/downloads/index.html?ssSourceSiteId=otnen  官方的工具,用著就是放心,但下載了最新版的卻老是出錯,哎,不得不嘗試了舊版的最後成功了,成功移植的版本是sqldeveloper-4.0.0.12.84-no-jre,操作步驟:

    1. 下載MySql connector,http://dev.mysql.com/downloads/connector/j/ 

    2. 開啟Sql Developer,配置mysql連線外掛,開啟過程可能會要求制定JDK目錄,指定就能開啟

               

        

        新增好驅動我們就開始連線資料庫移植。

    3. 新增兩個連線,一個是MySql的,一個是Oracle的:

        

     4. 滑鼠右鍵Oracle連線:

        

        一般的操作是先刪除,再關聯,如果關聯不成功移植也是不會成功的,但一般情況下遮了老是不成功,所以我就換工具版本,最終就是上面說的那個了,建議大家也用那個版本的,少走彎路。

    5. 關聯之後,,,之後的操作就不多說了,只要保證前邊的操作不提示出錯,後邊是不會出現問題的,如果出現數據沒被移植過來,那就再來一次,一般是會成功的。

OK,就到這了,希望能給大家提供到一些幫助。

以上轉載自資料庫遷移之Mysql遷移Oracle