阿里云數據傳輸服務-產品手冊-D_第1頁
阿里云數據傳輸服務-產品手冊-D_第2頁
阿里云數據傳輸服務-產品手冊-D_第3頁
阿里云數據傳輸服務-產品手冊-D_第4頁
阿里云數據傳輸服務-產品手冊-D_第5頁
已閱讀5頁,還剩122頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、數據傳輸產品使用手冊數據傳輸/產品使用手冊數據傳輸/產品使用手冊 PAGE 109 PAGE 109產品使用手冊數據遷移數據遷移功能簡介本小節簡單介紹數據傳輸服務提供的數據遷移功能支持的功能范圍,及數據流鏈路情況數據遷移支持功能列表數據遷移功能,目前支持的遷移功能如下表:源數據庫結構遷移全量遷移增量遷移Oracle-RDS For MySQL支持支持不支持Oracle-RDS For PPAS支持支持不支持MySQL -RDS For MySQL支持支持支持SQLServer-RDS For SQLServer支持支持不支持PostgreSQL- RDS For PostgreSQL支持支持不

2、支持MongoDB - MongoDB支持支持不支持MySQL-PetaData不支持支持不支持MySQL-OB支持支持不支持數據流鏈路傳輸方式本節簡單介紹,源實例為不同實例類型情況下,數據流鏈路的傳輸方式。本地DB遷移到RDS當將本地DB遷移到RDS時,數據傳輸服務器同本地DB的連接使用公網IP,數據流通過互聯網傳輸 根據目標RDS是否配置內網連接串,數據傳輸服務器同目標RDS實例之間的數據流傳輸方式不同當RDS實例配置了內網連接串地址對于這種情況,數據傳輸服務器同目標RDS實例的數據流,通過內網傳輸當RDS實例沒有配置內網連接串地址對于這種情況,數據傳輸服務器同目標RDS實例的數據流,通過

3、互聯網傳輸ECS上自建數據庫遷移到RDS根據ECS實例與RDS實例是否在同一個地區,遷移數據流的傳輸方式不同(1) ECS實例同RDS實例在同一個地區當將同一個地區的ECS實例上的自建數據庫遷移到RDS時,數據傳輸服務器同源DB的連接使用內網IP,數據流 通過內網傳輸根據目標RDS是否配置內網連接串,數據傳輸服務器同目標RDS實例之間的數據流傳輸方式不同當RDS實例配置了內網連接串地址對于這種情況,數據傳輸服務器同目標RDS實例的數據流,通過內網傳輸當RDS實例沒有配置內網連接串地址對于這種情標RDS實例的數據流,通過互聯網傳輸(2) ECS實例同RDS實例不在同一個地區當將不同地區的ECS實

4、例上的自建數據庫遷移到RDS時,數據傳輸服務器同源DB的連接使用公網IP,數據流通 過互聯網傳輸根據目標RDS是否配置內網連接串,數據傳輸服務器同目標RDS實例之間的數據流傳輸方式不同當RDS實例配置了內網連接串地址對于這種情況,數據傳輸服務器同目標RDS實例的數據流,通過內網傳輸當RDS實例沒有配置內網連接串地址對于這種情況,數據傳輸服務器同目標RDS實例的數據流,通過互聯網傳輸RDS實例間數據遷移根據源及目標RDS實例是否在同一個地區,遷移數據流的傳輸方式不同源及目標RDS實例在同一個地區根據源RDS是否配置內網連接串,數據傳輸服務器同源RDS實例之間的數據流傳輸方式不同當RDS實例配置了

5、內網連接串地址對于這種情況,數據傳輸服務器同源RDS實例的數據流,通過內網傳輸當RDS實例沒有配置內網連接串地址對于這種情況,數據傳輸服務器同源RDS實例的數據流,通過互聯網傳輸當將同一個地區的一個RDS實例將數據遷移到RDS時,數據傳輸服務器同源RDS實例的連接使用內網IP,數據 流通過內網傳輸根據目標RDS是否配置內網連接串,數據傳輸服務器同目標RDS實例之間的數據流傳輸方式不同當RDS實例配置了內網連接串地址對于這種情況,數據傳輸服務器同目標RDS實例的數據流,通過內網傳輸當RDS實例沒有配置內網連接串地址對于這種情況,數據傳輸服務器同目標RDS實例的數據流,通過互聯網傳輸源及目標RDS

6、實例不在同一個地區當將不同地區的一個RDS實例的數據遷移到另外一個RDS實例時,數據傳輸服務器同源RDS的連接使用公網IP,數據流通過互聯網傳輸根據目標RDS是否配置內網連接串,數據傳輸服務器同目標RDS實例之間的數據流傳輸方式不同當RDS實例配置了內網連接串地址對于這種情況,數據傳輸服務器同目標RDS實例的數據流,通過內網傳輸當RDS實例沒有配置內網連接串地址對于這種情況,數據傳輸服務器同目標RDS實例的數據流,通過互聯網傳輸預檢查簡介本小節簡單介紹數據遷移啟動之間的預檢查階段檢查的內容,失敗原因及具體的修復方法源庫連接性檢查檢測數據傳輸服務器是否能夠連通要遷移的源數據庫。數據傳輸服務通過J

