注意:

以不同目標使用 Oracle GoldenGate 和 Oracle GoldenGate for Big Data 來串流資料

簡介

Oracle GoldenGate 是一個完全託管的服務,可協助資料工程師大規模地將資料從一或多個資料管理系統搬移至 Oracle Cloud 資料庫。在單一介面中設計、執行、協調及監控資料複寫作業,無須配置或管理任何運算環境。

Oracle GoldenGate for Big Data 會即時將交易資料傳輸至大數據和雲端系統,而不會影響來源系統的效能。它可以將即時資料傳遞變得更有效率到最受歡迎的大數據解決方案,包括 Apache Hadoop、Apache HBase、Apache Hive、Confluent Kafka、NoSQL 資料庫、Elasticsearch、JDBC、Oracle Cloud、Amazon Web Services、Microsoft Azure Cloud、Google Cloud 平台及資料倉儲,以協助改善洞察力並及時採取行動。

Oracle Cloud Infrastructure (OCI) Streaming 服務提供完全託管、可擴展且持久的解決方案,可即時擷取及使用大量資料串流。在發布 / 訂閱訊息傳遞模型中以持續且循序方式產生及處理資料的任何使用案例都使用 OCI Streaming。

在本教學課程中,您將瞭解如何將 Oracle Autonomous Database 的資料串流至兩個不同的目標,也就是 Oracle Autonomous Database 和 Oracle Streams 主題。

目標

架構

架構

重要事項:此範例架構僅供學習之用,而且為了保持簡單,我們使用 PUBLIC 子網路,這表示此不應用於生產環境或實際資料處理。

對於生產環境,您必須使用 PRIVATE 子網路,並套用以下所描述的所有安全最佳做法:Oracle 安全最佳做法 )

必要條件

作業 1:建立新的區間

作業 2:建立新的 Oracle Autonomous Database,名為 sourceDB

  1. 按一下左上方的導覽功能表,選取 Oracle Database ,然後按一下 Autonomous Database

  2. 選取先前步驟中建立的串流區間,然後按一下建立 Autonomous Database

    T2_1

  3. 依照下列影像所示填入資訊。

    T2_2

    T2_3

    T2_4

注意:記下您建立的 ADMIN 密碼。

作業 3:建立新的 Oracle Autonomous Database,名為 targetDB

  1. 按一下左上方的導覽功能表,選取 Oracle Database ,然後按一下 Autonomous Database

  2. 選取先前步驟串流中建立的區間,然後按一下建立 Autonomous Database

    T2_1

  3. 依照下列影像所示填入資訊。

    T3_2

    T2_3

    T2_4

注意:記下您建立的 ADMIN 密碼。

作業 4:為 sourceDB 建立新的綱要與設定值

  1. 前往 sourceDB 首頁並按一下資料庫動作,在資料庫上執行 SQL 命令並載入資料。

    T4_1

  2. 下載 findata_schema.sql 檔案並將內容複製到 SQL 執行視窗,並以 SCRIPT 方式執行。

    注意:請確定您已設定 FINDATA 使用者的密碼,並記下本教學課程的後續步驟。

    T4_1

  3. 下載 enable_gg.sql 檔案並將內容複製到 SQL 執行視窗,並以 SCRIPT 方式執行。

    注意:請確定已設定 GGADMIN 使用者的密碼,並注意本教學課程的後續步驟。

    T4_1

作業 5:將 banks_export.sql 檔案中的資料載入 sourceDB

  1. 前往 sourceDB 首頁並按一下資料庫動作,在資料庫上執行 SQL 命令並載入資料。

    T4_1

  2. 下載 banks_export.sql 檔案並將內容複製到 SQL 執行視窗,並以 SCRIPT 方式執行。

    T5_1

  3. 在表格上執行簡單的 COUNT,並檢查插入的資料列數目。

    T5_1

作業 6:為 targetDB 建立新的綱要並載入資料

作業 7:在 sourceDB 上建立名為 OPERACOES 的交易表格

  1. 只在 sourceDB 中建立名為 FINDATA.OPERACOES 的新表格。此表格是 Oracle GoldenGate for Big Data 在 OCI Streaming 主題上擷取及張貼的來源資料。

  2. 前往 sourceDB 首頁並按一下資料庫動作,在資料庫上執行 SQL 命令並載入資料。

    T4_1

  3. 下載 operacoes_table.sql 檔案並將內容複製到 SQL 執行視窗,並以 SCRIPT 方式執行。

T7_1

這是一個空白表格,會收到在 Oracle GoldenGate 上啟動事件的隨機資料。

作業 8:建立 OCI 串流集區

  1. 按一下左上方的導覽功能表,選取分析與 AI ,按一下串流,然後選取串流集區

  2. 按一下建立串流集區並填入下列資訊。

    T8_1

    T8_1

  3. 按一下建立

  4. 按一下 Kafka 連線設定值,並記下連線字串的相關資訊。

    T8_1

