Oracle遷移到MySQL總結

2021-06-29 04:41:52 字數 1697 閱讀 5164

[日期:2012-06-01]

[字型:大中小]

這兩個星期裡一直都在忙於一件事兒,就是oracle資料庫的遷移問題。沒有做的時候感覺這是一件十分輕鬆的事兒,可是等到實實在在去做去實現的時候,自己傻眼了。這種糾結啊,

在這裡先說下遇到的問題:

1。資料庫的表結構問題:資料型別不同需要解決varchar2------varchar、number-----int、date----datetime,建表的sql語句字段預設值、注釋怎麼解決。

2. oracle中沒有所謂的敏感字段,可是mysql表中的敏感欄位有好多。當時出錯的時候很奇怪不知道是**錯了。原來有個describe的字段是mysql的敏感字段。

這裡我也是在網上找了乙個現成的工具:oracletomysql,它是只能為我們遷移表結構。

3. oracle的備份sql沒法正常的mysql中跑,一些to_date()函式,to_char()讓人很是痛苦不知道怎麼去代替,原因很簡單在oracle的備份檔案中有一堆的解釋文字:

prompt pl/sql developer import file  

prompt created on 2012-05-30 by chenbh  

set feedback off  

set define off  

prompt disabling triggers for t_b_auditor...  

alter table t_b_auditor disable all triggers;  

prompt loading t_b_auditor...  

insert into t_b_auditor (auditorid, name, orgid, ***, idcardno, title, phone, mobile, describe, auditorright, auditorstatus, recordstatus, field1, field2)  

這些東西該怎麼除去,大家的想法可能是我直接刪除後直接在mysql中跑,可是您想一下如果要是您的備份檔案很大很大呢,根本打不開就是。我遇到的sql備份有1g的,電腦不行實在是打不開沒有辦法只好,從新想其他的辦法了。

在這裡感謝下philip_zhong朋友,

這裡他給提供了乙個程式,來處理大資料量的遷移工作。在這裡說下我的使用感言啊,他提供了多種方式,shell指令碼、windows下的bat啟動、還有源程式。我都試過了,前兩者沒有調通,只好硬著頭皮把他的源程式給跑一下,各種debug修改後終於調通了。很高興……

這裡需要提醒的是:

static datasyncdatasourceparameter datasourceparameters;  

static datasyncsessionparameter sessionparameter;  

//static final string configfilename

= "config.properties"

;//這裡是源程式中的引數,按照自己的需要進行配置  

static final string configfilename

= "config_oracle2mysql.properties"

;//這裡是我的配置檔案  

/**  

* @param args  

*/  

public static void main(string args)   

}  

將MySQL資料遷移到Oracle

因為專案的原因,今晚將mysql資料庫的內容嘗試遷移到oracle,雖然結果失敗,不過學到了不少,下次就不一定了,哈哈 因為之前專案是使用mysql資料庫的,現在因為新公司要求使用oracle 公司大得很 不得不嘗試將以前專案進行遷移。經過查詢相關文件,最終選定使用oracle sql develo...

oracle遷移到mysql 僅使用指令碼

一直用oracle,最近研究了下mysql,先列舉下mysql奇怪的特性 1.不能儲存毫秒精度的時間.2.如果有varchar,char就會自動變varhar.3.timestamp時間範圍比datatime小,精度一樣,而且就算你不insert update,它的值也會自動改變.4.沒有seque...

Oracle遷移到PostgreSQL問題

oracle遷移到postgresql 使用ora2pg的方案將oracle遷移至pg,遇到的問題多少與源oracle資料庫有多少與pg不相容的東西成正比。下面是我們遇到的問題簡單總結 應用程式裡面sqlmap.xml 人工review時的問題發現 oracle postgresql dual表 沒...