7、DBC協議創建到源數據庫的連接,當 創建連接失敗時,這個檢查項即失敗。當源庫連接性預檢查失敗時,可能是由于如下表中幾種原因:創建遷移任務時,提供的賬號或密碼不正確檢測方法:在任何一臺能夠網絡能夠跟源數據庫互通的服務器上,使用創建遷移任務使用的賬號/密碼,通過客 戶端軟件連接源數據庫,確認是否能夠正常連接。如果連接報錯,且報錯信息中含有Access deny,那么說明賬號或密碼有誤修復方法:在數據傳輸服務控制臺修改遷移任務,將賬號密碼修改成正確的配置后重新預檢查源庫遷移賬號限制了來源IP 檢測方法:(1) 在一臺網絡能夠跟源數據庫連通的服務器上,使用創建遷移任務使用的賬號/密碼,通過客戶端軟件連

8、接源數據庫,能夠正常連接。此時說明源數據庫限制了來源IP,只有允許的服務器可以連接,而數據傳輸服務器的 IP不在授權列表,所以不能正常連接。 (2)如果源數據庫為MySQL數據庫,那么直接使用mysql客戶端連接源數據庫,執行selecthostfrom mysql.user where user=遷移賬號,password=遷移賬號密碼,如果查詢結果不為%,那么說明數據傳輸服務器IP不在授權IP列表中,所以不能正常連接如果是SQL Server,那么檢查SQL Server安裝服務器上是否設置了防火墻,或者檢查源數據庫中有endpoint或trigger限制了訪問來源IP如果是Oracle,

9、那么檢查源數據庫的挽留過配置文件sqlnet.ora,確認配置項是否為yes,如果為yes,說明源數據庫限制了訪問來源IP修復方法:如果源數據庫為MySQL,那么在源數據庫中執行grantallonto%identifiedby如果源數據庫為SQLServer,那么需要先關閉掉防火墻或禁用掉trigger后,重新進行預檢查如果源數據庫為Oracle,那么先修改TCP.VALIDNODE_CHECKING=no并重啟監聽后,重新進行預檢查- 源數據庫安裝服務器設置了防火墻檢測方法: 如果源數據庫安裝服務器為Linux,那么在shell中運行 iptables -L,檢查服務器是否配置了防火墻。如

10、果安裝服務器為window,那么在控制面板中查找到Windows防火墻,查看是否配置了防火墻修復方法: 先將防火墻關閉后,重新進行預檢查- 數據傳輸服務器與源數據庫網絡不通如果不是上面三種情況中的任何一種,那么可能是由于數據傳輸服務器跟源數據庫網絡不連通,當處于這種情 況時,請聯系數據傳輸服務值班同學協助解決。目標庫連接性檢查檢測數據傳輸服務器是否能夠連通要遷移的目標數據庫。數據傳輸服務通過JDBC協議創建到目標數據庫的連接,當創建連接失敗時,這個檢查項即失敗。當目標庫連接性預檢查失敗時,可能是由于如下的兩種原因:創建遷移任務時,提供的賬號或密碼不正確檢測方法:在任何一臺能夠網絡能夠跟目標數據

11、庫互通的服務器上,使用創建遷移任務使用的賬號/密碼,通過 客戶端軟件連接源數據庫,確認是否能夠正常連接。如果連接報錯,且報錯信息中含有Access deny,那么說明賬號或密碼有誤修復方法:在數據傳輸服務控制臺修改遷移任務,將賬號密碼修改成正確的配置后重新預檢查 數據傳輸服務器與目標數據庫網絡不通如果不是遷移賬號密碼不正確的話,那么可能是由于數據傳輸服務器跟目標數據庫網絡不連通,當處于這種情 況時,請聯系數據傳輸服務值班同學協助解決。schema存在性檢查主要檢查待遷移的數據庫在目標RDS實例中是否存在。如果不存在,那么數據傳輸服務會自動創建。但是對于 如下幾種情況,自動創建數據庫會失敗,所以

12、直接報預檢查失敗,數據庫名中含有小寫字母、數字、下劃線、中劃線的其他特殊字符當遇到這種情況時,預檢查的失敗原因為:遷移的數據庫遷移庫名的名稱不符合rds規范修復方法為:到RDS控制臺的數據庫管理頁面中,創建滿足rds規范的數據庫,將新建庫的讀寫權限賦給遷移賬 號。然后使用數據傳輸服務提供的庫名映射功能將要遷移的數據庫映射至新創建的數據庫后,然后重新進行預 檢查數據庫的字符集不為utf8、gbk、latin1、utf8mb4中的一種當遇到這種情況時,預檢查的失敗原因為:遷移的數據庫遷移庫名的字符集不滿足rds的要求修復方法為:到RDS控制臺的數據庫管理頁面中,創建滿足rds規范的數據庫,然后將新

13、建庫的讀寫權限賦給遷 移賬號。如果新創建的庫名與待遷移的庫名不同,那么使用數據傳輸服務提供的庫名映射功能將要遷移的數據 庫映射至新創建的數據庫后,重新進行預檢查目標庫遷移賬號無遷移庫的讀寫權限當遇到這種情況時,預檢查的失敗原因為:該用戶沒有權限使用庫遷移庫名修復方法為:先到RDS控制臺的數據庫管理頁面中賬號管理頁面,修改權限,將遷移庫的讀寫權限授予遷移賬 號后,重新進行預檢查源庫權限檢查這個檢查項主要檢查源數據庫的遷移賬號是否有足夠的權限可以進行數據遷移。每種數據庫需要的遷移權限詳 見遷移手冊。目標庫權限檢查這個檢查項主要檢查源數據庫的遷移賬號是否有足夠的權限可以進行數據遷移。每種數據庫需要的

