將資料從 PostgreSQL 複製到 Autonomous Transaction Processing

瞭解如何使用 OCI GoldenGate 將資料從 PostgreSQL 伺服器資料庫複製到 Autonomous Transaction Processing。

開始之前

若要順利完成此快速輸入,您必須具有下列項目:

環境設置: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 檔案
    4. 重新啟動 PostgreSQL 伺服器:
      sudo systemctl restart postgresql.service
  3. 如果使用 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;

環境設定:Autonomous Transaction Processing (ATP)

  1. 下載並解壓縮範例資料庫綱要
  2. 解除鎖定 GGADMIN 使用者。
    1. 在 Oracle Cloud 主控台中,從「自治式資料庫」頁面選取您的 ATP 執行處理,以檢視其詳細資訊並存取「資料庫動作」。
    2. 按一下資料庫動作,然後按一下資料庫使用者
    3. 尋找 GGADMIN ,然後按一下其省略符號功能表 (三個點),然後選取編輯
    4. 在「編輯使用者」面板中,輸入 GGADMIN 密碼、確認密碼,然後取消選取帳戶已被鎖定
    5. 按一下套用變更
  3. 載入目標範例綱要和資料。
    1. 從「資料庫動作 (Database Actions)」功能表中,選取 SQL
    2. 將命令檔從 OCIGGLL_OCIGGS_SETUP_USERS_ADW.sql 複製並貼到 SQL 工作表中。
    3. 按一下執行命令碼。「命令檔輸出 (Script Output)」頁籤會顯示確認訊息。
    4. 清除 SQL 工作表,然後從 OCIGGLL_OCIGGS_SRC_MIRROR_USER_SEED_DATA.sql 複製並貼上 SQL。
    5. 如果要確認表格已成功建立,請關閉 SQL 視窗並重新開啟該視窗。在「導覽器」頁籤中,尋找 SRC_OCIGGLL 綱要,然後從它們各自的下拉式清單中選取表格。

工作 1:建立 OCI GoldenGate 資源

此快速啟動範例需要來源和目標的部署和連線。
  1. 為來源 PostgreSQL 資料庫建立部署
  2. 建立目標 Autonomous Transaction Processing 執行處理的部署
  3. 建立與來源 PostgreSQL 資料庫的連線
    1. 如果是類型,請確定選取 PostgreSQL 伺服器
    2. 如果是資料庫名稱,請輸入 ociggll
    3. 若為主機,請輸入執行 PostgreSQL 之運算執行處理的公用 IP。
    4. 對於連接埠,輸入 5432
    5. 使用者名稱中,輸入 ggadmin
    6. 對於密碼,輸入密碼。
    7. 對於安全協定,請選取純文字
  4. 建立目標 Autonomous Transaction Processing 執行處理的連線
  5. 建立與 GoldenGate 的連線,然後將此連線指派給來源 PostgreSQL 部署
  6. 將來源連線指派給來源 PostgreSQL 部署
  7. 將目標連線指派給目標 Oracle 部署

作業 2:啟用補充記錄日誌

若要啟用補充記錄日誌,請執行下列動作:
  1. 啟動 PostgreSQL GoldenGate 部署主控台:
    1. 從「部署」頁面,選取 PostgreSQL 部署以檢視其詳細資訊。
    2. 在 PostgreSQL 部署詳細資訊頁面上,按一下啟動主控台
    3. 在部署主控台登入頁面上,輸入「任務 1」步驟 1 中提供的 GoldenGate 管理憑證。
  2. 在 GoldenGate 23ai 中,依序按一下左側導覽中的資料庫連線、來源 PostgreSQL 資料庫,然後按一下 Trandata
  3. 在 TRANDATA 頁面的「TRANDATA 資訊」旁邊,按一下新增 TRANDATA (加號圖示)。
  4. 在「交易資料」面板中,針對結構名稱,輸入 src_ociggll.*,然後按一下提交

    附註:

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

