943
財經資訊
從本地Oracle遷移到RDS for MySQL__數據遷移_用戶指南_數據傳輸-阿裏雲
使用數據傳輸DTS可以將本地的Oracle的數據遷移至RDS MySQL實例。DTS可以實現結構定義及全量數據的遷移,為保證遷移數據一致性,建議遷移過程中,本地的Oracle停止寫入。
本小節簡單介紹使用DTS進行Oracle->RDS For MySQL數據遷移的任務配置流程。
遷移步驟
對於Oracle->RDS For MySQL的遷移,目前還不支持不停服遷移。隻能支持結構定義及全量數據的遷移。結構遷移及全量數據遷移的限製如下。
結構遷移
DTS會將遷移對象的結構定義遷移到目標實例。目前DTS支持結構遷移的對象有:表。其他對象如視圖、同義詞、觸發器、存儲過程、存儲函數、包、自定義類型等暫不支持。全量遷移
DTS會將源數據庫遷移對象在的數據全部遷移到目標實例。如果遷移過程中,本地Oracle庫有數據寫入的話,那麼這些增量數據不一定能夠被遷移到MySQL中。所以,為保證遷移數據一致性,在遷移過程中,Oracle實例需停止寫入。
遷移權限要求
當使用DTS進行Oracle遷移時,在不同遷移類型情況下,源跟目標數據庫的遷移帳號權限要求如下:
遷移類型 | 結構遷移 | 全量遷移 |
---|---|---|
本地Oracle實例 | schema的owner | schema的owner |
目的RDS MySQL實例 | 待遷入db的讀寫權限 | 待遷入db的讀寫權限 |
遷移流程
數據傳輸服務在進行Oracle->RDS For MySQL的數據遷移時,為了解決對象間的依賴,提高遷移成功率。結構對象及數據的遷移順序如下:
- 結構對象遷移:表的遷移
- 全量數據遷移
- 結構對象遷移:外鍵遷移
當全量數據遷移完成後,任務列表中的遷移進度為: 結構遷移100%,全量遷移100%,但遷移狀態為“遷移中”。此時遷移任務正在進行步驟(3)外鍵的遷移,請勿手動結束任務,否則會造成遷移數據不一致。
數據類型映射關係
由於Oracle跟MySQL的數據類型並不是一一對應的,所以DTS在進行結構遷移時,會根據兩種數據庫類型的數據類型定義,進行類型映射,下麵是數據類型映射關係。
Oracle數據類型 | MySQL數據類型 | DTS是否支持 |
---|---|---|
varchar2(n [char/byte]) | varchar(n) | 支持 |
nvarchar2[(n)] | national varchar[(n)] | 支持 |
char[(n [byte/char])] | char[(n)] | 支持 |
nchar[(n)]] | national char[(n)] | 支持 |
number[(p[,s])] | decimal[(p[,s])] | 支持 |
float(p)] | double | 支持 |
long | longtext | 支持 |
date | datetime | 支持 |
binary_float | decimal(65,8) | 支持 |
binary_double | double | 支持 |
timestamp[(fractional_seconds_precision)] | datetime[(fractional_seconds_precision)] | 支持 |
timestamp[(fractional_seconds_precision)]with local time zone | datetime[(fractional_seconds_precision)] | 支持 |
timestamp[(fractional_seconds_precision)]with local time zone | datetime[(fractional_seconds_precision)] | 支持 |
clob | longtext | 支持 |
nclob | longtext | 支持 |
blob | longblob | 支持 |
raw | varbinary(2000) | 支持 |
long raw | longblob | 支持 |
bfile | — | 不支持 |
interval year(year_precision) to mongth | — | 不支持 |
interval day(day_precision) to second[(fractional_seconds_precision)] | — | 不支持 |
- 對於char類型,當char(n)的定義長度n超過255時,DTS會自動將類型轉換為varchar(n)。
- 由於MySQL本身不支持類似Oracle中的bfile、interval year to month、interval day to second這種數據類型,所以DTS在進行結構遷移時,這三種類型不會進行轉化,遷移時如果表中含有這三種類型,會導致結構遷移失敗,用戶根據業務需求,將這三種類型修改成MySQL中對應的數據類型即可。
- 由於MySQL的timestamp類型不包含時區,而Oracle的timestamp with [local] time zone帶時區,所以DTS在遷移這兩種類型的數據時,會將其轉換成UTC時區後,存入MySQL。
遷移步驟
下麵詳細介紹下使用DTS將本地的Oracle遷移到RDS for MySQL的任務配置流程。
RDS實例數據庫創建
在數據遷移過程中,如果待遷移的數據庫在目標RDS實例中不存在,那麼DTS自動會創建。但是對於如下兩種情況,用戶需要在配置遷移任務之前,手動創建數據庫。
- 數據庫名稱不符合:RDS定義規範(由小寫字母、數字、下劃線、中劃線組成,字母開頭,字母或數字結尾,最長64個字符)。
- 待遷移數據庫,在Oracle跟目標RDS實例中名稱不同。
對於這兩種情況,用戶需要在配置遷移任務之前,先在RDS控製台完成數據庫創建。具體參考RDS數據庫創建流程RDS使用手冊。
遷移帳號創建
遷移任務配置,需要提供Oracle數據庫及目標RDS實例的遷移賬號。遷移賬號所需權限詳見上文的 遷移權限要求。
如果您的Oracle實例的遷移賬號尚未創建,那麼您可以參考 Oracle Grant語法說明,創建滿足要求的遷移賬號。
RDS For MySQL 遷移賬號的創建及授權操作詳見RDS使用手冊RDS使用手冊。
遷移任務配置
當上麵的所有前置條件都配置完成後,就可以開始遷移任務配置。下麵詳細介紹下具體的遷移步驟。
- 進入數據傳輸DTS控製台,點擊右上角的創建遷移任務,正式開始任務配置。
本地Oracle及目標RDS實例的連接信息配置。
這個步驟主要配置 遷移任務名稱,Oracle連接信息及目標RDS實例連接信息。其中:
任務名稱
DTS為每個任務自動生成一個任務名稱,任務名稱沒有唯一性要求。您可以根據需要修改任務名稱,建議為任務配置具有業務意義的名稱,便於後續的任務識別。
源實例信息
- 實例類型:選擇 有公網IP的自建數據庫
- 數據庫類型: 選擇 Oracle
- 主機名或IP地址: 配置Oracle訪問地址,這個地址必須為公網訪問方式
- 端口:Oracle實例的監聽端口
- SID:Oracle實例的SID
- 賬號:Oracle實例的連接賬號
- 密碼:上麵Oracle連接賬號對應的密碼
目標實例信息
- 實例類型:選擇 RDS實例
- RDS實例ID: 配置遷移的目標RDS實例的實例ID。 DTS支持經典網 絡、VPC網絡的RDS實例
- 賬號:RDS實例的連接賬號
- 密碼:上麵RDS實例連接賬號對應的密碼
當配置完連接信息後,點擊右下角 授權白名單並進入下一步 進行白名單授權。這個步驟DTS會將DTS服務器的IP地址添加到目標RDS實例的白名單中,避免因為RDS實例設置了白名單,導致DTS服務器連接不上RDS實例導致遷移失敗。
遷移對象及遷移類型配置。
遷移類型包括:結構遷移、全量數據遷移。默認選擇 結構遷移+全量數據遷移。
遷移對象,需要選擇您要遷移的對象。遷移對象選擇的粒度可以為:庫、表、列三個粒度。
默認情況下,對象遷移到RDS實例後,對象名跟Oracle一致。如果您遷移的對象在源實例跟目標實例上名稱不同,那麼需要使用DTS提供的對象名映射功能,詳細使用方式可以參考庫表列映射。當配置完遷移對象及遷移類型後,即進入任務啟動前的預檢查步驟。
任務預檢查。
在遷移任務正式啟動之前,會先進行前置預檢查,隻有預檢查通過後,才能成功啟動遷移。
如果預檢查失敗,那麼可以點擊具體檢查項後的按鈕,查看具體的失敗詳情,並根據失敗原因修複後,重新進行預檢查。
啟動遷移任務。
當預檢查通過後,我們可以啟動遷移任務,任務啟動後,可以到任務列表中查看任務具體的遷移狀態及進度。
至此,完成將本地Oracle數據庫到RDS For MySQL的數據遷移任務配置。
最後更新:2016-11-23 16:03:55
上一篇:
預檢查失敗修複__數據遷移_用戶指南_數據傳輸-阿裏雲
下一篇:
從本地MySQL遷移到RDS for MySQL__數據遷移_用戶指南_數據傳輸-阿裏雲
修改備份策略__備份恢複_API 參考_雲數據庫 RDS 版-阿裏雲
開通MNS服務__快速入門_消息服務-阿裏雲
InstanceTypeItemType__數據類型_API 參考_雲服務器 ECS-阿裏雲
短信簽名和短信模板的審核要求__常見問題_短信服務-阿裏雲
查詢UV數據__資源監控接口_API 手冊_CDN-阿裏雲
短信或郵件報網站後門__產品常見問題_服務器安全(安騎士)-阿裏雲
AssumedRoleUser__數據類型_STS API文檔_訪問控製-阿裏雲
其他語句說明__用戶指南_雲數據庫 PetaData-阿裏雲
官網購買__購買渠道_購買指南_雲服務器 ECS-阿裏雲
修改RDS實例備注__實例管理_API 參考_雲數據庫 RDS 版-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