14、遷移權限詳 見遷移手冊。源庫版本號檢查這個檢查項主要檢查源數據庫的版本號,數據傳輸服務是否支持。數據傳輸服務支持的各種源數據庫的版本如 下:源數據庫類型支持的版本號MySQL5.0、5.1、5.5、5.6當進行增量遷移時,僅支持5.1、5.5、5.6SQL Server2005、2008、2008R2、2012Oracle10g、11g當版本檢查失敗時,只能將源數據庫升降級到數據傳輸服務支持的版本范圍后,再進行預檢查同名對象存在性檢查這個檢查項主要檢查目標庫是否已經存在跟待遷移對象同步的對象。當這個檢查項失敗時,說明目標RDS實例 中已經存在了跟待遷移的對象一樣名字的對象,這會導致遷移失敗。當

15、這個檢查項失敗時,失敗原因為:目標庫存在跟待遷移對象同名的結構對象:遷移庫名。 當這個檢查項失敗時,修復方式為:(1)使用數據傳輸服務提供的庫表映射功能,將待遷移對象遷移到目標庫中的另外一個對象名的對象中(2)刪除或重命名目標庫中跟遷移對象同名的對象 (3)修改遷移任務配置,將同名對象從遷移對象中刪除掉,暫時不遷移這些同名對象約束完整性檢查這個檢查項主要檢查遷移的對象列表中,有外鍵依賴關系的父子表是否都被遷移,防止破壞外鍵約束完整性。 當這個檢查項失敗時,失敗原因為:待遷移表子表名字依賴的父表父表名字沒有遷移對于這種錯誤的修復方式為:不進行約束完整性檢查失敗的子表的遷移,修改遷移任務配置,將這

16、些約束完整性檢查失敗的子表從遷移列 表中刪除后,重新進行預檢查進行約束完整性檢查失敗的子表對應的父表的遷移,修改遷移任務配置,將這些約束完整性檢查失敗的子表 對應的父表添加到遷移列表中后,重新進行預檢查刪除約束完整性檢查失敗的子表的外鍵依賴,修改源數據庫將這些子表的外鍵依賴刪除掉,重新進行預檢查源庫server-id檢查這個配置項只有當進行MySQL-MySQL增量遷移時,才會進行檢查。這個檢查項主要檢查源數據庫的server- id是否設置為大于1的整數。當檢查失敗時,只要在源數據庫執行set global server_id=某個不為1的數,然后重新進行預檢查源庫binlog是否開啟檢查這

17、個配置項只有當進行MySQL-MySQL增量遷移時,才會進行檢查。這個檢查項主要檢查源數據庫是否開啟binlog日志。如果檢查項失敗,那么說明源數據庫沒有開啟binlog。如果binlog沒有打開,那么需要修改源數據庫配置文件中的 log_bin,配置完成后重啟源數據庫后,重新進行預檢查。源庫binlog模式檢查這個配置項只有當進行MySQL-MySQL增量遷移時,才會檢查。這個檢查項主要檢查源數據庫的binlog模式 是否為ROW。如果檢查失敗,那么說明源數據庫的binlog格式不為ROW。如果檢查項失敗,那么在源數據庫中執行set global binlog_format=ROW后重新進行

18、預檢查。建議修改后重啟MySQL,否則連接中的session可能以非ROW模式繼續寫入,這會導致數據丟失。源庫binlog存在性檢查這個配置項只有當進行MySQL-MySQL增量遷移時,才會檢查。這個檢查項主要檢查源數據庫存在的binlog文件是否被刪除。如果檢查失敗,那么說明源數據庫的binlog文件不完整。如果檢查失敗,那么在源數據庫執行PURGE BINARY LOGS TO 未被刪除的第一個binlog文件名 后,重新進行預檢查。 具體purge的文件名參考預檢查的修復方法。Mysql源庫binlog_row_image是否為FULL這個配置項只有當進行進行MySQL-MySQL增量遷

19、移時,才會檢查。這個檢查項主要檢查源數據庫的binlog_row_image是否為full,即是否記錄全鏡像。如果檢查失敗,那么說明源數據庫的binlog未記錄全鏡像。如果檢查失敗,那么在源庫執行set global binlog_row_image=FULL命令后,重新進行預檢查federated類型的表的存在性檢查這個配置項只有當進行進行MySQL-MySQL增量遷移時,才會檢查。這個檢查項主要檢查員數據庫中是否存 在增量遷移不支持的存儲引擎。目前增量遷移不支持federated,mrg_myisam兩種存儲引擎。當檢查失敗,且失敗原因為:源數據庫中存在引擎為FEDERATED的表時,說明

20、源數據庫中要遷移的部分表的存 儲引擎為federated,所以導致檢查失敗。當檢查失敗,失敗原因為:源數 據庫中存在引擎為MRG_MYISAM的表時,說明源數據庫中要遷移的部分表的存儲引擎為mrg_myisam,所以導致檢查失敗。當檢查失敗時,對于這些存儲引擎為federated或mrg_myisam的表,修改遷移任務,將這些表從遷移列表刪 除掉。然后單獨創建一個遷移任務,對這些表進行結構遷移+全量數據遷移。從本地Oracle遷移到RDS MySQL使用DTS()將本地的Oracle遷移至RDS MySQL實例中,可以進行結構定義遷移及全量數據遷移。遷移過程中,對本地的Oracle數據庫沒有影

21、響。遷移類型簡介結 構 遷 移 DTS支持結構遷移的對象有:表。其他對象如視 圖、同義詞、觸發器、存儲過程、存儲函數、包、自定義類型等暫不支持全 量 遷 移 Oracle庫有數據寫入的話,那么這些增量數據不一定能夠被遷移到MySQL中。所以,如果要保證數據一致性,那么盡量 進行業務停機遷移遷移限制遷移過程中,不支持DDL操作結構遷移,只支持單表的遷移,不支持分區表、視圖、同義詞、觸發器、存儲過程、存儲函數、包、dblink及自定義類型的遷移遷移權限要求當使用DTS進行Oracle遷移時,在不同遷移類型情況下,源跟目標數據庫的遷移帳號權限要求如下:遷移類型結構遷移全量遷移本地Oracle實例sc

