將資料從 PostgreSQL 複製到 Autonomous AI 交易處理

瞭解如何使用 OCI GoldenGate 將資料從 PostgreSQL 伺服器資料庫複寫至自治式 AI 交易處理。

開始之前

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

環境設定:PostgreSQL

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

  1. 執行下列命令以安裝 PostgreSQL

    1. 安裝 PostgreSQL 伺服器 :

      sudo yum install postgresql-server
    2. 安裝 postgresql-contrib 模組以避免此 SQL 異常狀況

      sudo yum install postgresql-contrib
    3. 建立新的 PostgreSQL 資料庫叢集:

      sudo postgresql-setup --initdb
    4. 啟用 postgresql.service:

      sudo systemctl enable postgresql.service
    5. 啟動 postgresql.service:

      sudo systemctl start postgresql.service
  2. PostgreSQL 預設只允許本機連線。允許遠端連線至 PostgreSQL

    1. /var/lib/pgsql/data/postgresql.conf 中,準備資料庫以進行複製

    2. 尋找和取消註釋 listen_addresses = 'localhost',並將 localhost 變更為星號 (`):

      listen_addresses = '*'
    3. 將下列參數設定如下:

      • wal_level = logical

      • max_replication_slots = 1

      • max_wal_senders = 1

      • track_commit_timestamp = on

      注意:

      設定 /var/lib/pgsql/data/pg_hba.conf 以確定將從屬端認證設為允許來自 Oracle GoldenGate 主機的連線。例如,新增下列項目:

      #Allow connections from remote hosts
      
      host all all 0.0.0.0/0 md5

      請參閱 pg_hba.conf 檔案瞭解詳細資訊。

      1. 重新啟動 PostgreSQL 伺服器 :
      sudo systemctl restart postgresql.service
      1. 如果使用 Oracle Cloud Compute 代管 PostgreSQL,請開啟連接埠 5432:
      sudo firewall-cmd --permanent --add-port=5432/tcp
      sudo firewall-cmd --reload
      sudo firewall-cmd --list-all
    4. 在 VCN 的安全清單中開啟連接埠 5432。

    5. 連接到 PostgreSQL

      > sudo su - postgres
      > psql

      注意:如果上述範例沒有作用,您也可以輸入 sudo su - postgres psql

    6. 設定 PostgreSQL。

      1. 下載並執行 seedSRCOCIGGLL_PostgreSQL.sql ,以設定資料庫並載入範例資料。

      2. 執行下列命令來設定使用者 (請確定以實際密碼取代 <password>):

      create user ggadmin with password '<password>';
      alter user ggadmin with SUPERUSER;
      GRANT ALL PRIVILEGES ON DATABASE ociggll TO ggadmin;

環境設定:自治式 AI 交易處理 (ATP)

  1. 下載並解壓縮範例資料庫綱要

  2. 解除鎖定 GGADMIN 使用者。

    1. 在 Oracle Cloud 主控台中,從「自治式 AI 資料庫」頁面選取您的 ATP 執行處理,以檢視其詳細資訊並存取 Database Actions。

    2. 選取資料庫動作,然後選取資料庫使用者

    3. 找出 GGADMIN ,然後選取其省略符號功能表 (三個點),然後選取編輯

    4. 在「編輯使用者」面板中,輸入 GGADMIN 密碼,確認密碼,然後取消選取帳戶已鎖定

    5. 選取套用變更

  3. 載入目標範例綱要和資料。

    1. 從「資料庫動作 (Database Actions)」功能表選取 SQL

    2. 將命令檔從 OCIGGLL_OCIGGS_SETUP_USERS_ADW.sql 複製並貼到 SQL 工作表中。

    3. 選取執行命令檔。「命令檔輸出」頁籤會顯示確認訊息。

    4. 清除 SQL 工作表,然後從 OCIGGLL_OCIGGS_SRC_MIRROR_USER_SEED_DATA.sql 複製並貼上 SQL。

    5. 若要驗證表格已順利建立,請關閉 SQL 視窗並重新開啟。在「導覽器」頁籤中,尋找 SRC_OCIGGLL 綱要,然後從表格的個別下拉式清單中選取表格。

作業 1:建立 OCI GoldenGate 資源

此快速啟動範例需要來源和目標的部署和連線。

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

  2. 建立部署目標「自治式 AI 交易處理」執行處理。

  3. 建立來源 PostgreSQL 資料庫連線

    1. 對於類型,請確定選取 PostgreSQL 伺服器

    2. 對於資料庫名稱,請輸入 ociggll

    3. 主機中,輸入 PostgreSQL 執行所在運算執行處理的公用 IP。

    4. 連接埠中,輸入 5432

    5. 使用者名稱中,輸入 ggadmin

    6. 密碼中,輸入密碼。

    7. 安全協定中,選取純文字

  4. 建立目標「自治式 AI 交易處理」執行處理的連線

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

  6. 將來源連線指派給來源 PostgreSQL 部署

  7. 將目標連線指派給目標 Oracle 部署

任務 2:啟用補充記錄

若要啟用補充日誌記錄:

  1. 啟動 PostgreSQL GoldenGate 部署主控台:

    1. 從「部署」頁面中,選取 PostgreSQL 部署以檢視其詳細資訊。

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

    3. 在建置主控台登入頁面中,輸入「工作 1」步驟 1 中提供的 GoldenGate 管理證明資料。

      注意:如果在建立部署時未選取 IAM 作為證明資料存放區,則必須登入。

  2. 在建置主控台中,選取左導覽中的 DB 連線,接著選取來源 PostgreSQL 資料庫,然後選取 Trandata

  3. 在 TRANDATA 頁面的「TRANDATA 資訊」旁邊,選取新增 TRANDATA (加號圖示)。

  4. 在 Trandata 面板中,針對綱要名稱,輸入 src_ociggll,然後選取提交

    注意:使用搜尋欄位來搜尋 src_ociggll,並確認已新增表格。

任務 3:建立擷取

  1. 新增「變更資料擷取」擷取:

    1. 在左側導覽中,選取擷取

    2. 在「擷取」頁面上,選取新增擷取 (加號圖示),然後完成欄位,如下所示:

      • 在「擷取資訊」頁面上:

        1. 對於擷取類型,請選取變更資料擷取擷取

        2. 程序名稱中,輸入 Extract 的名稱,例如 ECDC

        3. 選取下一步

      • 在「擷取選項」頁面上:

        1. 若為「來源」證明資料,請從網域下拉式清單中選取 Oracle GoldenGate

        2. 別名下拉式清單中選取來源 PostgreSQL 資料庫。

        3. 對於「擷取歷程檔名稱」,請輸入兩個字元的歷程檔名稱,例如 C1

        4. 選取下一步

      • 在「擷取參數」頁面上,使用下列項目取代 MAP *.*, TARGET *.*;

        TABLE SRC_OCIGGLL.*;
    3. 選取建立並執行

  2. 新增初始載入摘錄:

    1. 在「擷取」頁面上,選取新增擷取,然後完成「新增擷取」表單,如下所示:

      • 在「擷取資訊」頁面上:

        1. 對於「擷取」類型,請選取初始載入擷取

        2. 處理名稱中,輸入名稱,例如 EIL

        3. 選取下一步

      • 在「擷取選項」頁面上:

        1. 若為「來源」證明資料,請從網域下拉式清單中選取 Oracle GoldenGate

        2. 別名下拉式清單中選取 PostgreSQL 資料庫。

        3. 擷取歷程檔名稱中輸入兩個字元的歷程檔名稱,例如 I1

        4. 選取下一步

      • 在「擷取參數」頁面上,以下列項目取代文字區域的內容:

        EXTRACT EIL
        USERIDALIAS PostgreSQL_Compute, DOMAIN OracleGoldenGate
        EXTFILE I1, PURGE
        TABLE src_ociggll.*;

        注意:請確定先移除 USERIDALIAS 前面的 SOURCEDB 參數,再繼續進行。

    2. 選取建立並執行

您可返回「摘錄」頁面,在此您可以觀察「摘錄」的開始。

任務 4:建立初始載入擷取的分配路徑

  1. 在「建置」頁面上,選取目標 Oracle 建置。

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

  3. 如果使用 IAM 證明資料存放區,請繼續執行「建立分送路徑」步驟。如果使用 GoldenGate 證明資料存放區,請建立來源 GoldenGate 用來連線至目標 GoldenGate 的使用者。

    1. 在導覽功能表中,選取使用者管理

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

      • 使用者名稱中,輸入 ggsnet

      • 角色中,選取運算子

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

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

    1. 在導覽功能表中,選取路徑連線

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

      • 在「證明資料別名」中輸入 dpuser

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

      • 若為「密碼」,請輸入上一個步驟所使用的相同密碼。

  5. 建立分配路徑。

    1. 在服務功能表列中,選取路徑,然後選取新增分送路徑 (加號)。

    2. 完成「新增路徑」表單,如下所示:

      • 在「路徑資訊 (Path Information)」頁面上:

        1. 路徑名稱中,輸入此路徑的名稱。

        2. 選取下一步

      • 在「來源選項 (Source Options)」頁面上:

        1. 對於來源擷取,請保留空白。

        2. 歷程檔名稱中,輸入「起始載入擷取」歷程檔名稱 (I1)。

        3. 選取下一步

      • 在「目標選項 (Target Options)」頁面上:

        1. 目標中,選取 wss

        2. 針對目標主機,輸入不含 https:// 或任何尾端斜線的目標部署 URL。

        3. 連接埠號碼中,輸入 443

        4. 歷程檔名稱中,輸入 I1

        5. 目標認證方法中,選取 UserID 別名

        6. 網域中,輸入在上一個步驟中建立的網域名稱。

        7. 別名中,輸入在上一個步驟中建立的別名 (dpuser)。

        8. 選取下一步

    3. 選取建立並執行

    您可返回「分送服務」頁面,複查建立的路徑。

  6. 目標建置主控台中,複查因「分送」路徑而建立的「接收者」路徑:

    1. 選取路徑

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

作業 5:新增初始載入的 Replicat

  1. 目標 Oracle 建置中,新增「檢查點」表格。

    1. 在導覽功能表中,選取資料庫連線

    2. 選取目標「自治式 AI 資料庫」執行處理,然後選取檢查點。

    3. 在「檢查點」頁面上,選取新增檢查點 (加號圖示)。

    4. 在「檢查點」面板中,針對綱要表格,輸入 SRCMIRROR_OCIGGLL.CHECKTABLE

    5. 選取提交

  2. 新增 Replicat。

    1. 在導覽功能表中,選取「複製」。

    2. 在「複本」頁面上,選取新增 Replicat (加號圖示),然後完成「新增 Replicat」欄位,如下所示:

      • 在 Replicat 資訊頁面上:

        1. Replicat 類型中,選取非整合式 Replicat

        2. 處理名稱中,輸入名稱,例如 RIL

        3. 選取下一步

      • 在「Replicat 選項」頁面上:
        1. 複製追蹤名稱中,輸入任務 2 (I1) 的追蹤名稱。

        2. 目標證明資料中,選取「自治式 AI 資料庫」連線的網域別名

        3. 針對檢查點表格,選取您在步驟 1 中建立的檢查點表格。

        4. 選取下一步

      • 在「參數檔」頁面上,使用下列項目取代 MAP *.*, TARGET *.*;

        MAP SRC_OCIGGLL.*, TARGET SRCMIRROR_OCIGGLL.*;
    3. 選取建立並執行

    您可以返回「複本」頁面,複查 Replicat 詳細資訊。

  3. 選取 Replicat ( RIL) 並檢視其詳細資訊

  4. 選取統計資料,然後複查插入數目。重新整理頁面.

    • 如果「插入」數目未變更,則會載入「初始載入」中的所有記錄,您可以停止 Replicat ( RIL)。

    • 如果「插入」數目持續增加,請持續重新整理頁面,直到「初始載入」記錄全部載入後再繼續。

  5. 驗證初始載入。

    1. 在 Oracle Cloud 主控台的「自治式 AI 資料庫詳細資訊」頁面中,選取資料庫動作,然後選取 SQL

    2. 在 SQL 工具中,將下列每個陳述式輸入工作表,然後選取執行陳述式

      SELECT * FROM SRCMIRROR_OCIGGLL.SRC_CITY;
      SELECT * FROM SRCMIRROR_OCIGGLL.SRC_CUSTOMER;

      輸出應傳回因為「起始載入」而載入至目標資料庫表格的資料。

任務 6:建立變更資料擷取擷取的分配路徑

  1. 來源 PostgreSQL 建置主控台中,選取分配服務

  2. 選取新增分配路徑

  3. 完成「新增路徑」表單,如下所示:

    1. 在「路徑資訊 (Path Information)」頁面上:

      1. 路徑名稱中,輸入名稱。

      2. 選取下一步

    2. 在「來源選項 (Source Options)」頁面上:

      1. 對於來源擷取,請選取「變更資料擷取擷取擷取」(ECDC)。

      2. 針對歷程檔名稱,選取「變更資料擷取」歷程檔 (C1)。

      3. 選取下一步

    3. 在「目標選項 (Target Options)」頁面上:

      1. 目標中,選取 wss

      2. 目標主機中,輸入目標建置主控台 URL (您可以在建置詳細資訊頁面上找到此 URL,而不需要 https:// 或任何尾端斜線)。

      3. 連接埠號碼中,輸入 443

      4. 歷程檔名稱中,輸入 C1

      5. 目標認證方法中,選取 UserID 別名

      6. 針對網域,輸入網域的名稱。

      7. 針對別名,輸入別名。

    4. 選取建立路徑並執行

  4. 在目標 Oracle 部署主控台中,選取接收者服務,然後複查建立的接收者路徑。

作業 7:新增變更資料擷取的 Replicat

  1. 目標 Oracle 建置主控台中,新增 Replicat。

    1. 在「管理服務」導覽功能表中,選取「複本」。

    2. 在「複本」頁面上,選取「新增 Replicat」(加號圖示),然後完成「新增 Replicat」表單,如下所示:

      • 在 Replicat 資訊頁面上:

        1. Replicat 類型中,選取非整合式 Replicat

        2. 程序名稱中,輸入名稱,例如 RCDC

        3. 選取下一步

      • 在「Replicat 選項」頁面上:

        1. 複製追蹤名稱中,輸入任務 3 (C1) 的追蹤名稱。

        2. 目標證明資料中,選取「自治式 AI 資料庫」連線的「網域」和「別名」。

        3. 針對檢查點表格,選取「檢查點」表格。

      • 在「Replicat 參數」頁面中,以下列對應取代 MAP *.*, TARGET *.*;

        MAP SRC_OCIGGLL.*, TARGET SRCMIRROR_OCIGGLL.*;
    3. 選取建立。不執行 Replicat。

  2. 在「複本」頁面上,選取「起始載入的 Replicat ( RIL)」並檢視其詳細資訊

  3. 選取統計資料,然後複查插入數目。重新整理頁面.

    • 如果「插入」數目未變更,則會載入「初始載入」中的所有記錄,您可以停止 Replicat (RIL)。

    • 如果「插入」數目持續增加,請持續重新整理頁面,直到「初始載入」記錄全部載入後再繼續。

      注意:如果您未見到任何「插入」,請選取效能測量結果服務,選取擷取,然後選取資料庫統計資料

  4. 返回 Replicat 頁面,然後啟動 Replicat 以進行變更資料擷取 (RCDC)。

  5. 啟動「變更資料擷取的 Replicat」之後,請複查其詳細資訊統計資料,以檢視插入的數目。

  6. 驗證複寫:

    1. 執行下列命令檔以執行 PostgreSQL 資料庫的插入:

      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);
    2. 在來源 PostgreSQL 部署主控台中,選取「變更資料擷取擷取 (ECDC)」,然後選取統計資料。確認 src_ociggll.src_city 有 10 個插入項目。

      注意:如果 Extract 未擷取任何插入,請重新啟動 ECDC Extract。

    3. 在目標 Oracle 建置主控台中,選取 Replicat 名稱 (RCDC),檢視其詳細資訊,然後檢查統計資料。確認 SRCMIRROR_OCIGGLL.SRC_CITY 有 10 個插入。

工作 8:監督和維護處理作業

  1. 監督複製處理作業

  2. 管理歷程檔