DTS控制臺一本通-云運維工程師從入門到精通_第1頁
DTS控制臺一本通-云運維工程師從入門到精通_第2頁
DTS控制臺一本通-云運維工程師從入門到精通_第3頁
DTS控制臺一本通-云運維工程師從入門到精通_第4頁
DTS控制臺一本通-云運維工程師從入門到精通_第5頁
已閱讀5頁,還剩138頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第一章什么是DTS6第二章DTS概覽頁7第三章DTS數(shù)據(jù)遷移83.1地域83.2文件導(dǎo)入83.3創(chuàng)建遷移任務(wù)頁面93.3.1實例類型103.3.2實例地區(qū)163.3.3端口183.3.4數(shù)據(jù)庫類型183.3.5數(shù)據(jù)庫賬號193.3.6數(shù)據(jù)庫密碼213.3.7連接方式213.3.8測試連接223.3.9授權(quán)白名單并進入下一步233.3.10遷移類型263.3.11預(yù)檢查并啟動283.3.12立即購買并啟動323.4任務(wù)列表333.4.1ID/名稱3.4.2查看原因并修復(fù)433.4.3啟動任務(wù)444>3.4.4查看詳情443.4.5創(chuàng)建類似任務(wù)453.4.6升級453.4.7監(jiān)控報警463.4.8修改密碼463.4.9暫停任務(wù)463.4.10結(jié)束任務(wù)493.4.11釋放任務(wù)49第四章DTS數(shù)據(jù)訂閱504.1創(chuàng)建數(shù)據(jù)訂閱頁面504.1.1商品類型514.1.2功能514.1.3訂閱實例類型514.1.4源實例地域-訂閱524.2任務(wù)列表524.2.1配置訂閱通道524.2.3消費時間點614.2.4數(shù)據(jù)范圍614.2.5修改訂閱對象614.2.6新增消費組614.2.7更多614.3使用Client訂閱數(shù)據(jù)4.3.1下載示例代碼624.3.2導(dǎo)入示例代碼624.3.3配置Client644.3.4啟動Client664.3.5打印消費信息66第五章DTS數(shù)據(jù)同步685.1地域695.2創(chuàng)建同步作業(yè)頁面695.2.1商品類型695.2.2功能705.2.3源實例705.2.4源實例地域705.2.5目標實例5.2.6目標實例地域705.2.7同步拓撲705.2.8網(wǎng)絡(luò)類型725.2.9同步鏈路規(guī)格725.3任務(wù)列表725.3.1配置同步鏈路735.3.3同步概況785.3.4暫停任務(wù)785.3.5升級795.3.6更多79第六章操作日志83第一章什么是DTSDTS全稱為數(shù)據(jù)傳輸服務(wù)DTS,它最常見的用途是把本地數(shù)據(jù)庫的數(shù)據(jù)遷移、同步到阿里云,或者把阿里云的數(shù)據(jù)遷移、同步到本地。它更多的是一個數(shù)據(jù)遷移產(chǎn)品,它最終做的事情就是把數(shù)據(jù)從源端抽取(復(fù)制源端數(shù)據(jù),源端數(shù)據(jù)依然還在)然后寫入到目標端。另外,它還提供數(shù)據(jù)訂閱的功能(關(guān)于數(shù)據(jù)訂閱,后面章節(jié)會進行討論支持對增量數(shù)據(jù)進行訂閱。簡單的可以理解成下圖這種架構(gòu)圖1-1第二章DTS概覽頁概覽頁應(yīng)該是每一個多地域部署售賣的阿里云產(chǎn)品,都應(yīng)該提供的功能。DTS概覽頁展示了當前賬戶下,各個地域下,不同DTS任務(wù)類型的分布情況。如下圖2-1。點擊對應(yīng)的數(shù)字,可以跳轉(zhuǎn)到具體的任務(wù)列表。圖2-1如果遇到概覽頁展示存在DTS實例,而點擊數(shù)字進行跳轉(zhuǎn),或者在實際的遷移頁面并沒有實例存在,這個問題一般是后臺數(shù)據(jù)問題需要阿里云進行訂正。第三章DTS數(shù)據(jù)遷移數(shù)據(jù)遷移可以把源端數(shù)據(jù)庫的數(shù)據(jù)遷移到目標端(遷移不會影響源端數(shù)據(jù)庫的數(shù)據(jù),也不會導(dǎo)致源端數(shù)據(jù)庫的數(shù)據(jù)丟失數(shù)據(jù)遷移只支持后付費(按量付費該頁面展示了當前賬戶下各個地域的數(shù)據(jù)遷移實例的運行狀態(tài),如圖3-1。您還可以在這①②①③圖3-13.1地域圖2-1標記①處為地域信息,此處可以切換各個地域查看不同地域的實例信息。3.2文件導(dǎo)入圖3-1標記②的“文件導(dǎo)入”功能,是使用DTS提供的一個客戶端工具,將工具部署在本地,使用該工具將本地數(shù)據(jù)庫導(dǎo)出的文件,然后上傳,實現(xiàn)導(dǎo)入功能,相當于我們自己導(dǎo)出文件然后導(dǎo)入一樣,如圖3-2,該功能已經(jīng)不再支持使用,請圖3-3圖3-23.3創(chuàng)建遷移任務(wù)頁面進入DTS遷移任務(wù)的配置界面,如圖3-3,需要注意:DTS目前的實現(xiàn)是邏輯遷移。邏輯遷移的意思是指DTS會借助SELECT的方式抽取源庫已存在的數(shù)據(jù),然后再通過INSERT的方式寫入到目標庫。 DTS遷移任務(wù)主要分為2部分進行配置,即源庫信息和目標庫信息,源庫是指要使用DTS遷移的源端的數(shù)據(jù)庫,目標庫是指待遷入數(shù)據(jù)的數(shù)據(jù)庫。比如我們要把MySQLA數(shù)據(jù)庫的數(shù)據(jù)遷移到MySQLB數(shù)據(jù)庫,這里,MySQLA數(shù)據(jù)庫A就是源庫。目標庫就是MySQLB數(shù)據(jù)庫。下面對源庫以及目標庫配置過程的具體項目進3.3.1實例類型如圖3-3,顧名思義,就是DTS支持遷移的源端數(shù)據(jù)庫接入的類型,并且DTS對不同的接入類型的實例,有不同的支持粒度,主要分為如下幾種。無論是哪一種,最終實現(xiàn)的核心目的是能讓DTS的服務(wù)器集群連接到源端或者目標端的數(shù)據(jù)庫。這是最簡單的一種接入類型,就是指您的源端的數(shù)據(jù)庫有公網(wǎng)IP地址,這個地址允許其他程序(這里特指DTS)可以通過您的公網(wǎng)IP連接到您的源端數(shù)據(jù)庫,這種實例類型配置比較靈活,但是容易受到公網(wǎng)網(wǎng)絡(luò)環(huán)境的影響,進而影響遷移的速率。當我們選擇這個類型時,頁面的信息也會按照“有公網(wǎng)IP自建的數(shù)據(jù)庫”進行展示,如圖3-4。您需要把源端數(shù)據(jù)庫的公網(wǎng)連接地址填寫到“主機名或者IP地址”里,這個需要再次強調(diào),這個IP地址必須能夠讓DTS服務(wù)器訪問到,即連通性必須正常。如果連通性有問題,在“測試連接”時會出錯。我們會在“測試連接”部分詳細這里指的IP并不是只可以填寫IP,也可以填寫域名(比如RDS的公網(wǎng)連接字自建MySQL數(shù)據(jù)庫一般都有一個參數(shù)bind_address,這個是指MySQL接受(監(jiān)聽)來自于哪個IPV4或者IPV6地址的連接,為了避免出現(xiàn)DTS無法連接的情況,建議設(shè)置成“*”或者“”。請一定確保,自建數(shù)據(jù)庫所在主機的防火墻沒有攔截DTS服務(wù)器地址的入方向的訪問。服務(wù)器地址我們會在“3.3.2實例地區(qū)”討論。圖3-4相比公網(wǎng)的不安全而言。這個方式實現(xiàn)了非“公網(wǎng)”傳輸。但是這里的非“公網(wǎng)”傳輸需要借助其他的產(chǎn)品來實現(xiàn),這些產(chǎn)品是:高速通道專線、智能接入網(wǎng)關(guān)、VPN網(wǎng)關(guān)。它們最終實現(xiàn)的是把本地自建數(shù)據(jù)庫和阿里云的鏈路打通。通過非“公網(wǎng)”的方式進行連接。最終只要連通性正常。就可以進行傳輸。如下圖3-5。這里有雖然它們都可以實現(xiàn)非“公網(wǎng)”方式連接。但是實現(xiàn)方式是不一樣的。專線才是真正意義上的內(nèi)網(wǎng)傳輸。而智能接入網(wǎng)關(guān)和VPN網(wǎng)關(guān)都是依賴公網(wǎng)選擇這個方式,需要填寫VPCID(“已和源端數(shù)據(jù)庫聯(lián)通的VPC”)這里不是隨便填寫一個VPCID就可以了。這個VPCID必須進行了高速通道專線、智能接入網(wǎng)關(guān)、VPN網(wǎng)關(guān)的相關(guān)配置打通了鏈路才可以。沒有做任何配置的VPCID即使填寫上也無法聯(lián)通(測試連接會出錯)。具體配置方式涉 雖然這里特指的是“自建數(shù)據(jù)庫”,但是只要是通過這三種方式實現(xiàn)網(wǎng)絡(luò)可達的(比如VPC下的RDS),都可以使用這個方式進行傳輸?!癐P地址”這部分,只可以填寫IP地址。如何填寫域名或者字符會提示“請輸之間路由,配置路由需要參考:/document_detail/117525.html?spm=a2c4g.11186623.6.590.2d2f6487R0gxRt。圖3-5如下圖3-6,選擇這個接入方式,也可以實現(xiàn)非“公網(wǎng)”接入。它的實現(xiàn)方式是要在源端數(shù)據(jù)庫所在的主機上安裝一個數(shù)據(jù)庫網(wǎng)關(guān)。這個數(shù)據(jù)庫網(wǎng)關(guān)與智能接入網(wǎng)關(guān)、VPN網(wǎng)關(guān)相似,依賴于公網(wǎng)。但是免去了復(fù)雜的配置步驟與較高的成本。這種這里配置時需要選擇“數(shù)據(jù)庫網(wǎng)關(guān)ID”,這里不是選擇了ID就可以了,還需圖3-7圖3-通過云企業(yè)網(wǎng)CEN接入的自建數(shù)據(jù)庫的接入方式,即它并不是專線、VPN這種連接能力。它是一個能力提供者或者平臺。它提供一種組網(wǎng)的能力,可以實現(xiàn)專線、VPN等的網(wǎng)絡(luò)互通與管理。選擇這個接入方式后,需要選擇“云企業(yè)網(wǎng)實例ID”以及“已和源庫互聯(lián)的VPC網(wǎng)絡(luò)”。這里特指圖3-9 ECS上的自建數(shù)據(jù)庫顧名思義,就是指在阿里云ECS服務(wù)器上搭建的自建數(shù)據(jù)庫,如下圖3-8,選擇這個接入方式非常適合ECS服務(wù)器上的數(shù)據(jù)庫進行遷移。您只需要選擇對應(yīng)的ECS服務(wù)器有安全組的限制。正常情況下,當選擇完ECS的實例ID,填寫完數(shù)據(jù)庫的連接信息,然后點擊DTS源端數(shù)據(jù)庫的“測試連接”后,DTS會自動把DTS服務(wù)器的IP端添加到ECS的安全組里面。如圖3-9。如果您遇除了安全組,ECS上部署的操作系統(tǒng)內(nèi)還有防火墻,請確保防火墻也做了響圖3-8這里特指您購買的阿里云的RDS數(shù)據(jù)庫實例,如下圖3-10,選擇這個接入方式后,只需要填寫對應(yīng)的“RDS實例ID”以及賬密即可。DTS后臺會自動的通過實例ID查詢對應(yīng)RDS的連接地址和端口。并且,DTS還支持“其他阿里云賬號下的RDS實例”的遷移。您可以在阿里云B賬號下遷移阿里云A賬號的RDS數(shù)據(jù)庫??缳~號遷移的操作與配置比較復(fù)雜,可以參考該云棲文檔:https://yq.aliyun.com/articles/353204?spm=a2c4e.111554ff363b5zVAhec。RDS數(shù)據(jù)庫產(chǎn)品有一個安全限制,就是白名單。同“ECS上的自建數(shù)據(jù)庫”的自動添加安全組行為類似,DTS也會自動把DTS服務(wù)器的地址段添加到RDS數(shù)據(jù)庫的白名單中。添加完后的白名單信息您無法在云RDS圖3-10這里特指您購買的阿里云的MONGODB數(shù)據(jù)庫實例,如下圖3-11,選擇這個接入方式后,只需要填寫對應(yīng)的云MONGODB的實例ID、認正數(shù)據(jù)庫以及賬密即可。同“RDS實例”的自動添加白名單行為一樣,DTS也會自動把DTS服務(wù)器的地址段添加到云MONGODB數(shù)據(jù)庫的白名單中。添加完后的白名單信息您無法在云MONGODB的白名單頁面看 圖3-11這里特指您購買的阿里云的PolarDB數(shù)據(jù)庫實例,如下圖3-12,選擇這個接入方式后,只需要填寫對應(yīng)的云PolarDB的實例ID以及相關(guān)的連接信息即可。同“RDS實例”的自動添加白名單行為一樣,DTS也會自動把DTS服務(wù)器的地址段添加到云PolarDB數(shù)據(jù)庫的白名單中。添加完后的白名單信息您無法在云PolarDB的白名單頁面看到。圖3-123.3.2實例地區(qū)圖3-3中的“實例地區(qū)”選擇后也就意味著DTS會使用這個地區(qū)的服務(wù)器圖3-13(DTS在很多地區(qū)都部署了服務(wù)器)連接源端數(shù)據(jù)庫進行數(shù)據(jù)的抽取和傳輸(簡單說如果實例類型選擇的是“有公網(wǎng)IP自建的數(shù)據(jù)庫”,實例地區(qū)這里理論上選擇任何一個都可以(因為公網(wǎng)IP任何地方都可達建議選擇與數(shù)據(jù)庫所在地域物理距離相近的地區(qū)。比如自建數(shù)據(jù)庫的機房在北京,則建議選擇華北2除“有公網(wǎng)IP自建的數(shù)據(jù)庫”外的其他實例類型在選擇實例地區(qū)時,則需要按照實例所在的地域進行選擇。比如RDS實例在華東1,則地域必須選擇華東1。這樣的話,DTS的華東1服務(wù)器集群才可以正常連接華東1的RDS。重點再說明一下實例類型部分說明的問題,因為DTS的服務(wù)器非常多,為了能夠讓DTS順利的鏈接上源端的數(shù)據(jù)庫,假設(shè)您源端數(shù)據(jù)庫做了防火墻(自建)、安全組(ECS)、白名單(RDS)等安全設(shè)置,您還需要把DTS這個地區(qū)的所有服務(wù)器(有的客戶不想放行所有服務(wù)器,這個暫時無法滿足)的地址進行服務(wù)器的網(wǎng)段點擊圖3-3的“獲取DTSIP段”查看,如下圖3-13。 3.3.3端口圖3-3的“端口”部分用來指定需要DTS訪問的數(shù)據(jù)庫端口,只有某些實例類型才需要填寫該項目。指定了IP只能說明您的數(shù)據(jù)庫運行在這臺主機上,但是這臺主機上可能運行了很多的應(yīng)用程序。端口就用來說明要訪問哪個應(yīng)用程序。請注意您的網(wǎng)絡(luò)防火墻或者安全組(特指ECS)配置。對對應(yīng)端口的訪問進行放行。3.3.4數(shù)據(jù)庫類型圖3-3的“數(shù)據(jù)庫類型”部分用來選擇遷移的數(shù)據(jù)庫類型,目前阿里云DTS支持的源端數(shù)據(jù)庫類型有:Oracle、MySQL、SQLServDB2、TIDB。這里需要正確的選擇源端數(shù)據(jù)庫的類型,如果您源端是MySQL則需要選擇MySQL。您選擇什么樣的數(shù)據(jù)庫類型意味著DTS的應(yīng)用程序使用哪種數(shù)據(jù)源庫的數(shù)據(jù)庫類型與目標庫的數(shù)據(jù)庫類型建議一致,因為兼容性最好。以下圖3-14為例,當選擇實例類型為RDS,實例ID是一臺MySQL實例時,目標端數(shù)據(jù)庫類型或者實例類型時會展示出SQLServer、Postgresql。目前DTS除了支持MySQL->Oracle、Mysql->Postgresql、MySQL->MySQL、MySQL->PolarDBMySQL、MySQL->AnalyticDBMySQL、MySQL->DRDS外,其他的數(shù)據(jù)庫類型暫不支持,所以如果此時目標選擇SQLserver實例,遷移會出現(xiàn)異常。其他的實例類型和數(shù)據(jù)庫類型同理。若源端數(shù)據(jù)庫為Sqlsever時,當開啟增量遷移時,一個DTS任務(wù)只允許一若源端數(shù)據(jù)庫為PostgreSQL時,無論是否開啟增量遷移,一個DTS任務(wù)只圖3-143.3.5數(shù)據(jù)庫賬號圖3-3的“數(shù)據(jù)庫賬號”指的是您需要DTS使用哪個賬號連接您的源端的數(shù)據(jù)庫。這里出現(xiàn)問題最多的是MySQL數(shù)據(jù)庫的賬號問題以及MONGODB數(shù)據(jù)庫的MySQL的數(shù)據(jù)庫賬號組成是user和host兩個元素,即:user@host這種在IP為的客戶端主機訪問您的數(shù)據(jù)庫的時候,鑒權(quán)時賬戶用的是圖3-15 20>第三章DTS數(shù)據(jù)遷移所以,我非常建議您創(chuàng)建一個獨立的賬號進行DTS的遷移,并且賬號的host建議是'%'。因為DTS服務(wù)器的網(wǎng)段非常多,并且沒有規(guī)律(請參考圖MySQL遇到最多的數(shù)據(jù)庫賬號連接類問題是這個錯誤:Accessdeniedforuser'xxxx'@'xxxx'(usingpassword:YES)這個錯誤在連接時產(chǎn)生的原因有2個:賬戶錯誤或者密碼錯誤。您如果遇到,/articles/158321?spm=a2c4e.111554ff-363b5cXNuaxMONGODB的賬戶鏈接時,還需要填寫一個“數(shù)據(jù)庫名稱”項,如下圖3-15。這個是指MONGODB賬戶的authenticationdatabase。authenti-cationdatabase是指創(chuàng)建MONGODB賬戶的時候所在的數(shù)據(jù)庫。比如一個MONGODB數(shù)據(jù)庫為alitest。我們執(zhí)行usealitest切換到alitest數(shù)據(jù)庫下,然后執(zhí)行db.createUser()創(chuàng)建一個test賬戶,密碼是123。當我們使用test賬戶登陸mongodb的時候,數(shù)據(jù)庫名稱(authentica第三章DTS數(shù)據(jù)遷移<21圖3-163.3.6數(shù)據(jù)庫密碼圖3-3的“數(shù)據(jù)庫密碼”指的是使用的“數(shù)據(jù)庫賬號”的連接密碼。數(shù)據(jù)庫密3.3.7連接方式當實例類型選擇“ECS上的自建數(shù)據(jù)庫”,數(shù)據(jù)庫類型選擇“MySQL”時,DTS支持連接方式的選擇,即支持SSL加密的連接方式。當勾選“SSL安全連接”時,需要上傳SSL的證數(shù)等文件,如下圖3-16。其中CA根證數(shù)是必傳的。另外,DTS目前只支持SSL加密。請注意如下2點:如您要使用SSL安全連接,請確保您的源端數(shù)據(jù)庫以及目標端數(shù)據(jù)庫做了相應(yīng)的SSL配置,關(guān)于如何配置數(shù)據(jù)庫的SSL非本書的重點。不在此贅述。并非所有的實例類型以及數(shù)據(jù)庫類型DTS都支持SSL訪問。 22>第三章DTS數(shù)據(jù)遷移3.3.8測試連接重點中的重點,圖3-3的“測試連接”點擊后,會使用我們配置的這些連接信息去連接源端或者目標端的數(shù)據(jù)庫,針對ECS、RDS、云MONGODB、云REDIS等云數(shù)據(jù)庫,還會進行安全組、白名單的檢查和添加操作,檢查對應(yīng)的云ECS實例和云數(shù)據(jù)庫實例的安全組、白名單里是否有DTS的安全組或者白名單,沒有則添加。測試分為ping、telnet、數(shù)據(jù)庫協(xié)議(比如MySqlJDBCConnect)三個層面,測試結(jié)果如下圖3-17。需要注意如下4點:JDBCConnect)失敗。我們只需要關(guān)注telnet和數(shù)據(jù)庫協(xié)議即可。因為pingtelnet如果成功,說明DTS可以正常通過您配置的數(shù)據(jù)庫協(xié)議(比如MySqlJDBCConnect)如果成功,則說明DTS可以通過您配置的地址、端口、數(shù)據(jù)庫賬號、數(shù)據(jù)庫密碼等信息,成功訪問到您的數(shù)據(jù)庫。如果失敗,一般會有錯誤提示,對MySQL來說,最常見的是Accessdeniedforuser'xxxx'@'xxxx'(usingpassword:YES),這點,我們在“3.3.5數(shù)據(jù)庫賬號”討論過。其他的連接問題,可以參考這個云棲文檔:/articles/158321?spm=a2c4e.111554ff-363b5aL5jmA有時點擊測試連接后,會一直轉(zhuǎn)圈,沒有任何結(jié)果。遇到這個情況。可以忽略測試連接,直接點擊“授權(quán)白名單并進入下一步”。換句話說,測試連接并不是必須要點擊的。如果配置的源庫連接有問題,我們點擊“授權(quán)白名單并進入下一步”跳轉(zhuǎn)到新頁面時會出錯(因為此時會真正的去源庫取數(shù)據(jù)庫的對象信息,如下圖3-18)。如果配置的目標庫連接有問題,我們在“預(yù)檢查”時會出錯(因為預(yù)檢查會檢查目標庫連接)。所以測試連接一般情況下可點可不點。第三章DTS數(shù)據(jù)遷移<23圖3-17圖3-183.3.9授權(quán)白名單并進入下一步圖3-3的“授權(quán)白名單并進入下一步”點擊后,會和測試連接一樣,也會進行安全組與白名單的檢查和添加,然后會進入數(shù)據(jù)庫遷移對象選擇頁面,如下圖 24>第三章DTS數(shù)據(jù)遷移3-19。這是一個庫級別(數(shù)據(jù)庫級別的同步,DTS還支持表級別和列級別同步)同步的任務(wù)截圖。這個頁面的左側(cè)顯示的是源端數(shù)據(jù)庫的對象信息(如圖例里的dtstest、mysqltest數(shù)據(jù)庫)。右側(cè)顯示的是要遷移到目標數(shù)據(jù)庫的對象信息(如圖例里的dtstestdata數(shù)據(jù)庫),如果您要更改遷移到目標數(shù)據(jù)庫的對象的名字,可以把鼠標放到“dtstestdata”上,然后點擊右側(cè)的編輯,更改庫名(除了更改庫名外,表級別同步還支持修改表名以及列名)。該功能為DTS的庫表列映射,如下圖3-20。圖3-19第三章DTS數(shù)據(jù)遷移<25圖3-20(2)圖3-20(1) 26>第三章DTS數(shù)據(jù)遷移3.3.10遷移類型圖3-19里的“結(jié)構(gòu)遷移”是指是否遷移源端數(shù)據(jù)庫的對象結(jié)構(gòu)信息。這些結(jié)構(gòu)包括表結(jié)構(gòu)、索引、視圖、存儲過程等。DTS會通過Select的方式,獲取源庫的數(shù)結(jié)構(gòu)遷移針對的是關(guān)系型數(shù)據(jù)庫,非關(guān)系型數(shù)據(jù)庫不需要(比如MON-GODB),對關(guān)系型數(shù)據(jù)庫來說,數(shù)據(jù)要存儲,必須先建表。所以DTS需要先當目標數(shù)據(jù)庫里面沒有對應(yīng)的表對象時,才需要選擇結(jié)構(gòu)遷移。如果目標數(shù)據(jù)庫里面已經(jīng)有了對應(yīng)的數(shù)據(jù)庫的表對象,不需要選擇結(jié)構(gòu)遷移(比如目標庫已經(jīng)有表A,此時選擇結(jié)構(gòu)遷移,DTS會在目標庫創(chuàng)建表A,因為表A已經(jīng)存在,DTS創(chuàng)建會出錯,提示1050-Tablexxxxalreadyexists)。結(jié)構(gòu)遷移遇到的最常見的問題是:源端或者目標端的數(shù)據(jù)庫的數(shù)據(jù)庫對象非常非常多,因為DTS要以Select的方式查詢這些信息。數(shù)據(jù)庫對象過多,容易造成查詢超時,這類問題比較難解如果要查看DTS在源端或者目標端的進程狀態(tài),大多數(shù)數(shù)據(jù)庫都可以在源端或者目標端的執(zhí)行數(shù)據(jù)庫的相關(guān)查詢命令,以MySQL為例,可以執(zhí)行:showprocesslist確認會話信息。圖3-19里的“全量數(shù)據(jù)遷移”是指是否遷移源端數(shù)據(jù)庫的數(shù)據(jù)(表的記錄)。這是真正的數(shù)據(jù)的遷移,它遷移的是源端數(shù)據(jù)庫表里已經(jīng)存在的數(shù)據(jù)(這些數(shù)據(jù)可能是歷史數(shù)據(jù),早已經(jīng)寫入,也可能剛剛寫入不久的數(shù)據(jù),非未來新增的數(shù)據(jù)簡單的說,DTS會通過Select獲取源端數(shù)據(jù)庫里的表的數(shù)據(jù)。然后通過Insert、Replaceinto、Update、Delete的方式,寫入到目標端。DTS使用Select查詢對應(yīng)表的數(shù)據(jù),不是一次性全部查詢的。一般是對的數(shù)據(jù)進行分片(常見的是使用主鍵第三章DTS數(shù)據(jù)遷移<27進行分割),然后并行查詢各個分片的數(shù)據(jù)。DTS寫入目標端數(shù)據(jù)也是并行寫入的。DTS遷移完成后,目標數(shù)據(jù)庫的數(shù)據(jù)空間大小比源端數(shù)據(jù)庫的數(shù)據(jù)空間大小大,這是因為并行寫入產(chǎn)生數(shù)據(jù)空洞導(dǎo)致。如果您遇到這種問題,可以在業(yè)務(wù)如果要查看DTS在源端或者目標端的進程狀態(tài),大多數(shù)數(shù)據(jù)庫都可以在源端或者目標端的執(zhí)行數(shù)據(jù)庫的相關(guān)查詢命令,以MySQL為例,可以執(zhí)行:showprocesslist確認會話信息。圖3-19里的“增量數(shù)據(jù)遷移”是指DTS通過解析源端數(shù)據(jù)庫的相關(guān)數(shù)據(jù)庫日志(比如MySQL的Binlog、SQLserver的TransactionLog、MONGODB的oplog等),把全量遷移開始之后的增量數(shù)據(jù),實時的同步到目標端。即源端有一條Insert,DTS會解析這些日志,生成一個同樣的Insert發(fā)送到目標端,實現(xiàn)增量數(shù)很多客戶在問,DTS是如何保證數(shù)據(jù)完整性的?DTS通過全量+增量的方式遷移的對象里,沒有主鍵或者唯一鍵的數(shù)據(jù)庫對象,無法保證完整性。因為DTS是分批次抽取和并發(fā)寫入數(shù)據(jù),沒有主鍵時會造成數(shù)據(jù)重復(fù)或者數(shù)據(jù)缺多對一的相同數(shù)據(jù)庫對象的數(shù)據(jù)遷移,無法保證數(shù)據(jù)完整性。多對一是指多個源庫通過多個任務(wù),把源端多個數(shù)據(jù)庫對象的數(shù)據(jù)遷移到目標庫的同一個數(shù)據(jù)如果要查看DTS在源端或者目標端的進程狀態(tài),大多數(shù)數(shù)據(jù)庫都可以在源圖3-21 28>第三章DTS數(shù)據(jù)遷移端或者目標端的執(zhí)行數(shù)據(jù)庫的相關(guān)查詢命令,以MySQL為例,可以執(zhí)行:showprocesslist確認會話信息。DTS的增量會在源端的MySQL數(shù)據(jù)庫啟動一個binlogdump進程(如果您搭建過MySQL主從,MySQL本身的主從也是會起動一個DTS的增量數(shù)據(jù)遷移延遲是無法保證的,正常情況下DTS的增量遷移是秒級延遲,但是當遇到一些DDL、大量更新時或者DTS規(guī)格達到瓶頸等情況時,增量數(shù)據(jù)3.3.11預(yù)檢查并啟動當遷移對象以及遷移類型配置好后,點擊“預(yù)檢查并啟動”將會進行下面的檢查環(huán)節(jié),檢查環(huán)節(jié)順利通過后,會啟動DTS任務(wù)開始遷移數(shù)據(jù)。檢查的目的是避免一些已知的問題導(dǎo)致DTS遷移異常,常見的檢查項目如下圖3-21。預(yù)檢查失敗后,無法進行下一步,需要您針對出錯的檢查項進行處理,當您處理了預(yù)檢查失敗的檢查項后??梢渣c擊啟動任務(wù)(啟動方式為圖3-1中任務(wù)列表的“啟動任務(wù)”按鈕。)重第三章DTS數(shù)據(jù)遷移<29檢查預(yù)檢查的DTS服務(wù)器是否可以通過遷移任務(wù)頁面的相關(guān)配置正常連接源端DTS的服務(wù)器有很多,這些服務(wù)器有的部署了預(yù)檢查程序,有的部署了“測試連接”程序,有的部署了結(jié)構(gòu)遷移的程序,有的部署了全量遷移的程序,有的部署了增量遷移的程序。這也就意味著,任何一個環(huán)節(jié)的連接正常都不能保證下一個或者其他環(huán)節(jié)連接也正常(比如數(shù)據(jù)庫等防火墻做了限制)。您可能會遇到預(yù)檢查正常但是后續(xù)的結(jié)構(gòu)遷移連接異常,也可能遇到結(jié)構(gòu)遷移任務(wù)正遇到連接異常的情況,首先要有一個判斷,這個異常是網(wǎng)絡(luò)本身(TCP/IP)不通還是應(yīng)用層面的問題。如果是網(wǎng)絡(luò)層面的,則需要查防火墻以及鏈路配置。如果網(wǎng)絡(luò)沒問題只是在應(yīng)用層出現(xiàn)的異常,則需要查造成這個應(yīng)用異常的原因。舉一個例子,前面提到過的這個錯誤:Accessdeniedforuser'xxxx'@'xxxx'(usingpassword:YES)。這個錯誤意味著,網(wǎng)絡(luò)可達,只是在對數(shù)據(jù)庫進行賬密認證的時候出錯了(應(yīng)用層)。如果網(wǎng)絡(luò)不可達,我們甚要使DTS通過您在創(chuàng)建遷移任務(wù)頁面填寫的賬戶信息獲取源端數(shù)據(jù)庫的數(shù)據(jù),就需要對這個賬戶進行一寫數(shù)據(jù)庫對象的授權(quán)。不同的數(shù)據(jù)庫類型以及遷移類型需要不同的數(shù)據(jù)庫權(quán)限。以MySQL為例,結(jié)構(gòu)、全量遷移只需要SELECT權(quán)限即可。而增量遷移則需要REPLICATIONSLAVE、REPLICATIONCLIENT、SHOWVIEW和SELECT權(quán)限。檢查預(yù)檢查的DTS服務(wù)器是否可以通過遷移任務(wù)頁面的相關(guān)配置正常連接目標端數(shù)據(jù)庫。注意點與“源庫連接性檢查”相同。 30>第三章DTS數(shù)據(jù)遷移要使DTS把從源端獲取到的數(shù)據(jù)寫入目標端數(shù)據(jù)庫,也需要對應(yīng)的寫入權(quán)限。同樣以MySQL為例,結(jié)構(gòu)、全量和增量需要SELECT和INSERT、UPDATE、DELETE、CREATE等等讀寫的權(quán)限。這個一般是針對MySQL數(shù)據(jù)庫的遷移,因為MySQL有很多數(shù)據(jù)庫引擎。DTS不支持FEDERATED、MRG_MyISAM或TokuDB存儲引擎的遷移。檢查源庫的版本是否符合DTS產(chǎn)品的要求,以MySQL為例,DTS只支持如下幾個版本:5.1、5.5、5.6、5.7、8.0。其他數(shù)據(jù)庫類型的版本限制可以參考這里:/document_detail/26618.html?spm=a2c4g.111866a392a8770k06x#concept-26618-zh。目的是檢查目標數(shù)據(jù)庫中是否存在和待遷移對象同名的對象。當我們選移的時候,DTS會在目標創(chuàng)建對象結(jié)構(gòu),如果目標數(shù)據(jù)庫已經(jīng)有同名的對象結(jié)構(gòu)了,這點我們在“結(jié)構(gòu)遷移”討論過。檢查目標實例是否已經(jīng)有了對應(yīng)的數(shù)據(jù)庫,比如我們要把源端alitest的數(shù)據(jù)庫遷移到目標端。我們需要先在目標端手動創(chuàng)建alitest實例。避免預(yù)檢查失敗,請注很多情況下,DTS會自動的在目標端創(chuàng)建數(shù)據(jù)庫,DTS自動創(chuàng)建數(shù)據(jù)庫的前提是賬戶的權(quán)限正常。不過也有例外(比如字符集問題,數(shù)據(jù)庫名稱不合法等如果遇到DTS無法自動創(chuàng)建數(shù)據(jù)庫的情況,第三章DTS數(shù)據(jù)遷移<31當遷移類型勾選增量遷移時,才會檢查該項,在“增量數(shù)據(jù)遷移”我們討論過,增量遷移是通過一些日志來實現(xiàn)的。這個檢查項是為了檢查數(shù)據(jù)庫這方面的開啟了相關(guān)日志后,要檢查源數(shù)據(jù)庫的Binlog模式是否為ROW。建議更如果您源端是MySQL5.6及以上的數(shù)據(jù)庫版本時,開啟增量遷移后,會檢查binlog_row_image參數(shù)。建議更改.cnf配置文件,改完配置文件的參數(shù)后,請對如果您源端是MySQL數(shù)據(jù)庫,則開啟增量遷移后,會檢查源端數(shù)據(jù)庫的serverid參數(shù)。server_id值需要是大于2的整數(shù)。請注意這個檢查項目主要檢查showbinarylogs列出來的的文件是否存儲,檢查這個的目的是因為很多情況下,我們刪除MySQL的binlog時,是直接從操作系統(tǒng)目錄remove掉的,并沒有通過MySQL的purge進行刪除。這也就導(dǎo)致數(shù)據(jù)庫里還存在著binlog文件的記錄,而操作系統(tǒng)目錄里已經(jīng)沒有了。遇到這種情況出現(xiàn),您可以通過執(zhí)行purge來清理MySQL數(shù)據(jù)庫記錄的binlog文件。使之與操作系統(tǒng)目錄 32>第三章DTS數(shù)據(jù)遷移檢查源庫使用數(shù)據(jù)庫密碼格式是否為老版。主要檢查數(shù)據(jù)庫的參數(shù)old_passwords是否為1。如果您的old_passwords為1,建議修改為0。修改密碼格DTS支持的遷移拓撲一般有如下5種:一對一、一對多、級聯(lián)、多對一、雙向構(gòu),會出錯。如果這個檢查項您出現(xiàn)預(yù)檢查失敗,一般可以聯(lián)系和授權(quán)阿里云售后跳過概檢查項(預(yù)檢查檢測環(huán)節(jié)可以手動跳過的前提是雙向遷移的數(shù)據(jù)對象以及數(shù)據(jù)不3.3.12立即購買并啟動預(yù)檢查通過后,點擊下一步,進入購買頁面,如下圖3-22。選擇規(guī)格后,點擊對DTS遷移來說,只進行結(jié)構(gòu)遷移和全量遷移,目前是免費的選擇增量遷移后,才會收費,暫停同樣收費。第三章DTS數(shù)據(jù)遷移<33圖3-23。圖3-223.4任務(wù)列表圖3-1標記③的處為所選擇地域的任務(wù)列表。包括了預(yù)檢查中、失敗、遷移中、3.4.1ID/名稱顯示DTS任務(wù)的ID以及名稱,點擊這個超鏈接后,進入任務(wù)詳情頁面,如下圖3-24 34>第三章DTS數(shù)據(jù)遷移圖3-23該頁面展示了任務(wù)的詳細配置信息,包括源端與目標端的配置信息。如果遷移任務(wù)使用的源端和目標端的數(shù)據(jù)庫賬戶的密碼更改導(dǎo)致DTS任務(wù)異常,可以點擊“修改原/目標實例密碼”進行訂正。修改密碼需要使用舊密碼(如果您舊密碼忘記無法第三章DTS數(shù)據(jù)遷移<35此功能展示了DTS遷移過程中各個環(huán)節(jié)的遷移狀態(tài),詳細說明如下。如下圖3-25,展示了結(jié)構(gòu)遷移頁面遷移的數(shù)據(jù)庫結(jié)構(gòu)的信息(此處只展示了tables、views、functions、procedures)。如果結(jié)構(gòu)遷移時遷移的數(shù)據(jù)庫常,會在“狀態(tài)”列顯示。點擊“查看創(chuàng)建語法”可以查看DTS是以何種SQL語句在目標端創(chuàng)建對象結(jié)構(gòu)的。您也可以自行創(chuàng)建目標數(shù)據(jù)庫的表結(jié)構(gòu)信息,不使用DTS進行結(jié)構(gòu)遷移(如果您目標數(shù)據(jù)庫已經(jīng)有對應(yīng)的表結(jié)構(gòu)了,在“3.3.10遷移類圖3-25DTS通過SQL語句在源端數(shù)據(jù)庫獲取數(shù)據(jù)庫對象的相關(guān)信息時異常,如下圖3-26的例子就是DTS通過SELECT語句在源端執(zhí)行SQL時,出現(xiàn)Unknownerror的錯誤。這個圖里有2個關(guān)鍵的信息,其中“errmsg”指DTS在源端執(zhí)行哪一個SQL查詢哪一個對象時出現(xiàn)了Unknowerror(此處是selectroutine__schema,routine__name…..frominformation_schema.ROUTINESwhere…和selectparameter_mode,parameter_name…frominformation_schema.PARAMETERSWHEREspecific_schema=?and…)。判斷這個問題的原因可以拿這兩個SQL在源端數(shù)據(jù)庫 36>第三章DTS數(shù)據(jù)遷移圖3-26DTS通過源端數(shù)據(jù)庫獲取到對象的相關(guān)信息后,DTS內(nèi)部會組合成DDL語句在目標端數(shù)據(jù)庫進行執(zhí)行。當DTS把這些DDL語句在目標端執(zhí)行時異常。如下圖3-27的例子就是DTS在目標執(zhí)行DDL時出現(xiàn)了異常。這個錯誤比較簡單,指的是DTS在目標端數(shù)據(jù)庫創(chuàng)建表時,提示表已存在。要解決這個問圖3-27如下圖3-28,是結(jié)構(gòu)遷移部分順利運行完成后,進行全量遷移的展示頁面。第三章DTS數(shù)據(jù)遷移<37為什么結(jié)構(gòu)遷移在前?因為只有先創(chuàng)建表,才能往目標實例寫數(shù)據(jù)。全量遷移要從源端抽取數(shù)據(jù)然后把數(shù)據(jù)寫入目標端,這會導(dǎo)致源端與目標端數(shù)據(jù)庫實例的負載(CPU,IOPS等)增加,因為全量遷移的是源端數(shù)據(jù)庫表里已經(jīng)存在的數(shù)據(jù)(這些數(shù)據(jù)可能是歷史數(shù)據(jù),早已經(jīng)寫入,也可能剛剛寫入不久的數(shù)據(jù),非未來新增的圖3-28DTS通過SQL語句(一般是SELECT)在源端數(shù)據(jù)庫獲取數(shù)據(jù)庫表的數(shù)據(jù)的時候異常。如下圖3-29就是在源端使用SELECT抽取數(shù)據(jù)時,由于MAX_ALLOW_PACKET參數(shù)設(shè)置過小導(dǎo)致數(shù)據(jù)查詢異常。您可以通過調(diào)整參數(shù)的大小來解決該問題,如果參數(shù)已經(jīng)調(diào)到最大后依然無法避免這種情況,請反饋圖3-29DTS通過源端數(shù)據(jù)庫獲取到的數(shù)據(jù)庫數(shù)據(jù),DTS內(nèi)部會組合成DML語句(INSERT、UPDATE、DELETE等)在目標端數(shù)據(jù)庫進行執(zhí)行。當DTS把 38>第三章DTS數(shù)據(jù)遷移這些DML語句在目標端執(zhí)行時異常。如下圖3-30是指DTS在把數(shù)據(jù)寫入目標端數(shù)據(jù)庫時,提示表不存在。遇到該問題,需要在目標端數(shù)據(jù)庫查看數(shù)據(jù)庫的表是否正??蓪懭胍约癉TS目標端的數(shù)據(jù)圖3-30如下圖3-31,是DTS進行增量時的對象展示頁面。此處可以看到有一個“待修復(fù)”標識,說明在增量環(huán)節(jié)出現(xiàn)了異常,需要修復(fù)。具體的異常和修復(fù)方案,我們會在“3.4.2查看原因并修復(fù)”章節(jié)詳細說明。增量遷移不會導(dǎo)致源端數(shù)據(jù)庫的負載有明細增加。由于要把增量數(shù)據(jù)寫入目標端,目標端數(shù)據(jù)庫實例的負載可能會圖3-31再次強調(diào)下,dts的增量遷移的實現(xiàn)方法,大多和數(shù)據(jù)庫本身的復(fù)制功能相關(guān),借助的是源端數(shù)據(jù)庫的一些日志來實現(xiàn),以mysql為例,dts借助的是binlog,dts第三章DTS數(shù)據(jù)遷移<39同時,DTS的增量數(shù)據(jù)遷移延遲是無法保證的,正常情況下DTS的增量遷移是秒級延遲,但是當遇到一些DDL、大量更新時或者DTS規(guī)格達到瓶頸等情況時,增量數(shù)據(jù)遷移延遲會增高。如果您遇到大的延遲(比如超過1000S可與阿里云售后性能監(jiān)控該功能展示了全量和增量遷移階段,DTS任務(wù)的遷移性能,詳細說明如下。.1全量遷移性能前面我們討論過,DTS進行全量遷移,實際上就是在源端執(zhí)行SELECT獲取數(shù)據(jù),然后再把獲取的數(shù)據(jù)寫入到目標端的過程。如下圖3-32,“全量遷移鏈路拓撲”形象的展示了這個過程,并且也展示了全量抽取與全量寫入兩個個環(huán)節(jié)的BPS(全量遷移階段DTS全量遷移服務(wù)的IOPS,單位:Bytes/Second)與RPS(全量遷移階段DTS全量遷移服務(wù)的記錄數(shù)量,單位:Records/Second)信息。同時“全量遷移執(zhí)行RT。 40>第三章DTS數(shù)據(jù)遷移圖3-32在“.1全量遷移性能”章節(jié)了解了全量遷移的性能指標,本章節(jié)討論下遇到全量遷移慢如何分析定位與處理。全量遷移慢分為3個部分:源端抽取慢、DTS服務(wù)本身對數(shù)據(jù)處理慢、目標端寫入慢。源端抽取慢:要判斷這一點,首先要在源端查看DTS的會話狀態(tài),以MySQL為例,可以通過執(zhí)行select*frominformation_cesslist與沒有DTS的任何會話,遇到這個情況,說明DTS與源端實例的鏈接可能存DTS的會話存在,但是狀態(tài)全部是sleep,遇到這個情況,說明DTS抽取DTS會話存在,部分會話在執(zhí)行query獲取數(shù)據(jù),遇到這個情況,說明DTS正在抽取源端數(shù)據(jù)庫的數(shù)據(jù),狀態(tài)正常,您需要關(guān)注下源端數(shù)據(jù)庫的負比較常見的是DTS內(nèi)存較低導(dǎo)致在遷移大數(shù)據(jù)對象時頻繁O(jiān)OM(DTS的錯誤目標寫入慢:要判斷這一點,同樣需要在目標端查看DTS的會話狀態(tài),以MySQL為例,可以通過執(zhí)行selec第三章DTS數(shù)據(jù)遷移<41圖3-33沒有任何的DTS會話在執(zhí)行DML操作,說明DTS與目標實例的鏈接可能DTS的會話存在,但是狀態(tài)全部是sleep,遇到這個情況,說明DTS與目標端數(shù)據(jù)庫連通性正常,但是DTS無法在目標端執(zhí)行SQL。DTS會話存在,部分會話在執(zhí)行DML寫入數(shù)據(jù),遇到這個情況,說明DTSDTS增量遷移分為3個階段,如下圖3-33:1.DTS通過數(shù)據(jù)庫的日志,獲取源端的新增數(shù)據(jù)(全量遷移之后的新增數(shù)據(jù)這部分工作由DTS采集模塊實現(xiàn)。2.DTS拿到這些數(shù)據(jù)后,在DTS側(cè)緩存起來,以便后面寫入目標端數(shù)據(jù)庫。這部分工作由DTS緩存模塊實現(xiàn)。3.DTS獲取緩存起來的增量數(shù)據(jù),進行處理后把這些數(shù)據(jù)應(yīng)用到目標端數(shù)據(jù)庫,這部分工作由DTS寫入模塊實現(xiàn)。同樣,增量遷移時,每個環(huán)節(jié)也都有性能指標。重點關(guān)注的指標是增量遷移的RPS和遷移延遲。增量抽取不會對源端的數(shù)據(jù)庫性能產(chǎn)生大的影響。 42>第三章DTS數(shù)據(jù)遷移.4增量遷移延遲的定位與處理通過“.3增量遷移性能”章節(jié)說明了解了DTS增量遷移階段的3個步驟,當出現(xiàn)增量延遲的時候,也會出在這三個部分:DTS采集模塊獲取源端增量日志延遲、DTS本身服務(wù)異常導(dǎo)致數(shù)據(jù)處理延遲、DTS寫入模塊寫入目標數(shù)據(jù)庫延遲。DTS采集模塊獲取源端增量日志延遲:這個主要出現(xiàn)在源端的日志缺失、日志過大或者源端數(shù)據(jù)庫鏈接異常時出現(xiàn),以MySQL為例,如果手動清理掉了DTS還未獲取的源端binlog,此時DTS采集模塊就會異常。還有如果源端的也可能存在拉取文件超時的情況,導(dǎo)致延遲。如果要判斷增量采集模塊是否有異?;蛘哐舆t,以MySQL為例,DTS是通過在源端建立一個binlogdump的會話實現(xiàn)的binlog的抽取,故可以通過執(zhí)行select*frominformation_cesslist與showprocesslist獲取,查到會話狀態(tài)后有如下3中binlogdump進程存在,且狀態(tài)為Masterhassentallbinlogtoslave;waitingformoreupdates,如下圖3-34。如果是這種狀態(tài),可以基本說圖3-34waitingformoreupdates,可以說明源端數(shù)據(jù)庫正在發(fā)送binlog文件給DTS,中間可能存在一些問題或者耗時較長。第三章DTS數(shù)據(jù)遷移<43DTS寫入模塊寫入目標數(shù)據(jù)庫延遲:如果DTS源端數(shù)據(jù)庫抽取數(shù)據(jù)非常的及時,那出現(xiàn)延遲很可能是在寫入目標數(shù)據(jù)庫的時候?qū)懭胼^慢或者并發(fā)不高導(dǎo)目標數(shù)據(jù)庫的IO、CPU負載等資源是否正常,如果這些正常,可以排除性目標數(shù)據(jù)庫的SQL執(zhí)行狀態(tài)是否正常,比如是否耗時較長或者遇到了阻塞,以MySQL為例,可以通過執(zhí)行select*frominformation_schema.processlist與showprocesslist獲取會話的執(zhí)行狀態(tài),查看DML語句的執(zhí)行情況與耗時,問題判斷和分析與“.2全量遷移慢的定位與處此功能用來監(jiān)控DTS遷移任務(wù)的延遲與狀態(tài)情況,如下圖3-35。DTS遷移只DTS的增量數(shù)據(jù)遷移延遲是無法保證的,正常情況下DTS的增量遷移是秒級延遲,但是當遇到一些DDL、大量更新時或者DTS規(guī)格達到瓶頸等情況時,增量數(shù)據(jù)遷移延遲會增高。如果您遇到大的延遲(比如超過1000S可與阿里云售后圖3-353.4.2查看原因并修復(fù)當DTS任務(wù)出現(xiàn)異常的時候,我們需要查看異常原因以及嘗試修復(fù)它,從“.3增量遷移”章節(jié)可以看到,這個任務(wù)增量異常,我們要查看異常的原因, 44>第三章DTS數(shù)據(jù)遷移需要查看任務(wù)列表頁面,如下圖3-35和圖3-36。這里的遷移錯誤是因為DTS使用的源端賬戶缺少SUPER或者REPLICATIONCLIENT權(quán)限導(dǎo)致增量異常。處理方法則是把賬戶的REPLICATIONCLIENT權(quán)限加上然后重啟任務(wù)即可。圖3-36圖3-373.4.3啟動任務(wù)3.4.4查看詳情第三章DTS數(shù)據(jù)遷移<453.4.5創(chuàng)建類似任務(wù)該功能用來創(chuàng)建與當前DTS任務(wù)近似的新任務(wù),點擊后,如下圖3-37。該功能不推薦使用,如果您需要創(chuàng)建新的任務(wù),請點擊“3.3創(chuàng)建遷圖3-383.4.6升級當DTS任務(wù)規(guī)格不足時,比如我們通過在“性能監(jiān)控”章節(jié)討論的性能指標判斷出遷移性能的瓶頸在DTS,此時就需要升級DTS的任務(wù)規(guī)格。需要注意如果您配置DTS任務(wù)時,沒有選擇增量,在任務(wù)配置時是不收費的,但是如果點擊升級DTS任務(wù)(無增量的DTS任務(wù)則會產(chǎn)生費用,如下圖3-38。DTS的規(guī)格現(xiàn)在還只能升級,不能降級。 46>第三章DTS數(shù)據(jù)遷移圖3-393.4.7監(jiān)控報警該功能與“監(jiān)控報警”功能相同。3.4.8修改密碼該功能與“任務(wù)配置”的修改密碼功能相同,修改密碼只支持密碼修改,賬戶不可修改。并且修改密碼需要使用舊密碼(如果您舊密碼忘記無法修改,此3.4.9暫停任務(wù)暫停任務(wù)一般可以用于當因為DTS的遷移操作導(dǎo)致源端數(shù)據(jù)庫或者目標端數(shù)據(jù)庫負載消耗較大時,此時暫停任務(wù)來緩解數(shù)據(jù)庫的壓力(點擊暫停后,請查看數(shù)據(jù)庫種DTS會話的狀態(tài),如果DTS會話長時間未結(jié)束可以考慮手動KILL掉未結(jié)束的會第三章DTS數(shù)據(jù)遷移<47全量任務(wù):因為全量遷移階段,DTS會對源端已存在的數(shù)據(jù)進行抽取,抽取這量任務(wù)階段暫停了全量任務(wù),然后又重啟,全量數(shù)據(jù)的遷移會重新開始,比如暫停全量遷移,B表和C表的源端數(shù)據(jù)庫SELECT請求將會停止,除非您已經(jīng)放棄進行全量遷移,否則最終還是要重新啟動全量任務(wù)的,如果再次啟動全量任務(wù),DTS會重新對B表和C表進行數(shù)據(jù)的遷移,也就是意味著前面的B如果B表和C表沒有主鍵或者唯一鍵,數(shù)據(jù)可能會出現(xiàn)重復(fù)甚至是丟失等如果B表和C表有主鍵或者唯一鍵,DTS在重新抽取源庫的B表和C表增量遷移:對增量遷移來說,暫停任務(wù)比全量任務(wù)安全很多,但是也存在如下增量遷移任務(wù)暫停時間過長,會導(dǎo)致增量失敗。原因在于“.3增量遷移性能”章節(jié)中我們討論過,DTS的增量遷移會有一個DTS緩存模塊對源端數(shù)據(jù)庫的增量數(shù)據(jù)進行緩存。這個緩存模塊的數(shù)據(jù)有效期為7天(大多數(shù)DTS任務(wù)都是7天,少量的DTS任務(wù)非7天)。當我們暫停DTS任務(wù)超過7天時,DTS增量任務(wù)會出現(xiàn)異常。比如我們在2020年6月12日15:00:00進行了任務(wù)暫停,此時DTS采集模塊不停止,一直實時的獲取源端數(shù)據(jù)庫的增量數(shù)據(jù)(不會停止然后這些增量數(shù)據(jù)由DTS緩存模塊緩存,緩存的增量DTS寫入模塊暫停,停止寫入,寫入的數(shù)據(jù)最后一次時間點為2020年6月12日15:00:00。隨著時間的推移,我們在2020年6月20日15:00:00啟期間,DTS增量采集模塊和緩存模塊一直在工作,此時DTS增量采集模塊 48>第三章DTS數(shù)據(jù)遷移采集的增量數(shù)據(jù)是最新的(2020年6月20日15:00:00時間點的而由于DTS緩存模塊的增量數(shù)據(jù)只保存7天(不是所有DTS任務(wù)都是7天,請以具體情況為準此時DTS緩存模塊里的增量的數(shù)據(jù)范圍是2020年6月1315:00:00停止時,DTS寫入模塊停止了寫入,DTS寫入模塊的寫入時間點DTS寫入模塊繼續(xù)寫入去DTS緩存模塊里尋找2020年6月20日15:00:00的數(shù)據(jù),開始寫入,由于DTS緩存模塊里的增量數(shù)據(jù)已經(jīng)變成了2020年6月13日15:00:00~2020年6月20日15:00:00,此時DTS寫入模塊會失敗。DTS整個任務(wù)也就會失敗。遇到這種情況,解決辦法有3個:如果源端數(shù)據(jù)庫的相關(guān)增量數(shù)據(jù)的日志還存在(以MySQL為例,源端數(shù)據(jù)庫的binlog還一直存在并未刪除該問題的修復(fù)方案可以使DTS的采集模塊重新從2020年6月12日15:00:00采集增量數(shù)據(jù),DTS緩存模塊重新緩存2020年6月12日15:00:00的增量數(shù)據(jù),這樣DTS寫入模塊也就如果源端數(shù)據(jù)庫的相關(guān)增量數(shù)據(jù)的日志已經(jīng)不存在被刪除,也可以選擇放棄直接讓DTS寫入模塊從2020年6月13日15:00:00開始寫入,這會導(dǎo)致如果源端數(shù)據(jù)庫的相關(guān)增量數(shù)據(jù)的日志已經(jīng)不存在被刪除,且要保證數(shù)據(jù)一致性。您可以重新進行一次DTS任務(wù)(重新進行結(jié)構(gòu)+全量+增量的遷DTS遷移任務(wù)暫停后,由于DTS寫入模塊暫停,再次重新(7天內(nèi))啟動后第三章DTS數(shù)據(jù)遷移<493.4.10結(jié)束任務(wù)DTS未選擇增量遷移,全量遷移或者結(jié)構(gòu)遷移完成后,任務(wù)自動結(jié)束(此時不DTS未選擇增量遷移,但是全量遷移或者結(jié)構(gòu)遷移出現(xiàn)異常,該異常無法修復(fù),放棄該DTS任務(wù)時,可以手動結(jié)束該DTS。DTS選擇了增量遷移,增量遷移一直在正常的同步增量數(shù)據(jù),您選擇在合適DTS選擇了增量遷移,但是增量任務(wù)異?;蛘邿o法修復(fù),您放棄該DTS任務(wù)時,手動結(jié)束該DTS。無論哪一種情況,結(jié)束任務(wù)意味著完全放棄這個任務(wù)的所有已完成或者未完成的3.4.11釋放任務(wù)圖3-40第四章DTS數(shù)據(jù)訂閱數(shù)據(jù)訂閱其實就是通過API獲取DTS緩存模塊的數(shù)據(jù),在DTS數(shù)據(jù)遷移章節(jié),DTS緩存模塊的數(shù)據(jù)只能由DTS寫入模塊獲取然后寫入目標端數(shù)據(jù)庫。數(shù)據(jù)訂閱把這個DTS寫入模塊進行了開放,我們可以借助DTS提供的DTS緩存模塊的API進行增量數(shù)據(jù)的獲取。要使用DTS數(shù)據(jù)訂閱來獲取DTS的緩存模塊的增量數(shù)據(jù),需要新購DTS數(shù)據(jù)訂閱實例,這也就意味著,您擁有DTS數(shù)據(jù)遷移并不能對DTS緩存模塊進行訂閱。購買后,會顯示到DTS數(shù)據(jù)訂閱的任務(wù)列表,如下圖4-1。DTS本章節(jié)將對新版DTS數(shù)據(jù)訂閱的功能進行DTS數(shù)據(jù)訂閱只能訂閱增量數(shù)據(jù),無法訂閱全量數(shù)據(jù)。①①②圖4-14.1創(chuàng)建數(shù)據(jù)訂閱頁面要創(chuàng)建數(shù)據(jù)訂閱DTS實例,需要點擊圖4-1標記①處的“創(chuàng)建數(shù)據(jù)訂閱”功能。點擊后,跳轉(zhuǎn)到創(chuàng)建頁面,如下圖4-2。下面對這個頁面的選擇項做詳細的第四章DTS數(shù)據(jù)訂閱<51圖4-24.1.1商品類型商品類型是指購買的數(shù)據(jù)庫DTS產(chǎn)品的計費類型,預(yù)付費是指包年包月,按年或者月進行計費,費用需要提前支付。后付費是按量付費,即按小時進行計費(按小時計費的意思是只有當這個DTS被創(chuàng)建并且被您配置運行后,就會按小時進行計費。4.1.2功能當選擇預(yù)付費時,這里只能選擇數(shù)據(jù)同步和數(shù)據(jù)訂閱,數(shù)據(jù)同步我們會在“第五章DTS數(shù)據(jù)同步”章節(jié)說明。當選擇后付費時,這里還會多一個數(shù)據(jù)遷移的選項,在這里創(chuàng)建數(shù)據(jù)遷移時,提示是收費的,請注意。這個收費只有在您配置DTS遷移4.1.3訂閱實例類型當功能選擇數(shù)據(jù)訂閱后,我們需要選擇訂閱的實例類型,即您需要DTS獲取哪一種數(shù)據(jù)庫類型的增量數(shù)據(jù),目前DTS支持的訂閱數(shù)據(jù)庫類型為MySQL、DRDS、Oracle、POLARDB。 52>第四章DTS數(shù)據(jù)訂閱4.1.4源實例地域-訂閱要訂閱的數(shù)據(jù)庫實例所在的地域,這里一定要選擇正確,因為這決定了DTS使配置選擇完成后,點擊支付,等待創(chuàng)建,創(chuàng)建完成后,如下圖4-3。新創(chuàng)建的實圖4-34.2任務(wù)列表圖4-1標記②的處為所選擇地域的任務(wù)列表。展示了當前地域下運行中,未配4.2.1配置訂閱通道創(chuàng)建出來未配置的實例,默認是沒有“新版訂閱”的標識的,只有當配置完后,才會顯示“新版訂閱的標識”,點擊配置訂閱通道配置訂閱,跳轉(zhuǎn)到新的頁面,如下圖4-4。各配置項的詳細說明如下。第四章DTS數(shù)據(jù)訂閱<53圖4-4該處實例類型與“3.3.1實例類型”介紹的含義相同。由于我們在“4.1.3訂閱實例類型”創(chuàng)建時,選擇的是MySQL,我們在“實例類型”選擇的是RDS實例,則需要我們填寫RDS實例ID,如果我們選擇的RDS是5.7及以上的RDS實例,則還需要填寫RDS的數(shù)據(jù)庫賬號和數(shù)據(jù)庫密碼。當選擇的是RDS5.6實例時則不需要,如下圖4-5。原因在于針對RDS5.6實例,DTS會在RDS內(nèi)部創(chuàng)建專屬于DTS的遷移賬戶,而對于RDS5.7及以上的,DTS并不會這樣做,非常推薦您使用RDS5.7及以上的高權(quán)限賬戶進行配置。 54>第四章DTS數(shù)據(jù)訂閱由于DTS要獲取數(shù)據(jù)庫的增量數(shù)據(jù),數(shù)據(jù)庫的賬號權(quán)限一定要具備增量日志的獲取權(quán)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論