22、hema的ownerschema的owner目的RDS MySQL實例待遷入db的讀寫權限待遷入db的讀寫權限遷移順序數據傳輸服務在進行Oracle到MySQL上云遷移時,為了解決對象間的依賴,提供遷移成功率。結構對象及數據 的遷移順序如下:進行結構對象:表的遷移全量數據遷移進行結構對象:外鍵的遷移當全量數據遷移完成后,任務列表中的遷移進度如下圖,結構遷移100%,全量遷移100%,但是此時遷移狀態 為遷移中,此時遷移任務正在進行步驟(3)中的對象的遷移。此時,請勿直接結束任務,否則會造成遷移對象 丟失數據類型映射關系由于Oracle跟MySQL的數據類型并不是一一對應的,所以DTS在進行結構

23、遷移時,會根據兩種數據庫類型的數 據類型定義,進行類型映射,下面是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支持longlongtext支持datedatetime支持binary_floatdecimal(65,8)支持binary_doubledoubl

24、e支持timestamp(fractional_secon ds_precision)datetime(fractional_seconds_precision)支持ds_precision)withlocaltime zonedatetime(fractional_seconds_precision)支持ds_precision)withlocaltime zonedatetime(fractional_seconds_precision)支持cloblongtext支持ncloblongtext支持bloblongblob支持rawvarbinary(2000)支持long rawlong

25、blob支持bfile-不支持interval year(year_precision) to mongth-不支持intervalday(day_precision)to recision)-不支持對于char類型,當char(n)的定義長度n超過255時,DTS會自動將類型轉換為varchar(n)由于MySQL本身不支持類似Oracle中的bfile、intervalyeartomonth、intervaldaytosecond這種數據類型,所以DTS在進行結構遷移時,這三種類型不會進行轉化,遷移時如果表中含有這三種類 型,會導致結構遷移失敗,用戶根據業務需求,將這三種類型修改成MySQ

26、L中對應的數據類型即可。由于MySQL的timestamp類型不包含時區,而Oracle的timestampwithlocaltimezone帶時區,所以DTS在遷移這兩種類型的數據時,會將其轉換成UTC時區后,存入MySQL.遷移步驟下面詳細介紹下用戶如何使用DTS將本地的Oracle遷移到RDS for MySQL上的流程RDS實例數據庫創建在正式遷移之前,需要確認目標RDS實例中是否已經創建好了需要遷入的數據庫,如果沒有創建的話,需要先 在目標MySQL實例中創建數據庫。在RDS實例中創建數據庫的操作詳見RDS使用手冊遷移帳號創建在正式遷移之前,需要先在本地Oracle數據庫及云上MyS

27、QL實例中創建遷移帳號,并將要遷移的庫表的相關權 限授權給上面創建的帳號。RDSForMySQLRDS使用手冊RDS使用手冊正式遷移當上面的所有前提條件都配置完成后,就可以開始正式的數據遷移了。下面詳細介紹下具體的遷移步驟。1)進入數據傳輸DTS控制臺,點擊創建遷移任務,正式開始任務創建2) 填寫本地Oracle跟目標RDS實例的連接信息這里面填寫源數據庫跟目標RDS實例的賬號的權限要求詳見上面的遷移權限要求如果Oracle數據庫在本地IDC機房,那么主機名或IP地址要填寫公網連接方式當填寫完連接信息后,點擊授權白名單并進入下一步,DTS會將DTS服務器的IP地址添加到目標RDS實例的白 名單

28、中,防止因為RDS實例設置了白名單,DTS服務連接不上從而導致遷移失敗。3)選擇遷移對象及遷移類型遷移類型默認為:結構遷移+全量數據遷移。遷移對象可以選擇多個schema,或者只是某個schema內部的幾 張表當選擇完遷移對象后,即進入下一步的預檢查節點。4)任務預檢查當預檢查通過后,點擊啟動后,即啟動遷移任務。當遷移啟動之后,可以到任務列表中查看遷移進度本地MySQL遷移至RDS MySQL將本地的MySQL遷移至RDS,可以實現本地應用不停服務的情況下,平 滑得完成數據庫的遷移工作。遷移類型簡介結構遷移數據傳輸會將遷移對象的結構定義遷移到目標實例。目前DTS支持結構遷移的對象有:表、視圖、

29、觸 發器、存儲過程、存儲函數全量遷移數據傳輸會將源數據庫遷移對象在的數據全部遷移到目標實例。如果用戶還選擇了增量遷移,那么全 量遷移過程中,為了保證數據一致性,無主鍵的非事務表會被鎖定,鎖定期間這些表無法寫入,鎖定 時長依賴于這些表的數據量大小,在這些無主鍵非事務表遷移完成后,鎖才會釋放。增量遷移增量遷移會將遷移過程中,源數據庫的變更增量數據同步到目標實例,通過增量數據遷移可以保證源 數據庫遷移過程中產生的增量數據能夠被實時同步到目標庫,最終保證兩個數據庫數據一致遷移限制遷移過程中,不支持DDL操作結構遷移不支持event的遷移如果使用了對象名映射功能后,依賴這個對象的其他對象可能遷移失敗當選