工作 3:建立擷取

  1. 新增 Change Data Capture Extract
    1. 在左側導覽中,按一下擷取
    2. 擷取頁面上,按一下新增擷取 (加號圖示),然後完成下列欄位:
      • 在「摘錄資訊」頁面上:
        1. 對於擷取類型,請選取變更資料擷取擷取
        2. 程序名稱中,輸入擷取的名稱,例如 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:建立 Initial Load 擷取Distribution Path

  1. 在「部署」頁面上,選取目標 Autonomous Database 部署。
  2. 在部署詳細資訊頁面上,按一下啟動主控台,然後以管理員使用者身分登入。
  3. 如果使用 IAM 證明資料存放區,請繼續進行「建立 Distribution Path」步驟。如果使用 GoldenGate 證明資料存放區,請建立來源 GoldenGate 用來連線目標 GoldenGate 的使用者。
    1. 在導覽功能表中,按一下使用者管理
    2. 按一下新增使用者 (加號圖示),依下列方式完成欄位,然後按一下送出
      • 使用者名稱中,輸入 ggsnet
      • 對於角色,請選取運算子
      • 輸入兩次密碼來進行驗證。
  4. 來源 PostgreSQL 部署主控台中,為上一個步驟中建立的使用者建立「路徑連線」。
    1. 在瀏覽功能表中,按一下路徑連線
    2. 按一下新增路徑連線 (加號圖示),依下列方式完成欄位,然後按一下送出
      • 若為「證明資料別名」,請輸入 dpuser
      • 針對「使用者 ID」,輸入 ggsnet
      • 若為「密碼」,請輸入上一個步驟中使用的相同密碼。
  5. 建立 Distribution Path
    1. 在服務功能表列中,按一下 Distribution Service ,然後按一下新增 Distribution Path (加號圖示)。
    2. 依下述完成「新增路徑」表單:
      • 在「路徑資訊」頁面上:
        1. 針對路徑名稱,輸入此路徑的名稱。
        2. 按一下下一步
      • 在「來源選項」頁面上:
        1. 對於來源 Extract ,請保留空白。
        2. 歷程檔名稱中,輸入 Initial Load Extract 歷程檔名稱 (I1)。
        3. 按一下下一步
      • 在「目標選項 (Target Options)」頁面上:
        1. 目標中,選取 wss
        2. 目標主機中,輸入目標部署 URL,而不使用 https:// 或任何尾端斜線。
        3. 對於連接埠號碼,請輸入 443
        4. 歷程檔名稱中,輸入 I1
        5. 目標驗證方法中,選取 UserID 別名
        6. 網域中,輸入在上一個步驟中建立的網域名稱。
        7. 別名中,輸入在上一個步驟中建立的別名 (dpuser)。
        8. 按一下下一步
    3. 按一下建立並執行
    您可以返回 Distribution Service 頁面,複查建立的路徑。
  6. 目標 Autonomous Database 部署主控台中,複查因「分送」路徑而建立的「接收者」路徑:
    1. 按一下 Receiver Service
    2. 檢閱 Distribution Path 詳細資訊。

工作 5:為 Initial Load 新增 Replicat

  1. 目標 Autonomous Database 部署中,新增 Checkpoint 表格。
    1. 在導覽功能表中,按一下資料庫連線 (DB Connections)
    2. 選取目標 Autonomous Database 執行處理,然後選取 Checkpoints
    3. Checkpoints 頁面上,按一下新增檢查點 (加號圖示)。
    4. Checkpoint 面板的結構表中,輸入 SRCMIRROR_OCIGGLL.CHECKTABLE
    5. 按一下提交
  2. 新增 Replicat
    1. 按一下導覽功能表中的 Replicats
    2. Replicats 頁面上,按一下新增 Replicat (加號圖示),然後完成「新增 Replicat」欄位,如下所示:
      • Replicat 資訊頁面上:
        1. 對於 Replicat 類型,請選取 Nonintegrated Replicat
        2. 針對程序名稱,輸入名稱,例如 RIL
        3. 按一下下一步
      • 在「Replicat 選項」頁面上:
        1. Replicat 歷程檔名稱中,輸入工作 2 的歷程檔名稱 (I1)。
        2. 若為目標證明資料,請選取 Autonomous Database 連線的網域別名
        3. 對於檢查點表格,請選取您在步驟 1 中建立的檢查點表格。
        4. 按一下下一步
      • 在「參數檔 (Parameter File)」頁面上,以下列方式取代 MAP *.*, TARGET *.*;
        MAP SRC_OCIGGLL.*, TARGET SRCMIRROR_OCIGGLL.*;
    3. 按一下建立並執行
      您會返回 Replicats 頁面,您可以在此複查 Replicat 詳細資訊。
  3. 選取 Replicat ( RIL) 並檢視其詳細資訊
  4. 按一下統計資料並複查插入數目。重新整理頁面.
    • 如果插入數目未變更,則會載入來自 Initial Load 的所有記錄,您可以停止 Replicat ( RIL)
    • 如果「插入」數目持續增加,請持續重新整理頁面,直到 Initial Load 記錄全部載入後再繼續。
  5. 驗證 Initial Load
    1. Oracle Cloud 主控台的 Autonomous Database 詳細資訊頁面上,按一下資料庫動作,然後按一下 SQL
    2. 在 SQL 工具中,在工作表中輸入下列每個敘述句,然後按一下執行敘述句
      SELECT * FROM SRCMIRROR_OCIGGLL.SRC_CITY;
      SELECT * FROM SRCMIRROR_OCIGGLL.SRC_CUSTOMER;
    輸出會傳回因 Initial Load 而載入目標資料庫表格的資料。