作業 9:產生 AUTH TOKEN 以存取 OCI 串流集區

您可以透過與 Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) 上使用者關聯的認證權杖,存取 Oracle Cloud 中的 OCI Streaming (Kafka API) 和其他資源。在 Kafka 連線設定值中,SASL 連線字串有一個名為密碼的參數和 AUTH_TOKEN 值,如上一個作業所述。若要啟用 OCI Streaming 存取,請前往 OCI 主控台並建立 AUTH TOKEN。

  1. 按一下左上方的導覽功能表,選取識別與安全,選取識別網域預設網域使用者

  2. 選取您用來建立更早資源 (例如 Oracle Autonomous DatabaseOCI Stream Pool) 的相同使用者。

T9_1

T9_1

注意:請注意 AUTH TOKEN,您需要下一個步驟。

作業 10:建立 Oracle GoldenGate 連線

為了連線至來源和目標資料庫,Oracle GoldenGate 需要設定正確的連線。

  1. 按一下左上角的導覽功能表,選取 Oracle Database ,然後按一下 GoldenGate

  2. 從左側功能表中選取連線選項,然後按一下建立連線

  3. 建立 sourceDB 連線。

    T9_1

    T9_1

  4. 重複此程序並建立 targetDB 的連線。

    T9_1

    T9_1

  5. 為您的 OCI Streaming 集區 DefaultPool 建立連線。

    T9_1

    T9_1

此時,您應該具有下列連線:

T10_1

作業 11:建立 Oracle GoldenGate 部署 - 類型:ORACLE

  1. 按一下左上角的導覽功能表,選取 Oracle Database ,然後按一下 GoldenGate

  2. 從左側功能表選取部署選項,然後按一下建立部署

    T10_1

    T10_1

注意:請務必儲存您的 oggadmin 密碼。

作業 12:建立 Oracle GoldenGate 部署 - 類型:BIGDATA

  1. 按一下左上角的導覽功能表,選取 Oracle Database ,然後按一下 GoldenGate

  2. 從左側功能表選取部署選項,然後按一下建立部署

    T12_1

    T12_1

    T12_1

  3. 建立部署並啟用之後,繼續進行下一個步驟。

    T12_1

作業 13:建立 Oracle GoldenGate 部署之間的連線

為了讓 Oracle GoldenGate 與 Oracle GoldenGate for Big Data 通訊,我們需要建立連線。

  1. 按一下左上角的導覽功能表,選取 Oracle Database ,然後按一下 GoldenGate

  2. 從左側功能表中選取連線選項,然後按一下建立連線

    T13_1

    T13_1

您的連線可能如下:

T13_1

作業 14:新增 Oracle GoldenGate 部署連線 - GGForOracle

  1. 選取左側功能表中的 GGForOracle 部署,按一下指派的連線,然後按一下指派連線

    T14_1

  2. 新增 sourceDB 連線。

    T14_1

  3. 新增 targetDB 連線。

    T14_1

  4. 新增 GGOracletoGGBigData 的連線。

    T14_1

您應該在 GGForOracle 部署上有下列連線:

T14_1

作業 15:新增 Oracle GoldenGate 部署連線 - GGforBigData

  1. 選取左側功能表中的 GGforBigData 部署,按一下指派的連線,然後按一下指派連線

    T15_1

    T15_1

您應該在 GGforBigData 部署上有下列連線:

T15_1