30、擇增量遷移時,源MySQL實例需要開啟binlog當選擇增量遷移時,源庫的binlog_formatrow當選擇增量遷移且源MySQL如果為5.6版本時,它的binlog_row_image必須為full在增量遷移過程中,如果遷移鏈路的源實例為RDS實例,那么當RDS發生了主備切換時,可能發生數 據丟失遷移權限要求當使用DTS進行MySQL遷移時,在不同遷移類型情況下,源跟目標數據庫的遷移帳號權限要求如下:遷移類型結構遷移全量遷移增量遷移本地MySQL實例selectselectselect replication slave replication client目的RDS實例讀寫權限讀寫權限

31、讀寫權限遷移順序數據傳輸服務在進行MySQL-Mysql數據遷移時,為了解決對象間的依賴,提供遷移成功率。結構對象及數據 的遷移順序如下:進行結構對象:表、視圖的遷移全量數據遷移進行結構對象:存儲過程、函數、觸發器、外鍵的遷移增量數據遷移如果任務沒有選擇增量數據遷移,那么當全量數據遷移完成后,任務列表中的遷移進度如下圖,結構遷移(3)中的對象的遷移。此時,請 勿直接結束任務,否則會造成遷移對象丟失。遷移步驟下面詳細介紹下用戶如何使用DTS將本地的MySQL遷移到RDS上的流程RDS實例數據庫創建在正式遷移之前,需要確認目標RDS實例中是否已經創建好了需要遷入的數據庫,如果沒有創建的話,需要在R

32、DS控制臺中,先創建遷入數據庫。遷移帳號創建在正式遷移之前,需要先在本地MySQL數據庫及云上RDS實例中創建遷移帳號,并將要遷移的庫表的讀寫權限 授權給上面創建的帳號。可以使用grant語法給本地MySQL的遷移帳號授權,具體需要授權的權限可以參考上 面的遷移權限要求對于目標RDS實例,需要在RDS控制臺中創建帳號,并將遷入庫的讀寫帳號授權給這個帳號。其他準備工作如果需要進行增量遷移,那么需要確認源庫的binlog是否開啟,格式是否滿足要求。具體確認項如下:確認源庫的binlog是否開啟如果這里面查詢出來的log_bin=OFF,那么說明源庫沒有開啟binlog,這個時候如果需要使用增量遷移

33、的話,需 要修改本地MySQL的binlog配置,打開binlog日志。開啟二進制日志,修改log_bin=mysql_bin設置binlog模式為row,修改binlog_format=row配置server_id大于1,即server_id=某一個大于1的整數如果版本為5.6,修改binlog_row_image=full修改完成后,重啟MySQL進程確認源庫的binlog格式為row模式使用上面的命令確認本地MySQL的binlog格式是否為row,如果查詢出來的結果不為ROW的話,那么通過如下 的參數設置命令將模式修改為row當修改完成后,最好將已有的老連接KILL掉重連,否則可能出現

34、其他的連接依然使用statement格式記錄binlog日志。3)當本地MySQL版本大等于5.6.2時,確認源庫的binlog_row_image=full如果查詢出來的結果不為FULL的話,那么通過如下的參數設置命令將其修改為full正式遷移當上面的所有前提條件都配置完成后,就可以開始正式的數據遷移了。下面詳細介紹下具體的遷移步驟。1)進入DTS控制臺,點擊創建遷移任務,正式開始任務創建2) 填寫本地MySQL跟目標RDS實例的連接信息這里面源實例類型要選擇有公網IP的自建數據庫3)選擇遷移對象及遷移類型默認情況下,遷移對象遷移到目標庫后,對象名跟源庫一致。如果用戶想修改對象在目標庫上的名

35、字時,可以 直接修改已選擇的對象名。當點擊編輯后,即進入對象名稱修改頁面:修改了對象名后,目標實例的對象名即為修改后的對象名。4)啟動預檢查在數據正式遷移之前,會先進行基礎預檢查,只有預檢查通過后,才能啟動遷移如果預檢查失敗,那么可以查看具體的失敗詳情,根據失敗原因修復后,重新進行預檢查當點擊查看后,可以查看到具體的預檢查失敗原因:當修復完成后,可以在任務列表中,選擇這個任務,然后重新啟動預檢查5)啟動遷移任務當預檢查通過后,我們可以啟動遷移任務,任務啟動后,可以到任務列表中查看具體的遷移狀態及進度由于增量數據遷移是個動態長期的過程,所以建議用戶在增量遷移數據達到無延遲狀態時,在目標數據庫上進

36、 行業務驗證,如果驗證成功,那么可以停掉遷移任務,然后將業務切換到目標數據庫。至此,完成將本地MySQL數據庫遷移到RDS的數據遷移工作。本地SQL Server遷移至RDS SQL Server使用DTS()可以輕松得將本地的sqlserver遷移到RDS SQL Server。目前能夠支持的本地sqlserver的版本為2005、2008、2008r2、2012。遷移類型簡介結 構 遷 移 DTS支持結構遷移的對象有:表、視圖、表觸發 器、同義詞、SQL存儲過程、SQL函數、planguid、自定義類型、rule、default全 量 遷 移 遷移限制遷移過程中,不支持DDL操作結構遷移不

37、支持assemblies、庫級存儲過程、service broker、全文索引、全文目錄、分布式schema、分布式函數、CLR標量函數、CLR如果使用了對象名映射功能后,依賴這個對象的其他對象可能遷移失敗遷移權限要求當使用DTS進行sqlserver遷移時,在不同遷移類型情況下,源跟目標數據庫的遷移帳號權限要求如下:遷移類型結構遷移全量遷移本地sqlserver實例selectselect目的RDS實例讀寫權限讀寫權限遷移順序數據傳輸服務在進行SQLServer上云遷移時,為了解決對象間的依賴,提供遷移成功率。結構對象及數據的遷 移順序如下:進行結構對象:表、視圖、同義詞、自定義類型、rul

