OceanBase 從 VPC 內(nèi)自建 Oracle 遷移至 OceanBase Oracle

2021-06-04 10:38 更新

本文檔為您展示通過 OceanBase 數(shù)據(jù)遷移功能將數(shù)據(jù)庫從自建 Oracle 遷移至 OceanBase Oracle 的操作步驟。OceanBase 數(shù)據(jù)遷移功能支持結(jié)構(gòu)遷移、全量數(shù)據(jù)遷移和增量數(shù)據(jù)同步,保證您在切換數(shù)據(jù)庫之前的數(shù)據(jù)庫遷移環(huán)節(jié)快速、穩(wěn)定,業(yè)務(wù)幾乎無感知。

前提條件

  • 已為源端自建 Oracle 數(shù)據(jù)庫和目標端 OceanBase Oracle 數(shù)據(jù)庫創(chuàng)建了專用于數(shù)據(jù)遷移任務(wù)的數(shù)據(jù)庫用戶,并為其賦予了相關(guān)權(quán)限。

  • 已在目標端 OceanBase MySQL 數(shù)據(jù)庫中創(chuàng)建了對應(yīng)的數(shù)據(jù)庫。OceanBase 數(shù)據(jù)遷移功能支持表和列的遷移,不支持庫的遷移,您需要提前在目標端創(chuàng)建對應(yīng)的數(shù)據(jù)庫。

  • 已創(chuàng)建了源端和目標端的數(shù)據(jù)源。

注意事項

數(shù)據(jù)遷移只會將源庫的數(shù)據(jù)(結(jié)構(gòu))復(fù)制一份到目標數(shù)據(jù)庫,并不會對源庫的數(shù)據(jù)(結(jié)構(gòu))造成影響。啟動遷移任務(wù)之前,OceanBase 數(shù)據(jù)遷移功能會自動對源端數(shù)據(jù)庫和目標端數(shù)據(jù)庫執(zhí)行數(shù)據(jù)遷移的預(yù)檢查,為保證預(yù)檢查順利執(zhí)行,請先確認以下信息:

  • 自建 Oracle 數(shù)據(jù)庫版本必須是 11gR2 版本、12c 或 18c 的非 CDB 版本。

  • 需要保證源端和目標端數(shù)據(jù)庫的時鐘同步。

  • 源端為 Oracle 數(shù)據(jù)庫,字符集必須是 UTF16、UTF8 或 GBK。

  • 源端表的數(shù)據(jù)類型目前只支持 bigint、varchar、tinyint、text、int、timestamp、blob、datetime、decimal、mediumblob、date、time、bit、char 和 binary。

  • 自建數(shù)據(jù)庫所在的 VPC 必須和 OceanBase 數(shù)據(jù)庫位于同一地域。

遷移類型和遷移對象

遷移類型

遷移對象

結(jié)構(gòu)遷移

在結(jié)構(gòu)遷移中,OceanBase 數(shù)據(jù)遷移功能將源庫中的表和列遷移到 OceanBase 目標庫中。

說明 

OceanBase 數(shù)據(jù)遷移功能會自動過濾不支持遷移數(shù)據(jù)庫對象。另外,請確認待遷移的數(shù)據(jù)中沒有分區(qū)表和無主鍵表,否則預(yù)檢查環(huán)節(jié)會提示報錯。

全量遷移

在全量數(shù)據(jù)遷移過程中,當源庫不斷有業(yè)務(wù)寫入時,在全量數(shù)據(jù)遷移完成之前 OceanBase 數(shù)據(jù)遷移功能會啟動增量拉取模塊以拉取源實例中的增量更新數(shù)據(jù),對之進行解析和封裝并存。

增量同步

全量遷移過程開始后,將源庫中發(fā)生變化的數(shù)據(jù)(新增、修改或刪除)同步到 OceanBase 中對應(yīng)的表里。在增量數(shù)據(jù)同步追平后,OceanBase 數(shù)據(jù)遷移功能會維護源庫到目標庫的實時數(shù)據(jù)同步鏈路。

