本篇內(nèi)容介紹了“怎么使用DTS進(jìn)行自建Oracle間的數(shù)據(jù)遷移”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
從網(wǎng)站建設(shè)到定制行業(yè)解決方案,為提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)服務(wù)體系,各種行業(yè)企業(yè)客戶提供網(wǎng)站建設(shè)解決方案,助力業(yè)務(wù)快速發(fā)展。創(chuàng)新互聯(lián)公司將不斷加快創(chuàng)新步伐,提供優(yōu)質(zhì)的建站服務(wù)。
源和目標(biāo)Oracle數(shù)據(jù)庫(kù)的版本為9i、10g、11g、12c、18c或19c版本。
說(shuō)明 為保障兼容性,建議源和目標(biāo)庫(kù)的版本保持一致,請(qǐng)勿跨版本遷移。
源Oracle數(shù)據(jù)庫(kù)已開(kāi)啟Supplemental Logging,且要求開(kāi)啟supplemental_log_data_pk和supplemental_log_data_ui,詳情請(qǐng)參見(jiàn) Supplemental Logging。
源Oracle數(shù)據(jù)庫(kù)已開(kāi)啟ARCHIVELOG(歸檔模式),設(shè)置合理的歸檔日志保持周期且允許訪問(wèn)歸檔日志,詳情請(qǐng)參見(jiàn) ARCHIVELOG。
目標(biāo)Oracle中用于創(chuàng)建數(shù)據(jù)庫(kù)的存儲(chǔ)空間須大于源Oracle數(shù)據(jù)庫(kù)占用的存儲(chǔ)空間。
DTS在執(zhí)行全量數(shù)據(jù)遷移時(shí)將占用源庫(kù)和目標(biāo)庫(kù)一定的讀寫資源,可能會(huì)導(dǎo)致數(shù)據(jù)庫(kù)的負(fù)載上升,在數(shù)據(jù)庫(kù)性能較差、規(guī)格較低或業(yè)務(wù)量較大的情況下(例如源庫(kù)有大量慢SQL、存在無(wú)主鍵表或目標(biāo)庫(kù)存在死鎖等),可能會(huì)加重?cái)?shù)據(jù)庫(kù)壓力,甚至導(dǎo)致數(shù)據(jù)庫(kù)服務(wù)不可用。因此您需要在執(zhí)行數(shù)據(jù)遷移前評(píng)估源庫(kù)和目標(biāo)庫(kù)的性能,同時(shí)建議您在業(yè)務(wù)低峰期執(zhí)行數(shù)據(jù)遷移(例如源庫(kù)和目標(biāo)庫(kù)的CPU負(fù)載在30%以下)。
如果源數(shù)據(jù)庫(kù)沒(méi)有主鍵或唯一約束,且所有字段沒(méi)有唯一性,可能會(huì)導(dǎo)致目標(biāo)數(shù)據(jù)庫(kù)中出現(xiàn)重復(fù)數(shù)據(jù)。
對(duì)于遷移失敗的任務(wù),DTS會(huì)觸發(fā)自動(dòng)恢復(fù)。在您將業(yè)務(wù)切換至目標(biāo)實(shí)例前,請(qǐng)務(wù)必先結(jié)束或釋放該任務(wù),避免該任務(wù)被自動(dòng)恢復(fù)后,導(dǎo)致源端數(shù)據(jù)覆蓋目標(biāo)實(shí)例的數(shù)據(jù)。
進(jìn)行數(shù)據(jù)遷移操作的Oracle數(shù)據(jù)庫(kù)支持以下實(shí)例類型:
有公網(wǎng)IP的自建數(shù)據(jù)庫(kù)
ECS上的自建數(shù)據(jù)庫(kù)
通過(guò)專線/VPN網(wǎng)關(guān)/智能網(wǎng)關(guān)接入的自建數(shù)據(jù)庫(kù)
本文以ECS上的自建數(shù)據(jù)庫(kù)為例介紹配置流程,其他類型的自建Oracle數(shù)據(jù)庫(kù)配置流程與該案例類似。
遷移類型 | 鏈路配置費(fèi)用 | 公網(wǎng)流量費(fèi)用 |
---|---|---|
結(jié)構(gòu)遷移/全量數(shù)據(jù)遷移 | 不收費(fèi)。 | 通過(guò)公網(wǎng)將數(shù)據(jù)遷移出阿里云時(shí)將收費(fèi),詳情請(qǐng)參見(jiàn) 產(chǎn)品定價(jià)。 |
增量數(shù)據(jù)遷移 | 收費(fèi),詳情請(qǐng)參見(jiàn) 產(chǎn)品定價(jià)。 |
遷移類型 | 說(shuō)明 |
---|---|
結(jié)構(gòu)遷移 | DTS將遷移對(duì)象的結(jié)構(gòu)定義遷移到目標(biāo)Oracle數(shù)據(jù)庫(kù)中。目前DTS支持的對(duì)象為表、視圖、同義詞、觸發(fā)器、存儲(chǔ)過(guò)程、存儲(chǔ)函數(shù)、包和自定義類型。 說(shuō)明 不兼容觸發(fā)器,當(dāng)遷移對(duì)象包含了觸發(fā)器可能導(dǎo)致數(shù)據(jù)不一致。 |
全量數(shù)據(jù)遷移 | DTS會(huì)將源Oracle數(shù)據(jù)庫(kù)遷移對(duì)象的存量數(shù)據(jù),全部遷移至目標(biāo)Oracle數(shù)據(jù)庫(kù)中。 說(shuō)明 在結(jié)構(gòu)遷移和全量數(shù)據(jù)遷移完成之前,請(qǐng)勿對(duì)遷移對(duì)象執(zhí)行DDL操作,否則可能導(dǎo)致遷移失敗。 |
增量數(shù)據(jù)遷移 | DTS在全量數(shù)據(jù)遷移的基礎(chǔ)上輪詢并捕獲源Oracle數(shù)據(jù)庫(kù)產(chǎn)生的redo log,將源Oracle數(shù)據(jù)庫(kù)的增量更新數(shù)據(jù)同步到目標(biāo)Oracle數(shù)據(jù)庫(kù)中。通過(guò)增量數(shù)據(jù)遷移可以實(shí)現(xiàn)在應(yīng)用不停服的情況下,平滑地完成Oracle數(shù)據(jù)庫(kù)的遷移。 |
INSERT、UPDATE、DELETE
CREATE TABLE
說(shuō)明 不支持分區(qū)表、表內(nèi)定義包含函數(shù)的表。
ALTER TABLE、DROP TABLE、RENAME TABLE、CREATE INDEX、ADD INDEX
遷移數(shù)據(jù)源 | 結(jié)構(gòu)遷移 | 全量遷移 | 增量數(shù)據(jù)遷移 |
---|---|---|---|
源Oracle數(shù)據(jù)庫(kù) | schema的owner權(quán)限 | schema的owner權(quán)限 | SYSDBA |
目標(biāo)Oracle數(shù)據(jù)庫(kù) | schema的owner權(quán)限 | schema的owner權(quán)限 | schema的owner權(quán)限 |
說(shuō)明 Oracle數(shù)據(jù)庫(kù)賬號(hào)的創(chuàng)建及授權(quán)方法請(qǐng)參見(jiàn) CREATE USER和 GRANT。
登錄 數(shù)據(jù)傳輸控制臺(tái)。
在左側(cè)導(dǎo)航欄,單擊數(shù)據(jù)遷移。
在遷移任務(wù)列表頁(yè)面頂部,選擇遷移的目標(biāo)集群所屬地域。
單擊頁(yè)面右上角的創(chuàng)建遷移任務(wù)。
配置遷移任務(wù)的源庫(kù)及目標(biāo)庫(kù)信息。
類別 | 配置 | 說(shuō)明 |
---|---|---|
任務(wù)名稱 | - | DTS會(huì)自動(dòng)生成一個(gè)任務(wù)名稱,建議配置具有業(yè)務(wù)意義的名稱(無(wú)唯一性要求),便于后續(xù)識(shí)別。 |
源庫(kù)信息 | 實(shí)例類型 | 選擇ECS上的自建數(shù)據(jù)庫(kù)。 |
實(shí)例地區(qū) | 選擇部署了源Oracle數(shù)據(jù)庫(kù)的ECS實(shí)例所屬的地域。 | |
ECS實(shí)例ID | 選擇部署了源Oracle數(shù)據(jù)庫(kù)的ECS實(shí)例ID。 | |
數(shù)據(jù)庫(kù)類型 | 選擇Oracle。 | |
端口 | 填入源Oracle數(shù)據(jù)庫(kù)的服務(wù)端口。 | |
實(shí)例類型 | ||
數(shù)據(jù)庫(kù)賬號(hào) | 填入源Oracle的數(shù)據(jù)庫(kù)賬號(hào),權(quán)限要求請(qǐng)參見(jiàn) 數(shù)據(jù)庫(kù)賬號(hào)的權(quán)限要求。 | |
數(shù)據(jù)庫(kù)密碼 | 填入該數(shù)據(jù)庫(kù)賬號(hào)對(duì)應(yīng)的密碼。 說(shuō)明 源庫(kù)信息填寫完畢后,您可以單擊數(shù)據(jù)庫(kù)密碼后的測(cè)試連接來(lái)驗(yàn)證填入的源庫(kù)信息是否正確。源庫(kù)信息填寫正確則提示測(cè)試通過(guò);如果提示測(cè)試失敗,單擊測(cè)試失敗后的診斷,根據(jù)提示調(diào)整填寫的源庫(kù)信息。 | |
目標(biāo)庫(kù)信息 | 實(shí)例類型 | 選擇ECS上的自建數(shù)據(jù)庫(kù)。 |
實(shí)例地區(qū) | 選擇部署了目標(biāo)Oracle數(shù)據(jù)庫(kù)的ECS實(shí)例所屬的地域。 | |
ECS實(shí)例ID | 選擇部署了目標(biāo)Oracle數(shù)據(jù)庫(kù)的ECS實(shí)例ID。 | |
數(shù)據(jù)庫(kù)類型 | 選擇Oracle。 | |
端口 | 填入目標(biāo)Oracle數(shù)據(jù)庫(kù)的服務(wù)端口。 | |
實(shí)例類型 | ||
數(shù)據(jù)庫(kù)賬號(hào) | 填入目標(biāo)Oracle的數(shù)據(jù)庫(kù)賬號(hào),權(quán)限要求請(qǐng)參見(jiàn) 數(shù)據(jù)庫(kù)賬號(hào)的權(quán)限要求。 | |
數(shù)據(jù)庫(kù)密碼 | 填入該數(shù)據(jù)庫(kù)賬號(hào)對(duì)應(yīng)的密碼。 說(shuō)明 目標(biāo)庫(kù)信息填寫完畢后,您可以單擊數(shù)據(jù)庫(kù)密碼后的測(cè)試連接來(lái)驗(yàn)證填入的目標(biāo)庫(kù)信息是否正確。目標(biāo)庫(kù)信息填寫正確則提示測(cè)試通過(guò);如果提示測(cè)試失敗,單擊測(cè)試失敗后的診斷,根據(jù)提示調(diào)整填寫的目標(biāo)庫(kù)信息。 |
非RAC實(shí)例:選擇該項(xiàng)后,您還需要填寫SID信息。
RAC實(shí)例:選擇該項(xiàng)后,您還需要填寫ServiceName信息。
非RAC實(shí)例:選擇該項(xiàng)后,您需要填寫SID信息。
RAC實(shí)例:選擇該項(xiàng)后,您需要填寫ServiceName信息。
配置完成后,單擊頁(yè)面右下角的授權(quán)白名單并進(jìn)入下一步。
選擇遷移對(duì)象及遷移類型。
配置 | 說(shuō)明 |
---|---|
遷移類型 | 說(shuō)明 關(guān)于遷移類型的詳細(xì)說(shuō)明請(qǐng)參見(jiàn) 遷移類型說(shuō)明。 |
遷移對(duì)象 | 在遷移對(duì)象框中單擊待遷移的對(duì)象,然后單擊將其移動(dòng)至已選擇對(duì)象框。 說(shuō)明 |
遷移對(duì)象選擇的粒度為庫(kù)、表、列。
默認(rèn)情況下,遷移完成后,遷移對(duì)象名跟源Oracle數(shù)據(jù)庫(kù)中的一致。如果您需要改變遷移對(duì)象在目標(biāo)Oracle數(shù)據(jù)庫(kù)中的名稱,需要使用對(duì)象名映射功能,詳情請(qǐng)參見(jiàn) 庫(kù)表列映射。
如果使用了對(duì)象名映射功能,可能會(huì)導(dǎo)致依賴這個(gè)對(duì)象的其他對(duì)象遷移失敗。
如果只需要進(jìn)行全量遷移,則同時(shí)勾選結(jié)構(gòu)遷移和全量數(shù)據(jù)遷移。
說(shuō)明 為保障數(shù)據(jù)一致性,全量數(shù)據(jù)遷移期間請(qǐng)勿在源Oracle數(shù)據(jù)庫(kù)中寫入新的數(shù)據(jù)。
如果需要進(jìn)行不停機(jī)遷移,則同時(shí)勾選結(jié)構(gòu)遷移、全量數(shù)據(jù)遷移和增量數(shù)據(jù)遷移。
單擊頁(yè)面右下角的預(yù)檢查并啟動(dòng)。
說(shuō)明
在遷移任務(wù)正式啟動(dòng)之前,會(huì)先進(jìn)行預(yù)檢查。只有通過(guò)預(yù)檢查,DTS才能遷移數(shù)據(jù)。
如果預(yù)檢查失敗,單擊具體檢查項(xiàng)后的,查看失敗詳情。根據(jù)提示修復(fù)后,重新進(jìn)行預(yù)檢查。
預(yù)檢查通過(guò)后,單擊下一步。
在彈出的購(gòu)買配置確認(rèn)對(duì)話框,選擇鏈路規(guī)格并勾選數(shù)據(jù)傳輸(按量付費(fèi))服務(wù)條款。
單擊購(gòu)買并啟動(dòng),遷移任務(wù)正式開(kāi)始。
結(jié)構(gòu)遷移+全量數(shù)據(jù)遷移
請(qǐng)勿手動(dòng)結(jié)束遷移任務(wù),否則可能會(huì)導(dǎo)致數(shù)據(jù)不完整。您只需等待遷移任務(wù)完成即可,遷移任務(wù)會(huì)自動(dòng)結(jié)束。
結(jié)構(gòu)遷移+全量數(shù)據(jù)遷移+增量數(shù)據(jù)遷移
遷移任務(wù)不會(huì)自動(dòng)結(jié)束,您需要手動(dòng)結(jié)束遷移任務(wù)。
說(shuō)明 請(qǐng)選擇合適的時(shí)間手動(dòng)結(jié)束遷移任務(wù),例如業(yè)務(wù)低峰期或準(zhǔn)備將業(yè)務(wù)切換至目標(biāo)集群時(shí)。
觀察遷移任務(wù)的進(jìn)度變更為增量遷移,并顯示為無(wú)延遲狀態(tài)時(shí),將源庫(kù)停寫幾分鐘,此時(shí)增量遷移的狀態(tài)可能會(huì)顯示延遲的時(shí)間。
等待遷移任務(wù)的增量遷移再次進(jìn)入無(wú)延遲狀態(tài)后,手動(dòng)結(jié)束遷移任務(wù)。
“怎么使用DTS進(jìn)行自建Oracle間的數(shù)據(jù)遷移”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!