38、e、default、planguid的遷移全量數據遷移進行結構對象:SQL存儲過程、SQL函數、觸發器、外鍵的遷移當全量數據遷移完成后,任務列表中的遷移進度如下圖,結構遷移100%,全量遷移100%,但是此時遷移狀態 為遷移中,此時遷移任務正在進行步驟(3)中的對象的遷移。此時,請勿直接結束任務,否則會造成遷移對象 丟失。遷移步驟下面詳細介紹下用戶如何使用DTS將本地的sqlserver遷移到RDS上的流程RDS實例數據庫創建在正式遷移之前,需要確認目標RDS實例中是否已經創建好了需要遷入的數據庫,如果沒有創建的話,需要在RDS控制臺中,先創建遷入數據庫。遷移帳號創建在正式遷移之前,需要先在本

39、地sqlserver數據庫及云上RDS實例中創建遷移帳號,并將要遷移的庫表的讀寫權 限授權給上面創建的帳號。 可以使用grant語法給本地sqlserver的遷移帳號授權,具體需要授權的權限可以參考上面的遷移權限要求對于目標RDS實例,需要在RDS控制臺中創建帳號,并將遷入庫的讀寫權限授權給這個帳號。正式遷移當上面的所有前提條件都配置完成后,就可以開始正式的數據遷移了。下面詳細介紹下具體的遷移步驟。1)進入DTS控制臺,點擊創建遷移任務,正式開始任務創建2) 填寫本地MySQL跟目標RDS實例的連接信息這里面源實例類型要選擇有公網IP的自建數據庫,且數據源類型需要選擇SQLServer 3)選

40、擇遷移對象及遷移類型默認情況下,遷移對象遷移到目標庫后,對象名跟源庫一致。如果用戶想修改對象在目標庫上的名字時,可以 直接修改已選擇的對象名。當點擊編輯后,即進入對象名稱修改頁面:修改了對象名后,目標實例的對象名即為修改后的對象名。4)啟動預檢查在數據正式遷移之前,會先進行基礎預檢查,只有預檢查通過后,才能啟動遷移如果預檢查失敗,那么可以查看具體的失敗詳情,根據失敗原因修復后,重新進行預檢查當點擊查看后,可以查看到具體的預檢查失敗原因:當修復完成后,可以在任務列表中,選擇這個任務,然后重新啟動預檢查5)啟動遷移任務當預檢查通過后,我們可以啟動遷移任務,任務啟動后,可以到任務列表中查看具體的遷移

41、狀態及進度至此,完成將本地sqlserver數據庫遷移到RDS的數據遷移工作。SQLServer不停服遷移支持SQLServer增量數據遷移,通過增量數據遷移可以實現在業務不 停機的情況下,完成SQLServer數據庫的遷移。本小節簡單介紹怎么配置任務實現不停服遷移名詞解釋結構遷移數據傳輸會將遷移對象的結構定義遷移到目標實例。目前支持遷移的結構遷移的對象包括:表、視圖、表觸發器、同義詞、SQL存儲過程、SQL函數、plan guid、自定義類型、rule、default全量遷移數據傳輸會將源數據庫遷移對象的全量數據全部遷移到目標實例增量數據遷移將遷移過程中產生的增量數據遷移到目標庫,通過增量數

42、據遷移可以保證源數據庫遷移過程產生的增 量數據可以被同步到目標數據庫,最終保證兩個數據庫的數據一致不停服遷移原理為保證遷移過程中,源數據庫業務寫入的所有變更數據能夠被遷移到目標庫,在全量遷移之前,數據傳輸后臺 就會開啟增量數據拉取模塊,拉取并保存遷移過程中,源數據庫的業務寫入。當全量數據遷移完成后,會啟動 增量寫入模塊,開始回放這些增量數據,從而實現源跟目標實例增量數據實時同步當遷移進入增量遷移階段時,增量數據遷移是一個動態的過程,除非用戶手動停止遷移,否則會一直保持兩邊 數據實時同步,所以建議當增量遷移無延遲時,可以進行源數據庫和目標數據庫的數據校驗,并在目標數據庫 進行業務測試,當這些驗證

43、都通過后,可以停止遷移任,然后將業務切換到目標數據庫上。通過這種遷移方式,可實現在數據遷移過程中,應用停服時間降低到分鐘級別遷移限制結構遷移不支持assemblies、庫級存儲過程、servicebroker、全文索引、全文目錄、分布式schema、分布式函數、CLR標量函數、CLR標值函數、內部表、聚合函數、系統 的遷移如果使用了對象名映射功能后,依賴這個對象的其他對象可能遷移失敗增量遷移,不支持DDL同步增量遷移,只支持含有聚簇索引,且聚簇索引為唯一鍵的表update語句的同步增量遷移,不支持含有計算列的表一個增量遷移任務,只支持一個數據庫的遷移。 如果同時有多個數據庫需要進行增量數據遷移

44、,那么需要創建多個遷移任務遷移準備源數據庫的日志格式必須為full,如果源數據庫的日志格式不為full,那么需要通過下面兩個步驟設置: 1)在源數據庫執行: alter database database_name set recovery_model_desc=full, 其中database_name為需要遷移的數據庫名2) 為了保證開啟完整日志生效,需要在源數據庫進行一次日志備份,在源數據庫執行:BACKUP LOG database_name to DISK=backup_place WITH init , 其中 database_name 為待遷移的數據庫名,backup_place

