遷移 PolarDB-X 2.0 數(shù)據(jù)庫(kù)的數(shù)據(jù)至 OceanBase 數(shù)據(jù)庫(kù) MySQL 租戶
本文為您介紹如何使用數(shù)據(jù)傳輸遷移 PolarDB-X 2.0 數(shù)據(jù)庫(kù)的數(shù)據(jù)至 OceanBase 數(shù)據(jù)庫(kù) MySQL 租戶。
如果數(shù)據(jù)遷移任務(wù)長(zhǎng)期處于非活躍狀態(tài)(任務(wù)狀態(tài)為 失敗、已暫停 或 已完成),受增量日志保留時(shí)長(zhǎng)等影響,任務(wù)可能無(wú)法恢復(fù)。數(shù)據(jù)傳輸將主動(dòng)釋放處于非活躍狀態(tài)超過 3 天的數(shù)據(jù)遷移任務(wù),以回收相關(guān)資源,建議您為任務(wù)配置告警并及時(shí)處理任務(wù)相關(guān)異常。
背景信息
云原生數(shù)據(jù)庫(kù) PolarDB 分布式版(簡(jiǎn)稱 PolarDB-X)是由阿里巴巴自主研發(fā)的高性能云原生分布式數(shù)據(jù)庫(kù),為您提供高吞吐、大存儲(chǔ)、低延時(shí)、易擴(kuò)展和超高可用的云時(shí)代數(shù)據(jù)庫(kù)服務(wù)。詳情請(qǐng)參見 什么是云原生數(shù)據(jù)庫(kù) PolarDB 分布式版。
前提條件
數(shù)據(jù)傳輸已具備云資源訪問權(quán)限。詳情請(qǐng)參見 數(shù)據(jù)傳輸遷移角色授權(quán)。
已為源端 PolarDB-X 2.0 數(shù)據(jù)庫(kù)和目標(biāo)端 OceanBase 數(shù)據(jù)庫(kù) MySQL 租戶創(chuàng)建專用于數(shù)據(jù)遷移的數(shù)據(jù)庫(kù)用戶,并賦予其相關(guān)權(quán)限。詳情請(qǐng)參見 管理數(shù)據(jù)庫(kù)賬號(hào) 和 創(chuàng)建數(shù)據(jù)庫(kù)用戶。
使用限制
源端數(shù)據(jù)庫(kù)的操作限制
請(qǐng)勿在結(jié)構(gòu)遷移和全量遷移階段執(zhí)行庫(kù)或表結(jié)構(gòu)變更的 DDL 操作,否則可能造成數(shù)據(jù)遷移任務(wù)中斷。
數(shù)據(jù)傳輸支持的 PolarDB-X 2.0 數(shù)據(jù)庫(kù)版本為 V5.4.x。
遷移 PolarDB-X 2.0 數(shù)據(jù)庫(kù)的數(shù)據(jù)至 OceanBase 數(shù)據(jù)庫(kù) MySQL 租戶時(shí),不支持遷移 TTL 類型的表。
待遷移的表需要具備主鍵或唯一約束,且字段需要具有唯一性,否則可能導(dǎo)致目標(biāo)端數(shù)據(jù)庫(kù)出現(xiàn)數(shù)據(jù)不一致的問題。
數(shù)據(jù)傳輸僅支持遷移庫(kù)名、表名和列名為 ASCII 碼且不包含特殊字符(包括換行、空格,以及 .|"'`()=;/&\)的對(duì)象。
目標(biāo)端是數(shù)據(jù)庫(kù)的情況下,數(shù)據(jù)傳輸不支持目標(biāo)端存在觸發(fā)器(Trigger)。如果存在觸發(fā)器,可能導(dǎo)致數(shù)據(jù)遷移失敗。
OceanBase 數(shù)據(jù)庫(kù)不支持將自增列
AUTO_INCREMENT
作為分區(qū)列。如果源端表中有AUTO_INCREMENT
分區(qū)列,請(qǐng)手動(dòng)修改建表語(yǔ)句。
注意事項(xiàng)
如果您遷移 PolarDB-X 2.0 數(shù)據(jù)庫(kù)的廣播表,可能發(fā)生數(shù)據(jù)丟失等情況,無(wú)法確保數(shù)據(jù)的準(zhǔn)確性。?
如果源端字符集為 UTF-8,建議目標(biāo)端使用與源端兼容的字符集(例如,UTF-8、UTF-16 等),避免因字符集不兼容導(dǎo)致目標(biāo)端出現(xiàn)亂碼等問題。
節(jié)點(diǎn)之間的時(shí)鐘不同步,或者電腦終端和服務(wù)器之間的時(shí)鐘不同步,均可能導(dǎo)致延遲時(shí)間(增量同步/反向增量)不準(zhǔn)確。
例如,如果時(shí)鐘早于標(biāo)準(zhǔn)時(shí)間,可能導(dǎo)致延遲時(shí)間為負(fù)數(shù)。如果時(shí)鐘晚于標(biāo)準(zhǔn)時(shí)間,可能會(huì)導(dǎo)致延遲。
請(qǐng)確認(rèn)數(shù)據(jù)傳輸對(duì) DECIMAL、FLOAT 或 DOUBLE 等列類型的遷移精度是否符合預(yù)期。如果目標(biāo)端字段類型的精度小于源端字段類型的精度,則可能發(fā)生截?cái)喱F(xiàn)象,導(dǎo)致源端和目標(biāo)端的數(shù)據(jù)不一致。
遷移默認(rèn)按照目標(biāo)端參數(shù)
lower_case_table_names = 1
設(shè)置,并以小寫方式創(chuàng)建目標(biāo)端數(shù)據(jù)庫(kù)對(duì)象。源端 PolarDB-X 2.0 數(shù)據(jù)庫(kù)所在的服務(wù)器需要具備足夠的出口帶寬,否則會(huì)影響數(shù)據(jù)遷移的效率。
全量遷移和增量同步過程中,數(shù)據(jù)傳輸會(huì)以 Session 級(jí)別暫時(shí)禁用約束檢查和外鍵級(jí)聯(lián)操作。如果源庫(kù)存在級(jí)聯(lián)更新、刪除等操作,可能導(dǎo)致源端和目標(biāo)端的數(shù)據(jù)不一致。
如果您在數(shù)據(jù)遷移過程中切換 PolarDB-X 2.0 數(shù)據(jù)庫(kù)的網(wǎng)絡(luò)類型,請(qǐng)?jiān)谇袚Q成功后,調(diào)整數(shù)據(jù)遷移任務(wù)的網(wǎng)絡(luò)連接信息。
如果數(shù)據(jù)遷移任務(wù)中僅配置了全量遷移,請(qǐng)不要向源端實(shí)例寫入新的數(shù)據(jù),避免導(dǎo)致源端和目標(biāo)端的數(shù)據(jù)不一致。建議您在配置數(shù)據(jù)遷移任務(wù)時(shí),選擇結(jié)構(gòu)遷移+全量遷移+增量同步,以實(shí)時(shí)保持?jǐn)?shù)據(jù)的一致性。
如果您需要進(jìn)行增量同步,Binlog 日志有以下注意事項(xiàng):
數(shù)據(jù)傳輸僅支持 PolarDB-X 2.0 提供的單流形態(tài)的 Binlog 日志消費(fèi)訂閱能力,詳情請(qǐng)參見 Binlog日志服務(wù)。
您需要開啟 Binlog 日志,并設(shè)置
binlog_row_image
為 full。否則預(yù)檢查會(huì)報(bào)錯(cuò),且無(wú)法成功啟動(dòng)數(shù)據(jù)遷移任務(wù)。如果在創(chuàng)建數(shù)據(jù)遷移任務(wù)時(shí),您僅配置了 增量同步,數(shù)據(jù)傳輸要求源端數(shù)據(jù)庫(kù)的本地增量日志保存 48 小時(shí)以上。
如果在創(chuàng)建數(shù)據(jù)遷移任務(wù)時(shí),您配置了 全量遷移+增量同步,數(shù)據(jù)傳輸要求源端數(shù)據(jù)庫(kù)的本地增量日志至少保留 7 天以上。否則數(shù)據(jù)傳輸可能因無(wú)法獲取增量日志而導(dǎo)致數(shù)據(jù)遷移任務(wù)失敗,甚至導(dǎo)致源端和目標(biāo)端數(shù)據(jù)不一致。
說(shuō)明您可以在全量遷移完成后,將本地增量日志的保存時(shí)間設(shè)置為 48 小時(shí)以上。
庫(kù)表匯聚場(chǎng)景下:
建議您使用匹配規(guī)則的方式映射源端和目標(biāo)端的關(guān)系。
建議您自行在目標(biāo)端創(chuàng)建表結(jié)構(gòu)。如果使用數(shù)據(jù)傳輸創(chuàng)建,請(qǐng)?jiān)诮Y(jié)構(gòu)遷移步驟跳過部分失敗對(duì)象。
如果源端和目標(biāo)端的表結(jié)構(gòu)不完全一致,可能會(huì)出現(xiàn)數(shù)據(jù)不一致的情況。目前已知場(chǎng)景如下:
用戶手動(dòng)創(chuàng)建表結(jié)構(gòu)時(shí),可能會(huì)因超出數(shù)據(jù)傳輸?shù)闹С址秶a(chǎn)生隱式的轉(zhuǎn)換問題,導(dǎo)致源端和目標(biāo)端列的類型不一致。
目標(biāo)端的數(shù)據(jù)長(zhǎng)度小于源端的數(shù)據(jù)長(zhǎng)度時(shí),可能會(huì)出現(xiàn)數(shù)據(jù)截?cái)嗟那闆r,導(dǎo)致源端和目標(biāo)端的數(shù)據(jù)不一致。
如果源端或目標(biāo)端存在僅大小寫不同的表對(duì)象,可能會(huì)因?yàn)樵炊嘶蚰繕?biāo)端大小寫不敏感導(dǎo)致數(shù)據(jù)遷移的結(jié)果不符合預(yù)期。
支持的源端和目標(biāo)端實(shí)例類型
下表中,OceanBase 數(shù)據(jù)庫(kù) MySQL 租戶簡(jiǎn)稱為 OB_MySQL。
源端 | 目標(biāo)端 |
PolarDB-X 2.0(阿里云 PolarDB-X 2.0 實(shí)例) | OB_MySQL(OceanBase 集群實(shí)例) |
PolarDB-X 2.0(阿里云 PolarDB-X 2.0 實(shí)例) | OB_MySQL(Serverless 實(shí)例) |
數(shù)據(jù)類型映射
PolarDB-X 2.0 數(shù)據(jù)庫(kù) | OceanBase 數(shù)據(jù)庫(kù) MySQL 租戶 |
INTEGER | INTEGER |
TINYINT | TINYINT |
MEDIUMINT | MEDIUMINT |
BIGINT | BIGINT |
SMALLINT | SMALLINT |
DECIMAL | DECIMAL |
NUMERIC | NUMERIC |
FLOAT | FLOAT |
REAL | REAL |
DOUBLE PRECISION | DOUBLE PRECISION |
BIT | BIT |
CHAR | CHAR |
VARCHAR | VARCHAR |
BINARY | BINARY |
VARBINARY | VARBINARY |
BLOB | BLOB |
TEXT | TEXT |
ENUM | ENUM |
SET | SET |
JSON | JSON |
DATE | DATE |
DATETIME | DATETIME |
TIMESTAMP | TIMESTAMP |
TIME | TIME |
YEAR | YEAR |
操作步驟
登錄 OceanBase 管理控制臺(tái),購(gòu)買數(shù)據(jù)遷移任務(wù)。
詳情請(qǐng)參見 購(gòu)買數(shù)據(jù)遷移任務(wù)。
在 數(shù)據(jù)傳輸 > 數(shù)據(jù)遷移 頁(yè)面,單擊新購(gòu)買的數(shù)據(jù)遷移任務(wù)后的 配置。
如果您需要引用已有的任務(wù)配置信息,可以單擊 引用配置。詳情請(qǐng)參見 引用數(shù)據(jù)遷移任務(wù)配置。
在 選擇源和目標(biāo) 頁(yè)面,配置各項(xiàng)參數(shù)。
參數(shù)
描述
遷移任務(wù)名稱
建議使用中文、數(shù)字和字母的組合。名稱中不能包含空格,長(zhǎng)度不能超過 64 個(gè)字符。
源端
如果您已新建 PolarDB-X 2.0 數(shù)據(jù)源,請(qǐng)從下拉列表中進(jìn)行選擇。如果未新建,請(qǐng)單擊下拉列表中的 新建數(shù)據(jù)源,在右側(cè)對(duì)話框進(jìn)行新建。參數(shù)詳情請(qǐng)參見 新建 PolarDB-X 2.0 數(shù)據(jù)源。
目標(biāo)端
如果您已新建 OceanBase 數(shù)據(jù)庫(kù) MySQL 租戶數(shù)據(jù)源,請(qǐng)從下拉列表中進(jìn)行選擇。如果未新建,請(qǐng)單擊下拉列表中的 新建數(shù)據(jù)源,在右側(cè)對(duì)話框進(jìn)行新建。參數(shù)詳情請(qǐng)參見 新建 OceanBase 數(shù)據(jù)源。
標(biāo)簽(可選)
單擊文本框,在下拉列表中選擇目標(biāo)標(biāo)簽。您也可以單擊 管理標(biāo)簽 進(jìn)行新建、修改和刪除。詳情請(qǐng)參見 通過標(biāo)簽管理數(shù)據(jù)遷移任務(wù)。
單擊 下一步。在 選擇遷移類型 頁(yè)面,選擇當(dāng)前數(shù)據(jù)遷移任務(wù)的遷移類型。
遷移類型支持 結(jié)構(gòu)遷移、全量遷移、增量同步、全量校驗(yàn) 和 反向增量。
遷移類型
描述
結(jié)構(gòu)遷移
結(jié)構(gòu)遷移任務(wù)開始后,數(shù)據(jù)傳輸會(huì)將源庫(kù)中的數(shù)據(jù)對(duì)象定義(表、索引、約束、注釋和視圖等)遷移至目標(biāo)數(shù)據(jù)庫(kù)中,并自動(dòng)過濾臨時(shí)表。
PoarDB-X 2.0 數(shù)據(jù)庫(kù)至 OceanBase 數(shù)據(jù)庫(kù) MySQL 租戶的結(jié)構(gòu)遷移支持 DRDS 和 AUTO 兩種模式庫(kù)表結(jié)構(gòu)。
重要AUTO 模式無(wú)主鍵表遷移至 OceanBase 數(shù)據(jù)庫(kù),會(huì)轉(zhuǎn)化為無(wú)主鍵非分區(qū)表。如果需要分區(qū),請(qǐng)手動(dòng)指定主鍵和分區(qū)鍵。
全量遷移
執(zhí)行數(shù)據(jù)遷移前,請(qǐng)?jiān)u估源端和目標(biāo)端的性能,建議在業(yè)務(wù)低峰期執(zhí)行數(shù)據(jù)遷移。否則,在全量遷移期間,數(shù)據(jù)傳輸會(huì)占用源端和目標(biāo)端一定的讀寫資源,可能導(dǎo)致數(shù)據(jù)庫(kù)的負(fù)載上升。有關(guān)性能評(píng)估的詳情請(qǐng)參見 遷移評(píng)估的性能評(píng)估。
全量遷移任務(wù)開始后,數(shù)據(jù)傳輸會(huì)將源端庫(kù)表的存量數(shù)據(jù)遷移到目標(biāo)端數(shù)據(jù)庫(kù)對(duì)應(yīng)的表中。
增量同步
增量同步任務(wù)開始后,數(shù)據(jù)傳輸會(huì)將源端數(shù)據(jù)庫(kù)發(fā)生變化的數(shù)據(jù)(新增、修改或刪除)同步至目標(biāo)端數(shù)據(jù)庫(kù)的相應(yīng)表中。
增量同步 支持 DML 同步,您可以根據(jù)需求進(jìn)行自定義配置。詳情請(qǐng)參見 自定義配置 DDL/DML。
全量校驗(yàn)
在全量遷移完成、增量數(shù)據(jù)同步至目標(biāo)端并與源端基本追平后,數(shù)據(jù)傳輸會(huì)自動(dòng)發(fā)起一輪針對(duì)源端數(shù)據(jù)庫(kù)配置的數(shù)據(jù)表和目標(biāo)表的全量數(shù)據(jù)校驗(yàn)任務(wù)。
如果您選擇了 增量同步,且 DML 同步 選項(xiàng)中未選擇所有的 DML,則數(shù)據(jù)傳輸不支持本場(chǎng)景下的全量數(shù)據(jù)校驗(yàn)。
執(zhí)行數(shù)據(jù)遷移前,請(qǐng)?jiān)u估源端和目標(biāo)端的性能,建議在業(yè)務(wù)低峰期執(zhí)行數(shù)據(jù)遷移。否則,在全量校驗(yàn)期間,數(shù)據(jù)傳輸會(huì)占用源端和目標(biāo)端的部分讀資源,可能會(huì)導(dǎo)致數(shù)據(jù)庫(kù)的負(fù)載上升。
反向增量
反向增量任務(wù)開始后,可以實(shí)時(shí)將業(yè)務(wù)切換后在目標(biāo)端數(shù)據(jù)庫(kù)產(chǎn)生的變更數(shù)據(jù)回流至源端數(shù)據(jù)庫(kù)。
通常反向增量會(huì)復(fù)用增量同步的配置,您也可以根據(jù)實(shí)際需求進(jìn)行自定義配置。
單擊 下一步。在 選擇遷移對(duì)象 頁(yè)面,選擇當(dāng)前數(shù)據(jù)遷移任務(wù)的遷移對(duì)象。
您可以通過 指定對(duì)象 和 匹配規(guī)則 兩個(gè)入口選擇遷移對(duì)象。本文為您介紹通過 指定對(duì)象 方式選擇遷移對(duì)象的具體操作,配置匹配規(guī)則的詳情請(qǐng)參見 配置匹配規(guī)則。
重要待遷移的表名和其中的列名不能包含中文字符。
當(dāng)數(shù)據(jù)庫(kù)的庫(kù)名或表名存在“$$”字符時(shí),會(huì)影響數(shù)據(jù)遷移任務(wù)的創(chuàng)建。
在 選擇遷移對(duì)象 區(qū)域,選中 指定對(duì)象。
在 選擇遷移范圍 區(qū)域的 源端對(duì)象 列表選中需要遷移的對(duì)象。您可以選擇一個(gè)或多個(gè)庫(kù)的表、視圖作為遷移對(duì)象。
單擊 >,將其添加至 目標(biāo)端對(duì)象 列表中。
數(shù)據(jù)傳輸支持通過文本導(dǎo)入對(duì)象,并支持對(duì)目標(biāo)端對(duì)象進(jìn)行重命名、設(shè)置行過濾、查看列信息,以及移除單個(gè)或全部遷移對(duì)象等操作。
說(shuō)明通過 匹配規(guī)則 方式選擇遷移對(duì)象時(shí),重命名能力由匹配規(guī)則語(yǔ)法覆蓋,操作處僅支持設(shè)置過濾條件。詳情請(qǐng)參見 配置匹配規(guī)則。
操作
步驟
導(dǎo)入對(duì)象
在選擇區(qū)域的右側(cè)列表中,單擊右上角的 導(dǎo)入對(duì)象。
在對(duì)話框中,單擊 確定。
重要導(dǎo)入會(huì)覆蓋之前的操作選擇,請(qǐng)謹(jǐn)慎操作。
在 導(dǎo)入遷移對(duì)象 對(duì)話框中,導(dǎo)入需要遷移的對(duì)象。
您可以通過導(dǎo)入 CSV 文件的方式進(jìn)行庫(kù)表重命名、設(shè)置行過濾條件等操作。詳情請(qǐng)參見 下載和導(dǎo)入遷移對(duì)象配置。
單擊 檢驗(yàn)合法性。
完成遷移對(duì)象導(dǎo)入后,請(qǐng)先檢驗(yàn)合法性。目前暫不支持列字段映射。
通過檢驗(yàn)后,單擊 確定。
重命名
數(shù)據(jù)傳輸支持重命名遷移對(duì)象的名稱,詳情請(qǐng)參見 數(shù)據(jù)庫(kù)庫(kù)表重命名。
設(shè)置
數(shù)據(jù)傳輸支持
WHERE
條件實(shí)現(xiàn)行過濾,詳情請(qǐng)參見 SQL 條件過濾數(shù)據(jù)。您還可以在 查看列 區(qū)域,查看遷移對(duì)象的列信息。
移除/全部移除
數(shù)據(jù)傳輸支持在數(shù)據(jù)映射時(shí),對(duì)暫時(shí)選中到目標(biāo)端的單個(gè)或多個(gè)對(duì)象進(jìn)行移除操作。
移除單個(gè)遷移對(duì)象
在選擇區(qū)域的右側(cè)列表中,鼠標(biāo)懸停至目標(biāo)對(duì)象,單擊顯示的 移除,即可移除該遷移對(duì)象。
移除全部遷移對(duì)象
在選擇區(qū)域的右側(cè)列表中,單擊右上角的 全部移除。在對(duì)話框中,單擊 確定,即可移除全部遷移對(duì)象。
單擊 下一步。在 遷移選項(xiàng) 頁(yè)面,配置各項(xiàng)參數(shù)。
全量遷移
在 選擇遷移類型 頁(yè)面,選中 全量遷移,才會(huì)顯示下述參數(shù)。
參數(shù)
描述
讀取并發(fā)配置
該參數(shù)用于配置全量遷移階段從源端讀取數(shù)據(jù)的并發(fā)數(shù),最大限制為 512 并發(fā)數(shù)過高可能會(huì)造成源端壓力過大,影響業(yè)務(wù)。
寫入并發(fā)配置
該參數(shù)用于配置全量遷移階段往目標(biāo)端寫入數(shù)據(jù)的并發(fā)數(shù),最大限制為 512。并發(fā)數(shù)過高可能會(huì)造成目標(biāo)端壓力過大,影響業(yè)務(wù)。
全量遷移速率限制
您可以根據(jù)實(shí)際需求決定是否開啟全量遷移速率限制。如果開啟,請(qǐng)?jiān)O(shè)置 RPS(全量遷移階段每秒最多可以遷移至目標(biāo)端的數(shù)據(jù)行數(shù)的最大值限制)和 BPS(全量遷移階段每秒最多可以遷移至目標(biāo)端的數(shù)據(jù)量的最大值限制)。
說(shuō)明此處設(shè)置的 RPS 和 BPS 僅作為限速限流能力,全量遷移實(shí)際可以達(dá)到的性能受限于源端、目標(biāo)端、實(shí)例規(guī)格配置等因素的影響。
目標(biāo)端表對(duì)象存在記錄時(shí)處理策略
處理策略包括 忽略 和 停止遷移:
選擇 忽略:當(dāng)目標(biāo)端表對(duì)象存在數(shù)據(jù)時(shí),如果原數(shù)據(jù)與寫入數(shù)據(jù)沖突,數(shù)據(jù)傳輸采用將沖突數(shù)據(jù)記錄日志,保留原數(shù)據(jù)不變的策略進(jìn)行數(shù)據(jù)寫入。
重要選擇 忽略,全量校驗(yàn)將使用 IN 模式拉取數(shù)據(jù),無(wú)法校驗(yàn)?zāi)繕?biāo)端存在源端沒有的數(shù)據(jù)的場(chǎng)景,并且校驗(yàn)性能會(huì)有一定程度降級(jí)。
選擇默認(rèn)值 停止遷移:當(dāng)目標(biāo)端表對(duì)象存在數(shù)據(jù)時(shí),全量遷移會(huì)報(bào)錯(cuò)不允許遷移,請(qǐng)?zhí)幚砗媚繕?biāo)端數(shù)據(jù)后再繼續(xù)遷移。
重要如果出錯(cuò)后單擊恢復(fù),數(shù)據(jù)傳輸將忽略該配置選項(xiàng),繼續(xù)遷移表數(shù)據(jù),請(qǐng)謹(jǐn)慎操作。
是否允許索引后置
您可以設(shè)置是否允許全量數(shù)據(jù)遷移完成后再創(chuàng)建索引,索引后置功能能夠縮短全量遷移耗時(shí)。選擇索引后置的注意事項(xiàng),請(qǐng)參見表格下方的說(shuō)明。
重要在 選擇遷移類型 頁(yè)面同時(shí)選中 結(jié)構(gòu)遷移 和 全量遷移,才會(huì)顯示該參數(shù)。
僅非唯一鍵索引支持后置創(chuàng)建。
執(zhí)行索引時(shí),如果目標(biāo)端 OceanBase 數(shù)據(jù)庫(kù)遇到下述報(bào)錯(cuò),數(shù)據(jù)傳輸會(huì)進(jìn)行忽略,默認(rèn)索引創(chuàng)建成功,不會(huì)再重復(fù)創(chuàng)建。
OceanBase 數(shù)據(jù)庫(kù) MySQL 租戶報(bào)錯(cuò)
Duplicate key name
。OceanBase 數(shù)據(jù)庫(kù) Oracle 租戶報(bào)錯(cuò)
name is already used by an existing object
。
當(dāng)目標(biāo)端為 OceanBase 數(shù)據(jù)庫(kù),并且此處選擇 允許 后,請(qǐng)進(jìn)行下述配置:
單條索引 DDL 并發(fā)配置:并行度越高,資源消耗越大,遷移速度越快。
最大并發(fā)索引 DDL 數(shù)量配置:同一時(shí)刻,系統(tǒng)調(diào)用的后置索引 DDL 數(shù)量的最大值限制。
允許索引后置的情況下,建議您根據(jù) OceanBase 數(shù)據(jù)庫(kù)的硬件條件和當(dāng)前業(yè)務(wù)流量情況,通過黑屏客戶端工具調(diào)整以下業(yè)務(wù)租戶參數(shù)。
// 文件內(nèi)存緩沖區(qū)限制 alter system set _temporary_file_io_area_size = '10' tenant = 'xxx'; // V4.x 關(guān)閉限流 alter system set sys_bkgd_net_percentage = 100;
增量同步
在 選擇遷移類型 頁(yè)面,選中 增量同步,才會(huì)顯示下述參數(shù)。
參數(shù)
描述
寫入并發(fā)配置
該參數(shù)用于配置增量同步階段往目標(biāo)端寫入數(shù)據(jù)的并發(fā)數(shù),最大限制為 512。并發(fā)數(shù)過高可能會(huì)造成目標(biāo)端壓力過大,影響業(yè)務(wù)。
增量同步速率限制
您可以根據(jù)實(shí)際需求決定是否開啟增量同步速率限制。如果開啟,請(qǐng)?jiān)O(shè)置 RPS(增量同步階段每秒最多可以同步至目標(biāo)端的數(shù)據(jù)行數(shù)的最大值限制)和 BPS(增量同步階段每秒最多可以同步至目標(biāo)端的數(shù)據(jù)量的最大值限制)。
說(shuō)明此處設(shè)置的 RPS 和 BPS 僅作為限速限流能力,增量同步實(shí)際可以達(dá)到的性能受限于源端、目標(biāo)端、實(shí)例規(guī)格配置等因素的影響。
增量同步起始位點(diǎn)
如果選擇遷移類型時(shí)已選擇 全量遷移,則不顯示該參數(shù)。
如果選擇遷移類型時(shí)未選擇 全量遷移,但選擇了 增量同步,請(qǐng)?jiān)诖颂幹付ㄟw移某個(gè)時(shí)間節(jié)點(diǎn)之后的數(shù)據(jù),默認(rèn)為當(dāng)前系統(tǒng)時(shí)間。詳情請(qǐng)參見 設(shè)置增量同步位點(diǎn)。
反向增量
在 選擇遷移類型 頁(yè)面,選中 反向增量,才會(huì)顯示該區(qū)域的參數(shù)。反向增量的配置參數(shù)默認(rèn) 復(fù)用增量同步配置。
您也可以取消復(fù)用增量同步配置,根據(jù)實(shí)際需求進(jìn)行配置。
參數(shù)
描述
寫入并發(fā)配置
該參數(shù)用于配置反向增量階段往源端寫入數(shù)據(jù)的并發(fā)數(shù),最大限制為 512。并發(fā)數(shù)過高可能會(huì)造成源端壓力過大,影響業(yè)務(wù)。
反向增量速率限制
您可以根據(jù)實(shí)際需求決定是否開啟反向增量速率限制。如果開啟,請(qǐng)?jiān)O(shè)置 RPS(反向增量同步階段每秒最多可以同步至源端的數(shù)據(jù)行數(shù)的最大值限制)和 BPS(反向增量同步階段每秒最多可以同步至源端的數(shù)據(jù)量的最大值限制)。
說(shuō)明此處設(shè)置的 RPS 和 BPS 僅作為限速限流能力,反向增量同步實(shí)際可以達(dá)到的性能受限于源端、目標(biāo)端、實(shí)例規(guī)格配置等因素的影響。
增量同步起始位點(diǎn)
如果選擇遷移類型時(shí)已選擇 全量遷移,則不顯示該參數(shù)。
如果選擇遷移類型時(shí)未選擇 全量遷移,但選擇了 增量同步,則默認(rèn)以正向切換(如有)為準(zhǔn),不支持修改。
高級(jí)選項(xiàng)
當(dāng)目標(biāo)端 OceanBase 數(shù)據(jù)庫(kù) MySQL 租戶為 V4.3.0 及之后版本,并且在 選擇遷移類型 頁(yè)面,選中 結(jié)構(gòu)遷移,才會(huì)顯示該區(qū)域的參數(shù)。
目標(biāo)端表對(duì)象存儲(chǔ)類型包括 默認(rèn)、行存、列存 和 行列混存,該配置用于確定結(jié)構(gòu)遷移時(shí)目標(biāo)端表對(duì)象的存儲(chǔ)類型,詳情請(qǐng)參見 default_table_store_format。
說(shuō)明默認(rèn) 選項(xiàng)是根據(jù)目標(biāo)端參數(shù)配置自適應(yīng)其他選項(xiàng),是結(jié)構(gòu)遷移的表對(duì)象根據(jù)設(shè)置的存儲(chǔ)類型寫入對(duì)應(yīng)的結(jié)構(gòu)。
單擊 預(yù)檢查,系統(tǒng)對(duì)數(shù)據(jù)遷移任務(wù)進(jìn)行預(yù)檢查。
在 預(yù)檢查 環(huán)節(jié),數(shù)據(jù)傳輸會(huì)檢查數(shù)據(jù)庫(kù)用戶的讀寫權(quán)限、數(shù)據(jù)庫(kù)的網(wǎng)絡(luò)連接等是否符合要求。全部檢查任務(wù)均通過后才能啟動(dòng)數(shù)據(jù)遷移任務(wù)。如果預(yù)檢查報(bào)錯(cuò):
您可以在排查并處理問題后,重新執(zhí)行預(yù)檢查,直至預(yù)檢查成功。
您也可以單擊錯(cuò)誤預(yù)檢查項(xiàng)操作列中的 跳過,會(huì)彈出對(duì)話框提示您跳過本操作的具體影響,確認(rèn)可以跳過后,請(qǐng)單擊對(duì)話框中的 確定。
預(yù)檢查成功后,單擊 啟動(dòng)任務(wù)。
如果您暫時(shí)無(wú)需啟動(dòng)任務(wù),請(qǐng)單擊 保存。后續(xù)您只能在 遷移任務(wù)列表 頁(yè)面手動(dòng)啟動(dòng)任務(wù)或通過批量操作啟動(dòng)任務(wù)。批量操作的詳情請(qǐng)參見 批量操作數(shù)據(jù)遷移任務(wù)。
數(shù)據(jù)傳輸支持在數(shù)據(jù)遷移任務(wù)運(yùn)行過程中修改遷移對(duì)象及其行過濾條件,詳情請(qǐng)參見 查看和修改遷移對(duì)象及其過濾條件。數(shù)據(jù)遷移任務(wù)啟動(dòng)后,會(huì)根據(jù)所選擇的遷移類型依次執(zhí)行,詳情請(qǐng)參見 查看遷移詳情。