工作 6:為 Change Data Capture Extract 建立 Distribution Path

  1. 來源 PostgreSQL 部署主控台中,按一下 Distribution Service
  2. 按一下新增 Distribution Path
  3. 依下述完成「新增路徑」表單:
    1. 在「路徑資訊」頁面上:
      1. 針對路徑名稱,輸入名稱。
      2. 按一下下一步
    2. 在「來源選項」頁面上:
      1. 來源 Extract 中,選取 Change Data Capture Extract (ECDC))。
      2. 歷程檔名稱中,選取 Change Data Capture 歷程檔 (C1)。
      3. 按一下下一步
    3. 在「目標選項 (Target Options)」頁面上:
      1. 目標中,選取 wss
      2. 目標主機中,輸入目標部署主控台 URL (您可以在部署詳細資料頁面上找到此 URL,而不使用 https:// 或任何尾端斜線。
      3. 對於連接埠號碼,請輸入 443
      4. 歷程檔名稱中,輸入 C1
      5. 目標驗證方法中,選取 UserID 別名
      6. 網域中,輸入網域名稱。
      7. 針對別名,輸入別名。
    4. 按一下建立路徑並執行
  4. 在目標 Autonomous Database 部署主控台中,按一下接收器服務,然後複查建立的接收器路徑。

工作 7:為 Change Data Capture 新增 Replicat

  1. 目標 Autonomous Database 部署主控台中,新增 Replicat
    1. 在「管理服務」導覽功能表中,按一下 Replicats
    2. Replicats 頁面上,按一下「新增 Replicat」(加號圖示),然後完成「新增 Replicat」表單,如下所示:
      • 在 Replicat 資訊頁面上:
        1. 對於 Replicat 類型,請選取 Nonintegrated Replicat
        2. 針對程序名稱,輸入名稱,例如 RCDC
        3. 按一下下一步
      • 在「Replicat 選項」頁面上:
        1. Replicat 歷程檔名稱中,輸入工作 3 的歷程檔名稱 (C1)。
        2. 若為目標證明資料,請選取 Autonomous Database 連線的網域和別名。
        3. 針對檢查點表,選取「檢查點」表。
      • 在「Replicat 參數」頁面上,以下列對應取代 MAP *.*, TARGET *.*;
        MAP SRC_OCIGGLL.*, TARGET SRCMIRROR_OCIGGLL.*;
    3. 按一下建立。請勿執行 Replicat
  2. Replicats 頁面上,選取 Initial Load ( RIL) 的 Replicat,並檢視其詳細資訊
  3. 按一下統計資料並複查插入數目。重新整理頁面.
    • 如果插入數目未變更,則會載入來自 Initial Load 的所有記錄,您可以停止 Replicat (RIL)
    • 如果「插入」數目持續增加,請持續重新整理頁面,直到 Initial Load 記錄全部載入後再繼續。

    附註:

    如果未見到任何「插入」,請按一下效能測量結果服務,選取擷取,然後按一下資料庫統計資料
  4. 返回 Replicats 頁面,然後啟動 Change Data Capture (RCDC) 的 Replicat
  5. 啟動 Change Data CaptureReplicat 之後,請複查其詳細資訊統計資料,以檢視「插入」數目。
  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 部署主控台中,選取 Change Data Capture Extract (ECDC),然後按一下統計資料。確認 src_ociggll.src_city 有 10 個插入項目。

      附註:

      如果 Extract 未擷取插入,請重新啟動 ECDC Extract
    3. 在目標 Autonomous Database 部署主控台中,選取 Replicat 名稱 (RCDC)、檢視其詳細資訊,然後檢查統計資料。確認 SRCMIRROR_OCIGGLL.SRC_CITY 有 10 個插入項目。

作業 8:監視與維護處理

  1. 監督效能
  2. 管理歷程檔