45、為備份文件存儲的地址如果源數據庫的日志格式不為full,那么也需要先進行一次日志備份,在源數據庫執行:BACKUP LOG database_name to DISK=backup_place WITH init , 其中 database_name 為待遷移的數據庫名,backup_place為備份文件存儲的地址遷移權限要求當使用數據傳輸進行SQLServer遷移時,在不同遷移類型情況下,源跟目標數據庫的遷移帳號權限要求如下:遷移類型結構遷移全量數據遷移增量數據遷移本地SQLServer實例selectselectsysadmin目的RDS實例讀寫權限讀寫權限讀寫權限遷移步驟下面詳細介紹下用

46、戶如何使用數據傳輸服務,在本地應用不停服的情況下,完成本地的SQLServer數據庫到RDS SQLServer實例的遷移流程當上面的所有前提條件都配置完成后,就可以開始正式的數據遷移了。下面詳細介紹下具體的遷移步驟。1)進入數據傳輸控制臺,點擊創建遷移任務,正式開始任務創建2) 購買一個跟目標RDS實例在同一個地域的遷移鏈路當購買完成后,進入數據傳輸控制臺,點擊新購任務右邊的配置遷移任務,開始任務配置2) 填寫本地SQLServer跟目標RDS實例的連接信息這里面源實例類型要選擇有公網IP的自建數據庫,且數據源類型需要選擇SQLServer 3)選擇遷移對象及遷移類型這里面遷移類型,要將三個

47、階段的遷移類型:結構遷移、全量數據遷移、增量數據遷移 都要勾選上4)啟動預檢查在數據正式遷移之前,會先進行基礎預檢查,只有預檢查通過后,才能啟動遷移只有預檢查通過后,才能成功啟動任務5)啟動遷移任務當預檢查通過后,我們可以啟動遷移任務,任務啟動后,可以到任務列表中查看具體的遷移狀態及進度6) 數據同步驗證為了驗證遷移過程中,源數據庫變更是否可以同步到目標庫,我們在遷移過程中,往源庫插入一條記錄,具體 如下圖:可以查看此時源庫表sbtest1中新增了一條記錄,此時到目標庫中查詢這條記錄:所以,通過這種方式可以將遷移過程中源庫產生的增量數據實時同步到目標庫,從而實現數據遷移過程中,應 用停機時間降

48、低到分鐘級別致此,完成本地SQLServer數據庫遷移到RDS的任務配置流程。Oracle遷移至RDS Postgres Plus Advanced Server使用DTS()將本地的Oracle遷移至RDS for PPAS實例中,可以進行結構定義遷移及全量數據遷移。遷移過程中,對本地的Oracle數據庫沒有影響。遷移類型簡介結 構 遷 移 全 量 遷 移 DTS會將源數據庫遷移對象在的數據全部遷移到目標實例。如果遷移過程中,本地Oracle庫有數據寫 入的話,那么這些增量數據不一定能夠被遷移到PPAS中。所以,如果要保證數據一致性,那么盡量選 擇在業務低峰期進行全量遷移遷移限制遷移過程中,

49、不支持DDL操作不支持物化視圖的遷移結構遷移時,會將reverseindex遷移成普通索引結構遷移時,會將位圖索引遷移成普通索引結構遷移時,會將分區索引遷移成,在每個分區上單獨創建自己的索引遷移權限要求當使用DTS進行Oracle遷移時,在不同遷移類型情況下,源跟目標數據庫的遷移帳號權限要求如下:遷移類型結構遷移全量遷移本地Oracle實例schema的ownerschema的owner目的RDS for PPAS實例schema的ownerschema的owner遷移順序數據傳輸服務在進行Oracle到PPAS上云遷移時,為了解決對象間的依賴,提供遷移成功率。結構對象及數據的 遷移順序如下:

50、進行結構對象:表、視圖、同義詞、自定義類型的遷移全量數據遷移進行結構對象:外鍵、觸發器、存儲過程、存儲函數、包的遷移當全量數據遷移完成后,任務列表中的遷移進度如下圖,結構遷移100%,全量遷移100%,但是此時遷移狀態 為遷移中,此時遷移任務正在進行步驟(3)中的對象的遷移。此時,請勿直接結束任務,否則會造成遷移對象 丟失數據類型映射關系由于Oracle跟PPAS的數據類型并不是一一對應的,所以數據傳輸服務在進行結構遷移時,會根據兩種數據庫類 型的數據類型定義,進行類型映射,下面是數據傳輸服務的映射關系。Oracle數據類型PPAS數據類型數據傳輸服務是否支持varchar2(n char/b

51、yte)varchar2(n)支持nvarchar2(n)nvarchar2(n)支持char(n byte/char)char(n)支持nchar(n)nchar(n)支持number(p,s)number(p,s)支持float(p)double precision支持longlong支持datedate支持binary_floatreal支持binary_doubledouble precision支持timestamp(fractional_secon ds_precision)timestamp(fractional_secon ds_precision)支持timestamp(fr

52、actional_secon ds_precision)with time zonetimestamp(fractional_secon ds_precision)with time zone支持ds_precision)withlocaltime zonetimestamp(fractional_secon ds_precision)with time zone支持clobclob支持nclobnclob支持blobblob支持rawraw(size)支持long rawlong raw支持bfile-不支持interval year(year_precision) to mongthint

