將資料從 HeatWave 傳送至 Azure Event Hubs

瞭解如何使用 OCI GoldenGate 將資料從 HeatWave 複製到 Azure Event Hubs。

開始之前

若要順利完成此快速啟動,您必須具備下列項目:

環境設定:HeatWave

設定此「快速啟動」的環境:

  1. 下載範例資料命令檔,然後在 HeatWave 資料庫上執行命令檔,以建立資料庫並載入資料。

  2. 使用下列指令碼建立 ggadmin 使用者。請記得將 <ggadmin-password> 取代為有效的密碼:

    CREATE USER 'ggadmin' IDENTIFIED BY '<ggadmin-password>';
    GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT, CREATE,CREATE VIEW, EVENT, INSERT, UPDATE, DROP,EXECUTE, DELETE ON *.* TO 'ggadmin';
  3. 開啟 port 3306,OCI GoldenGate 可透過此連線。

    1. 在 Oracle Cloud 主控台中,找出 HeatWave 資料庫使用的子網路。

    2. 在子網路的安全清單中,建立 port TCP/3306 的傳入規則。

作業 1:建立 OCI GoldenGate 資源

  1. 建立 MySQL 部署來源 HeatWave 資料庫。

  2. 為目標 Azure Event Hubs 建立大數據部署

  3. 建立來源 MySQL Heatwave 資料庫連線

  4. 建立 Azure Event Hubs 連線

  5. 建立 GoldenGate 連線,然後將此連線指派給來源 MySQL 部署

  6. 指定來源 MySQL 部署的來源連線

  7. 將目標連線指派給目標大數據部署

任務 2:建立擷取

  1. 在「部署 (Deployments)」頁面上,選取在「任務 1」中建立的 MySQL 部署。

  2. 在部署詳細資料頁面上,選取啟動主控台

  3. 使用在任務 1 中建立部署時所指定的管理員憑證登入來源 MySQL 部署主控台。

  4. 使用下列值新增 anChange 資料擷取擷取

    • 擷取類型:變更資料擷取擷取

    • 程序名稱ECDC

    • 擷取歷程檔名稱C1

    • 參數檔:將 MAP *.*, TARGET *.*; 取代為 TABLE SRC_OCIGGLL.*;

工作 3:建立目標大數據部署的分配路徑

  1. 如果使用 IAM 證明資料存放區,請繼續進行步驟 3。如果使用 GoldenGate 證明資料存放區,請建立來源 GoldenGate 用來連線至目標 GoldenGate 的使用者。

    1. 在「部署」頁面上,選取目標大數據部署。

    2. 在部署詳細資料頁面上,選取啟動主控台,然後以管理員使用者身分登入。

    3. 在部署主控台導覽功能表中,選取使用者管理

    4. 選取新增使用者 (加號圖示)、依下列方式完成欄位,然後選取提交

      • 使用者名稱中,輸入 ggsnet

      • 角色中,選取運算子

      • 輸入密碼兩次以進行驗證。

  2. 來源 MySQL 建置主控台中,為在上一個步驟中建立的使用者建立「路徑連線」。

    1. 開啟導覽功能表,然後選取路徑連線

    2. 選取新增路徑連線 (加號圖示) ,依下列方式完成欄位,然後選取送出

      • 證明資料別名中,輸入 dpuser

      • 對於使用者 ID ,請輸入 ggsnet

      • 密碼中,輸入上一個步驟中使用的相同密碼。

  3. 來源 MySQL 部署主控台中,使用下列值新增 aDistribution Path

    1. 來源選項頁面上:

      • 對於來源擷取,請選取在任務 2 中建立的擷取。

      • 歷程檔名稱中,輸入兩個字元的名稱,例如 C1

    2. 目標選項頁面上:

      • 目標主機中,輸入目標部署的主機網域。

      • 連接埠號碼中,輸入 443

      • 歷程檔名稱中,輸入兩個字元的名稱,例如 C1

      • 別名中,輸入在步驟 2 中建立的「證明資料別名」。

  4. 在目標 OCI GoldenGate 大數據部署主控台中,複查因分送路徑而建立的接收端路徑:

    1. 選取接收方服務

    2. 複查「接收者」路徑詳細資訊。

工作 4:新增 Azure 事件 Hub 的 Replicat

  1. 在大數據部署中,選取管理員服務,然後選取新增 Replicat (加號圖示)

  2. 使用下列值新增 aReplicat

    1. 在「Replicat 資訊」頁面的 Replicat 類型下,選取傳統 Replicat ,然後輸入「處理作業名稱」。

    2. 在「Replicat 選項」頁面上:

      • 歷程檔名稱中,輸入「工作 2」的歷程檔名稱。

      • 若為目標,請選取一個 Azure Event Hubs。

      • 若為別名,請選取在任務 1 中建立的 Azure Event Hubs 連線。

    3. 在「Replicat 參數」頁面中,保留預設值。

    4. 在「特性檔」頁面中,提供 topicMappingTemplate 的主題名稱。

    5. 選取建立並執行

工作 5:驗證資料從 HeatWave 複製到 Azure 事件 Hub

執行來源 HeatWave 資料庫更新,以驗證對 Azure Event Hubs 的複寫。

  1. 在 OCI 堡壘主機中,使用 MySQL IP 和 port 3306 建立 SSH 連接埠轉送階段作業。新增您的公用 SSH 金鑰。

  2. 使用您的私密金鑰和 port 3306 連線至 Cloud Shell 中的 MySQL。

  3. 順利連線之後,請執行下列命令:

    mysqlsh admin@localhost:3306 --sql
  4. 執行下列命令檔以執行 HeatWave 資料庫的插入:

    use SRC_OCIGGLL;
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1000,'Houston',20,743113);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1001,'Dallas',20,822416);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1002,'San Francisco',21,157574);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1003,'Los Angeles',21,743878);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1004,'San Diego',21,840689);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1005,'Chicago',23,616472);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1006,'Memphis',23,580075);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1007,'New York City',22,124434);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1008,'Boston',22,275581);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1009,'Washington D.C.',22,688002);
    commit;
  5. 在來源 MySQL 部署主控台中,選取「變更資料擷取」名稱,然後選取統計資料。確認 SRC_OCIGGLL.SRC_CITY 有 10 個插入。

  6. 在目標 Big Data 部署主控台中,選取 Replicat 名稱,然後選取統計資料。確認 SRC_OCIGGLL.SRC_CITY 有 10 個插入。

  7. 在 Azure Event Hubs 中,您可以查看訊息統計資料。