使用 OCI GoldenGate 中的 AI 模型建立向量內嵌

瞭解如何使用 GoldenGate 26ai 和更新版本,在資料複製部署中使用 AI 服務產生向量內嵌。

概觀

OCI GoldenGate 包含 AI 服務,可讓 GoldenGate 流程與來自各種供應商 (OCI Generative AI、OpenAI、Google Gemini 和 Voyage AI) 的 AI 模型互動,以直接在資料複製管線中產生向量內嵌項目。

以下步驟引導您瞭解如何設定與 AI 模型的連線,以及如何使用這些模型在 Replicat 中產生向量內嵌項目。

開始之前

您必須具有下列項目才能繼續:

作業 1:設定環境

工作 2:設定 AI 模型

任務 3:建立整合式擷取

「整合式擷取」會擷取來源資料庫的持續變更。

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

  2. 如有必要,請輸入 oggadmin 作為您在建立部署時所使用的使用者名稱和密碼,然後選取登入

  3. 新增交易資料和檢查點表格:

    1. 開啟導覽功能表,然後選取資料庫連線

    2. 選取連線至資料庫 SourceDB

    3. 在導覽功能表中,選取 Trandata ,然後選取新增 Trandata (加號圖示)。

    4. 結構名稱中,輸入 SRC_OCIGGLL,然後選取提交

    5. 若要驗證,請在「搜尋」欄位中輸入 SRC_OCIGGLL,然後選取搜尋

    6. 開啟導覽功能表,然後選取資料庫連線

    7. 選取連線至資料庫 TargetDB

    8. 在導覽功能表中,選取檢查點,然後選取新增檢查點 (加號圖示)。

    9. 檢查點資料表中,輸入 "SRCMIRROR_OCIGGLL"."CHECKTABLE",然後選取提交

  4. 新增擷取

    備註:請參閱其他擷取參數選項,以取得可用於指定來源表格之參數的詳細資訊。

    在「擷取參數」頁面上,將下列行附加至 EXTTRAIL <trail-name> 下:

    -- Capture DDL operations for listed schema tables
    ddl include mapped
    
    -- Add step-by-step history of to the report file. Useful when troubleshooting.
    ddloptions report
    
    -- Write capture stats per table to the report file daily.
    report at 00:01
    
    -- Rollover the report file weekly. Useful when IE runs
    -- without being stopped/started for long periods of time to
    -- keep the report files from becoming too large.
    reportrollover at 00:01 on Sunday
    
    -- Report total operations captured, and operations per second
    -- every 10 minutes.
    reportcount every 10 minutes, rate
    
    -- Table list for capture
    table SRC_OCIGGLL.*;
  5. 檢查長時間執行的交易。在來源資料庫上執行下列命令檔:

    select start_scn, start_time from gv$transaction where start_scn < (select max(start_scn) from dba_capture);

    如果查詢傳回任何資料列,則您必須找出交易的 SCN,然後確認或倒回交易。

作業 4:新增並執行非整合式 Replicat

  1. 新增並執行 Replicat

    參數檔畫面上,使用下列指令碼取代 MAP *.*, TARGET *.*;

    	-- Capture DDL operations for listed schema tables
     ddl include mapped
     --
     -- Add step-by-step history of ddl operations captured
     -- to the report file. Very useful when troubleshooting.
     ddloptions report
     --
     -- Write capture stats per table to the report file daily.
     report at 00:01
     --
     -- Rollover the report file weekly. Useful when PR runs
     -- without being stopped/started for long periods of time to
     -- keep the report files from becoming too large.
     reportrollover at 00:01 on Sunday
     --
     -- Report total operations captured, and operations per second
     -- every 10 minutes.
     reportcount every 10 minutes, rate
     --
     -- Table map list for apply
     MAP SRC_OCIGGLL.SRC_CITY, TARGET SRCMIRROR_OCIGGLL.SRC_CITY_VECTOR,
     COLMAP (
     USEDEFAULTS,
     CITY_EMBED = @AISERVICE(embed,'OCI_GenAI_TextEmbeddingSmall',CITY)
     );

    備註

    @AISERVICE 函數會使用先前定義的 AI 模型連線,從儲存在 CITY 資料欄中的資料建立內嵌向量。

  2. 執行來源資料庫的插入:

    1. 返回 Oracle Cloud 主控台,然後使用導覽功能表返回 Oracle AI DatabaseAutonomous AI Transaction Processing ,然後瀏覽 SourceDB

    2. 在「SourceDB 詳細資訊」頁面上,選取資料庫動作,然後選取 SQL

    3. 輸入下列插入,然後選取執行命令檔

      		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);
    4. 在 OCI GoldenGate 部署主控台中,選取擷取名稱 (UAEXT) ,然後選取統計資料。確認已列出 SRC_OCIGGLL.SRC_CITY 與 10 個插入。

    5. 回到「總覽」畫面,選取 Replicat 名稱 (REP) ,然後選取統計資料。確認已列出 SRCMIRROR_OCIGGLL.SRC_CITY 與 10 個插入

    6. 移至您的目標「自治式 AI 湖倉一體詳細資訊」頁面,選取資料庫動作,然後選取 SQL

    7. 在 SQL 中,執行 select * from SRCMIRROR_OCIGGLL.SRC_CITY_VECTOR; 並複查結果,包括 OCI GoldenGate 使用 AI 服務建立的向量內嵌。

SRCMIRROR_OCIGGLL.SRC_CITY_VECTOR 表格包含從 SRC_OCIGGLL.SRC_CITY 複製的資料列,而 CITY_EMBED 資料欄包含針對每個城市所產生的向量內嵌。

疑難排解