作業 16:設定 Oracle GoldenGate for GGforOracle

  1. 選取您的 GGForOracle 部署,然後按一下啟動主控台

  2. 輸入證明資料 oggadmin/yourpassword (您在建立部署期間建立的密碼)。

    T16_1

  3. 按一下導覽功能表,然後選取組態,再按一下 + 以新增證明資料。

    T16_1

  4. 新增 GGforBigData 部署的證明資料。

    注意:使用您在部署建立期間設定的 oggadmin

    T16_1

  5. 按一下以連線 sourceDB ,然後按一下 TRANDATA 上的 + ,即可新增複製所需的表格。

    T16_1

  6. 新增 FINDATA.BANKS 表格的記錄,然後按一下提交

    T16_1

  7. 新增 FINDATA.OPERACOES 表格的記錄,然後按一下提交

    T16_1

  8. 若要檢查表格是否已新增,請按一下 FINDATA.* 的篩選。

    T16_1

  9. 按一下以連線 targetDB ,然後按一下 CHECKPOINT 上的 +

    T16_1

    T16_1

  10. 輸入 FINDATA.CHECKTABLE ,然後按一下提交

    T16_1

  11. 現在按一下左側功能表的概要選項,以包含新的擷取。

    T16_1

    T16_1

    T16_1

    T16_1

    • 包含下列參數:

      EXTRACT EXT
      USERIDALIAS sourceDB DOMAIN OracleGoldenGate
      EXTTRAIL E1
      table FINDATA.operacoes;
      table FINDATA.banks;
      
      
  12. 按一下動作開始以開始擷取。

    T16_1

  13. 現在,建立新的 replicat 以將複製套用至 targetDB

    T16_1

    T16_1

    T16_1

    • 包含下列參數:

      REPLICAT REP
      USERIDALIAS targetDB DOMAIN OracleGoldenGate
      MAP FINDATA.BANKS, TARGET FINDATA.BANKS;
      

    注意:此處只複製 FINDATA.BANKS 表格。這是因為我們正在將它複製到 targetDB 。其他表格 FINDATA.OPERACOES 將會在本教學課程之後複製到 OCI Streaming 主題。

  14. 按一下動作開始以啟動複製。

    T16_1

    T16_1

  15. 檢查複製是否適用於 FINDATA.BANKS 表格:前往 sourceDB 的資料庫動作頁面並插入新記錄。

    INSERT INTO FINDATA.BANKS VALUES (999, 999, 'XXXXXX','TEST GOLDENGATE','TESTGG');
    COMMIT;
    

    T16_1

  16. 開啟您的 targetDB 資料庫動作頁面,然後執行下方查詢以檢查記錄是否已建立。

     select * from FINDATA.BANKS WHERE ID_SEQ = 999;
    
    

    T16_1

  17. 按一下分送服務 (Distribution Service) 頁籤,然後新增路徑以傳送資料至 GGforBigData

    T16_1

    T16_1

    T16_1

  18. 按一下動作開始以開始服務分配。

    T16_1

    T16_1

作業 17:設定 Oracle GoldenGate for Big Data - GGforBigData

  1. 選取您的 GGforBigData 部署,然後按一下啟動主控台

  2. 輸入證明資料 oggadmin/yourpassword (您在建立部署期間建立的密碼)。

    T17_1

  3. 按一下接收端服務頁籤,檢查它是否已經運作。這應該如下所示,因為我們已經對這兩個 Oracle GoldenGate 部署之間的連線執行所有必要的設定值。

    T17_2

  4. 現在,我們需要設定 REPLICAT ,才能在 OCI Streaming 主題上發布資料。

  5. 按一下管理服務頁籤。

    T17_1

    T17_1

    T17_1

    • 包含下列參數:

       REPLICAT STRM
       TARGETDB LIBFILE libggjava.so SET property=/u02/Deployment/etc/conf/ogg/STRM.properties
       MAP FINDATA.operacoes, TARGET FINDATA.operacoes , THREADRANGE(1-5);
      
      

      T17_1

    • 只要在此行新增 ${tableName} ,即可使用所有提供的預設值。

      T17_1

  6. 按一下動作開始以啟動複製。

    T17_1

    • 檢查狀態是否為綠色:

      T17_1

作業 18:驗證複寫至 OCI Streaming 主題

  1. 移至您的 sourceDB 資料庫動作頁面,然後在 FINDATA.OPERACOES 表格中插入一些資料列。

    • 您可以使用 load_random_data.sql 程序檔,將隨機資料插入 FINDATA.OPERACOES 表格。

    • 此命令檔會在 FINDATA.OPERACOES 上新增 1.000 個資料列,而且足以檢查複製是否如預期般運作。

      T17_1

  2. 執行下列 SQL 命令,檢查 FINDATA.OPERACOES 中是否有任何記錄。

    SELECT COUNT(*) FROM FINDATA.OPERACOES;
    

    T17_1

  3. 按一下左上方的導覽功能表,選取分析與 AI ,按一下串流,然後從左側功能表中選取串流

  4. 檢查 Oracle GoldenGate for Big Data 是否自動建立新的 TOPIC。

    T17_1

  5. 按一下載入訊息,嘗試使用部分訊息並檢查主題中是否有這些訊息。

    T17_1

重要注意事項載入訊息只適用於最後一個 MINUTE 中使用的訊息,這表示如果您花的時間超過執行 LOAD_RANDOM_DATA.SQL 程序檔的時間,您將不會看到任何結果。

若要查看結果,請移至資料庫並再次執行 LOAD_RANDOM_DATA.SQL 程序檔,然後返回載入訊息,您將會看到訊息。

確認

其他學習資源

探索 docs.oracle.com/learn 的其他實驗室,或者存取更多 Oracle Learning YouTube 頻道上的免費學習內容。此外,請瀏覽 education.oracle.com/learning-explorer 以成為 Oracle Learning 檔案總管。

如需產品文件,請造訪 Oracle Help Center