增量數(shù)據(jù)遷移支持同步的 SQL 操作:

  • DML:INSERT、UPDATE、DELETE。

  • DDL:不支持。

數(shù)據(jù)庫用戶權(quán)限

數(shù)據(jù)庫

結(jié)構(gòu)遷移

全量遷移

增量同步

自建 Oracle 數(shù)據(jù)庫

schema 的 owner 權(quán)限

schema 的 owner 權(quán)限

schema 的 owner 權(quán)限

OceanBase Oracle 實例

對業(yè)務(wù)數(shù)據(jù)庫具備創(chuàng)建表、創(chuàng)建索引和創(chuàng)建約束的權(quán)限。

對業(yè)務(wù)數(shù)據(jù)庫具備 INSERT 權(quán)限。

對業(yè)務(wù)數(shù)據(jù)庫具備 INSERT、UPDATE、DELETE 權(quán)限。

操作步驟

  1. 登錄 OceanBase 控制臺。

  2. 在左側(cè)導(dǎo)航欄中單擊數(shù)據(jù)傳輸>項目列表。

  3. 在頁面右上角單擊創(chuàng)建遷移項目。

    1. 指定源端與目標端。

      指定源端、目標端和遷移項目使用的作業(yè)實例,并單擊下一步。

      配置

      說明

      源端名稱

      源終端節(jié)點名稱。如果沒有合適的待選節(jié)點,單擊新建源終端節(jié)點創(chuàng)建一個源終端節(jié)點。

      目標端名稱

      目標端節(jié)點的名稱。如果沒有合適的待選節(jié)點,單擊新建目標端創(chuàng)建一個目標端節(jié)點。

      作業(yè)實例

      處理遷移項目所用的作業(yè)實例。如果沒有合適的作業(yè)實例,單擊新建作業(yè)實例,創(chuàng)建一個新的作業(yè)實例。新建的作業(yè)實例需 1~3 分鐘才能生效。

      項目名稱

      當前遷移項目的項目名稱。系統(tǒng)會自動為您擬定一個項目名稱,由源節(jié)點和目標節(jié)點名稱自動生成。

      說明 

      系統(tǒng)會自動檢查源端和目標端節(jié)點的數(shù)據(jù)庫網(wǎng)絡(luò)連通性,如果顯示 數(shù)據(jù)連通性 表示網(wǎng)絡(luò)連通。

      OceanBase自建2ob指定源端和目標端

    2. 指定遷移類型及對象。

      指定遷移類型,并在左側(cè)源端數(shù)據(jù)庫中勾選需要遷移或同步的對象,將其添加到右側(cè)的目標端數(shù)據(jù)庫中。

      OceanBase創(chuàng)建遷移項目-設(shè)置遷移對象

      確認是否開啟高級設(shè)置。

      配置

      說明

      增量記錄保留時間

      增量事務(wù)語句緩存在作業(yè)實例的最大時間。支持設(shè)置的范圍為 1~2400 小時,默認為 72 小時。

      此選項選擇過大時會影響作業(yè)實例的磁盤空間。

      全量遷移并發(fā)數(shù)

      全量遷移的并發(fā)數(shù)量。支持設(shè)置的范圍為 1~256 個,默認為 16 個。并發(fā)量越高,全量遷移速度越快。

      OceanBase創(chuàng)建遷移項目-高級設(shè)置

    3. 確認信息無誤后,單擊預(yù)檢查。

      預(yù)檢查階段會對源端表的數(shù)據(jù)類型等方面進行全量檢查,只有通過預(yù)檢查才能成功創(chuàng)建遷移任務(wù)。

      OceanBase創(chuàng)建千億項目-預(yù)檢查

  4. 確認無誤后,單擊啟動。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號