千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > Oracle遷移MySQL需要考慮什么?

Oracle遷移MySQL需要考慮什么?

來源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-10-14 00:52:19 1697215939

一、Oracle遷移MySQL需要考慮什么

1、遷移類型

Oracle遷移到MySQL主要涉及數(shù)據(jù)結(jié)構(gòu)遷移、數(shù)據(jù)遷移、業(yè)務(wù)遷移這三類,我們需要考慮如下幾個(gè)難點(diǎn):

數(shù)據(jù)類型差異導(dǎo)致數(shù)據(jù)結(jié)構(gòu)遷移過程中需要進(jìn)行改造和處理;

數(shù)據(jù)遷移中 Oracle LOB字段、null值和’’值以及遷移方式為遷移難點(diǎn)。

業(yè)務(wù)遷移中由于MySQL不支持并行、不支持物化視圖,會(huì)涉及到存儲(chǔ)過程改造,同義詞改造,DBlink、sequence、分區(qū)表以及復(fù)雜sql語句的改造。

2、遷移流程

我們需要整理一個(gè)完整的遷移流程:1、確定遷移范圍;2、遷移評(píng)估;3、選擇遷移方式;4、遷移驗(yàn)證,以此來確保遷移工作的進(jìn)展和順利完成。

1)確定遷移范圍

從Oracle遷移到MySQL是一項(xiàng)昂貴且耗時(shí)的任務(wù),重要的是要了解要遷移的范圍,不要浪費(fèi)時(shí)間來遷移不再需要的對(duì)象。另外,檢查是否需要遷移所有的歷史數(shù)據(jù),不要浪費(fèi)時(shí)間來復(fù)制不需要的數(shù)據(jù),例如過去維護(hù)中的備份數(shù)據(jù)和臨時(shí)表。

2)遷移評(píng)估

經(jīng)過初步檢查后,遷移的名列前茅步是分析應(yīng)用程序和數(shù)據(jù)庫(kù)對(duì)象,找出兩個(gè)數(shù)據(jù)庫(kù)之間不兼容的特性,并估算遷移所需的時(shí)間和成本。例如由于Oracle與MySQL之間數(shù)據(jù)結(jié)構(gòu)存在差異,且MySQL不支持并行、不支持物化視圖、8.0以上才支持函數(shù)索引,可能涉及到存儲(chǔ)過程改造,同義詞改造,DBlink、sequence、分區(qū)表以及復(fù)雜sql語句的改造等工作。

3)遷移方式

通過對(duì)遷移所需時(shí)間和成本選擇不同的遷移方法或者工具進(jìn)行遷移,可以分為實(shí)時(shí)復(fù)制(例如利用GoldenGate實(shí)時(shí)同步數(shù)據(jù)使業(yè)務(wù)影響時(shí)間最?。?,或者一次性加載(例如采用 Oracle將數(shù)據(jù)表導(dǎo)出到csv文件后,通過load或者mysqlsh工具導(dǎo)入到MySQL中)。

4)驗(yàn)證測(cè)試

測(cè)試整個(gè)應(yīng)用程序和遷移的數(shù)據(jù)庫(kù)非常重要,因?yàn)閮蓚€(gè)數(shù)據(jù)庫(kù)中的某些功能相同,但是實(shí)現(xiàn)方式和機(jī)制卻是不同的。我們需要做充分的驗(yàn)證測(cè)試:

檢查是否正確轉(zhuǎn)換了所有對(duì)象;

檢查所有DML是否正常工作;

在兩個(gè)數(shù)據(jù)庫(kù)中加載樣本數(shù)據(jù)并檢查結(jié)果,比如來自兩個(gè)數(shù)據(jù)庫(kù)的SQL結(jié)果應(yīng)該相同;

檢查DML及查詢SQL的性能,并在必要時(shí)進(jìn)行SQL改造。

延伸閱讀:

二、為什么要遷移到MySQL

要回答這個(gè)問題,其實(shí)我們的主線就是MySQL可以做什么。

還是成本,開源免費(fèi),方便定制,MySQL的可選方案可絕對(duì)不只有社區(qū)版,還有一系列的分支,比如Percona分支,MariaDB分支,存儲(chǔ)引擎InnoDB,MyRocks等統(tǒng)統(tǒng)都是免費(fèi)可選。