53、erval year to mongth不支持intervalday(day_precision)to recision)interval day to second(fractional_seconds_p recision)不支持- 由于PPAS不支持數據類型timestamp(fractional_seconds_precision)with local time zone,所以數據傳輸服務在遷移這種類型的數據時,會將其轉換成UTC時區后,存入PPAS的數據類型timestamp(fractional_seconds_precision)with time zone中.遷移步驟下面詳細介

54、紹下用戶如何使用DTS將本地的Oracle遷移到RDS for PPAS上的流程RDS實例數據庫創建在正式遷移之前,需要確認目標RDS實例中是否已經創建好了需要遷入的數據庫,如果沒有創建的話,需要先 在目標PPAS實例中創建數據庫。遷移帳號創建在正式遷移之前,需要先在本地Oracle數據庫及云上PPAS實例中創建遷移帳號,并將要遷移的庫表的相關權限 授權給上面創建的帳號。正式遷移當上面的所有前提條件都配置完成后,就可以開始正式的數據遷移了。下面詳細介紹下具體的遷移步驟。1)進入DTS控制臺,點擊創建遷移任務,正式開始任務創建2) 填寫本地Oracle跟目標RDS實例的連接信息這里面源實例類型要

55、選擇有公網IP的自建數據庫3)選擇遷移對象及遷移類型默認情況下,遷移對象遷移到目標庫后,對象名跟源庫一致。如果用戶想修改對象在目標庫上的名字時,可以 直接修改已選擇的對象名。當點擊編輯后,即進入對象名稱修改頁面:修改了對象名后,目標實例的對象名即為修改后的對象名。4)啟動預檢查在數據正式遷移之前,會先進行基礎預檢查,只有預檢查通過后,才能啟動遷移如果預檢查失敗,那么可以查看具體的失敗詳情,根據失敗原因修復后,重新進行預檢查當點擊查看后,可以查看到具體的預檢查失敗原因:當修復完成后,可以在任務列表中,選擇這個任務,然后重新啟動預檢查5)啟動遷移任務當預檢查通過后,我們可以啟動遷移任務,任務啟動后

56、,可以到任務列表中查看具體的遷移狀態及進度至此,完成將本地Oracle數據庫遷移到RDS for PPAS實例的數據遷移工作。本地PostgreSQL遷移至RDS PostgreSQL使用數據傳輸服務可以輕松得將本地的PostgreSQL遷移至RDS PostgreSQL,目前數據傳輸服務可以支持PostgreSQL的結構遷移及全量數據遷移。遷移類型簡介結構遷移數據傳輸服務會將遷移對象的結構定義遷移到目標實例。對于PostgreSQL,數據傳輸服務支持結構遷 移的對象有:Table、trigger、view、sequence、function、user defined type、rule、do

57、main、operation、aggregate全量遷移數據傳輸服務會將源數據庫遷移對象在的數據全部遷移到目標實例。為了保證遷移數據一致性,建議 在遷移過程中,源數據庫停止業務寫入。如果在遷移過程中 ,源數據庫有業務寫入的話,那么全量遷移后,源跟目標庫數據可能不一致遷移限制源實例,支持PostgreSQL9.2、9.3、9.4遷移過程中,不支持DDL操作不支持遷移使用C語言編寫的function如果使用了對象名映射功能后,依賴這個對象的其他對象可能遷移失敗遷移權限要求當使用數據傳輸服務進行PostgreSQL遷移時,在不同遷移類型情況下,源跟目標數據庫的遷移帳號權限要求如 下:遷移類型結構遷移

58、全量遷移本地PostgreSQL實例pg_catalog的usage權限遷移對象的select目的RDS實例遷移對象的create、usage權限schema的owner遷移順序數據傳輸服務在進行PostgreSQL-RDS For PostgreSQL數據遷移時,為了解決對象間的依賴,提高遷移成功率。結構對象及數據的遷移順序如下:進行結構對象:Table、view、sequence、function、user defined type、rule、domain、operation、aggregate的遷移全量數據遷移進行結構對象:trigger、foreignkey的遷移全量數據遷移完成后,任

59、務列表中的遷移進度如下圖,結構遷移100%,全量遷移100%,但是遷移狀態為遷 移中,此時遷移任務正在進行步驟(3)中的對象的遷移。此時,請勿直接結束任務,否則會造成遷移對象丟失。遷移步驟下面詳細介紹下用戶如何使用數據傳輸服務將本地的PostgreSQL遷移到RDS上的流程RDS實例數據庫創建在正式遷移之前,需要確認目標RDS實例中是否已經創建好了需要遷入的數據庫,如果沒有創建的話,需要先 創建遷入數據庫。遷移帳號創建在正式遷移之前,需要先在本地PostgreSQL數據庫及云上RDS實例中創建遷移帳號,并將要遷移的庫表的相應 權限授權給上面創建的帳號。正式遷移當上面的所有前提條件都配置完成后,

60、就可以開始正式的數據遷移了。下面詳細介紹下具體的遷移步驟。1)進入DTS控制臺,點擊創建遷移任務,正式開始任務創建2) 填寫本地PostgreSQL跟目標RDS實例的連接信息這里面源實例類型要選擇有公網IP的自建數據庫。源實例需要填寫如下幾個內容:實例類型: 實例類型需要選擇有公網IP的自建數據庫數據庫類型: 數據庫類型需要選擇PostgreSQL主機名或IP地址: 數據庫服務安裝服務器的IP或實例的連接串地址端口: 數據庫監聽端口號數據庫名稱: 需要遷移對象所屬數據庫賬號: 數據庫連接賬號密碼: 數據庫連接賬號對應的密碼目標實例需要填寫如下幾個內容: RDS實例ID: 需要遷入數據的RDS實

溫馨提示

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

評論

0/150

提交評論