第二是MySQL效率高,足夠輕量級(jí)。MySQL的效率從使用上來說,學(xué)習(xí)周期會(huì)很短,容易上手,而且對(duì)于系統(tǒng)的資源要求不高。

第三是水平擴(kuò)展能力,把Oracle比作地鐵,MySQL比作公交車會(huì)更容易理解,我們可以很輕松的加開公交專線,但是加開地鐵線路那就完全不同了。我覺得這是遷移到MySQL的一個(gè)核心點(diǎn),這也就是為什么很多互聯(lián)網(wǎng)的MySQL規(guī)模動(dòng)輒幾百幾千了,爆發(fā)式增長(zhǎng)的業(yè)務(wù),MySQL擴(kuò)展能力了不是體現(xiàn)在MySQL數(shù)據(jù)庫(kù)本身,而是對(duì)于架構(gòu)的擴(kuò)展性上,而這也就是為什么很多MySQL DBA比較貴的一個(gè)原因。

第四是復(fù)制,這是MySQL相比Oracle的一個(gè)亮點(diǎn),如果需要做跨數(shù)據(jù)中心的復(fù)制,允許存在一定的延遲,使用MySQL原生的復(fù)制方案是一件很容易的事情,MySQL支持很多不同維度的復(fù)制方案。

第五是業(yè)務(wù)輕依賴,這個(gè)可以分為兩個(gè)維度來說。一個(gè)是功能限制,一個(gè)是性能限制。這本身是MySQL功能和性能上的缺失,但是反而是一個(gè)優(yōu)點(diǎn)因?yàn)橐畏植际叫枨?,需要業(yè)務(wù)對(duì)數(shù)據(jù)庫(kù)的依賴要更輕巧一些,原本支持不好的存儲(chǔ)過程就可以很自然的弱化了。

第六是開源帶來的生態(tài)體系,開源紅利帶給企業(yè)的是很多的技術(shù)方案選擇,讓原本需要花錢買的事情變成了我們干我們用。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
什么是軟件即服務(wù)(SaaS)?

一、軟件即服務(wù)(SaaS)的定義軟件即服務(wù)(SaaS)是一種基于云計(jì)算的軟件交付模式,用戶可以通過訂閱或按需使用這些應(yīng)用程序。在傳統(tǒng)模式下,軟...詳情>>

2023-10-14 02:39:43
oracle怎么樣實(shí)現(xiàn)數(shù)據(jù)庫(kù)跨機(jī)房同步?

一、oracle怎么樣實(shí)現(xiàn)數(shù)據(jù)庫(kù)跨機(jī)房同步除了使用第三方工具,Oracle提供了extended cluster可以實(shí)現(xiàn)類似的功能,使用Oracle RAC + ASM。簡(jiǎn)單說下...詳情>>

2023-10-14 01:57:43
web網(wǎng)站性能測(cè)試的常用指標(biāo)有哪些?

一、頁面加載時(shí)間頁面加載時(shí)間是衡量網(wǎng)站性能的重要指標(biāo)之一,它指的是從用戶請(qǐng)求一個(gè)頁面到頁面完全加載完成所需的時(shí)間。頁面加載時(shí)間的長(zhǎng)短直...詳情>>

2023-10-14 01:50:34
MySQL索引為什么能讓查詢效率提高?

一、MySQL索引為什么能讓查詢效率提高DB在執(zhí)行一條Sql語句的時(shí)候,默認(rèn)的方式是根據(jù)搜索條件進(jìn)行全表掃描。如果我們對(duì)某一字段增加索引,查詢時(shí)...詳情>>

2023-10-14 01:38:15
什么是面向云原生系統(tǒng)的智能運(yùn)維?

一、云原生系統(tǒng)概述云原生系統(tǒng)是指在云計(jì)算環(huán)境下構(gòu)建和運(yùn)行的應(yīng)用程序系統(tǒng),具備高可用、彈性擴(kuò)展、靈活部署和自動(dòng)化管理等特點(diǎn)。它采用容器化...詳情>>

2023-10-14 01:25:33
快速通道