新增擷取
瞭解新增 Extract 的先決條件和考量。
在您開始新增 Extract 之前,請確定已設定下列設定值:
現在,您已準備好為部署新增 Extract。
先前有 Extract 歷程檔時建立 Extract 的考量
-
如果您在舊組態中已有獨立的歷程檔時建立 Extract,則處理作業可能會失敗。例如,如果
north/ea00000000仍來自先前的組態且尚未移除,則建立 Extract 可能會失敗。 -
如果您重新新增以較高序號開始的 Extract,而上一個歷程檔序號存在時,則 Extract 組態可能不同步或不正確。例如,如果
north/ea00002261存在且您重新建立從north/ea00002262開始的 Extract,則 Extract 組態可能不正確。在這些情況下,應移除或移動現有的歷程檔至未參照的位置。
擷取資訊畫面
登入 Microservices 首頁之後,請按一下「建立」資料欄中的 + 登入,以開啟新增擷取精靈。
在擷取資訊畫面上,選取「擷取」類型。視資料庫平台而定,可用的擷取類型可能是整合式擷取、變更資料擷取擷取及初始載入擷取。
如果您需要設定 Oracle AI Database 的下游擷取,請啟用下游擷取切換開關。
選取要建立的 Extract 類型,並指定下列各項:
-
處理名稱:擷取處理的名稱。「擷取」處理程序的名稱最多可以有 8 個字元。
-
描述:正在建立的擷取處理描述
注意:若要瞭解如何建立初始載入 Extract,請參閱建立。
按下一步。
註冊擷取畫面 - PostgreSQL 和 Yugabyte 資料庫
注意:必須註冊 Oracle GoldenGate Extract for Oracle、不同的 PostgreSQL Flavors 和 Yugabyte Database。不過,在新增 Extract 時,登錄 Extract 的組態選項會顯示在不同的畫面上。
注意:另請參閱 PGOUTPUT Plugin 類型的準則和限制。
在註冊擷取畫面上,設定下列選項,然後按一下註冊:
-
來源證明資料:指定資料庫的網域。
-
別名:指定作為來源登入之資料庫連線的使用者 ID 別名,或從顯示的選項中選取。
-
(所有 PostgreSQL 口味) 外掛程式類型:選取邏輯解碼外掛程式類型 pgoutput 。pgoutput 是所有 PostgreSQL 類型的預設值。

如需 PostgreSQL 17 和更新版本容錯移轉複製插槽組態的詳細資訊,請參閱Oracle GoldenGate 的容錯移轉支援 (含 PostgreSQL 17 和更新版本) 。
-
(僅限 Yugabyte 資料庫) 外掛程式類型:選取邏輯解碼外掛程式類型 yboutput 。YBOUTPUT 是 Yugabyte 資料庫的預設值。
擷取註冊成功後,按一下下一步。

按下一步。
從管理從屬端註冊 PostgreSQL 和 Yugabyte 資料庫的 Extract
PostgreSQL 的 Extract 必須在資料庫中註冊,並被授予保留的複製槽位。複製插槽是透過資料庫組態設定值 max_replication_slots 配置,而且可以如資料庫組態中所述來設定。
請依照下列指示註冊 Extract。擷取註冊必須在建立 Extract 之前完成。如需詳細資訊,請參閱 Oracle GoldenGate 命令行介面參照中的 REGISTER EXTRACT 。
-
連線至部署,然後連線至來源資料庫的證明資料別名。
CONNECT http*s*://*remotehost*:*srvmgrport* DEPLOYMENT *deployment_name* AS *deployment_user* PASSWORD *deployment_password*OGG (https://*remotehost*:*16000**postgresql_source*)> DBLOGIN USERIDALIAS *alias* -
註冊 Extract,此 Extract 會在內部建立 Extract 的複製槽位。擷取名稱不得超過 8 個英數字元。
REGISTER EXTRACT *extname*若要使用
pgoutputPlugin 明確註冊 Extract,您必須指定pgoutputPlugin 類型:REGISTER EXTRACT *extname* PGPLUGINTYPE pgoutput;
您也可以從 Oracle GoldenGate MA Web 介面註冊 Extract。請參閱新增擷取。
PGOUTPUT 外掛程式類型的準則和限制
設定 PGOUTPUT 外掛程式類型的準則
設定 PostgreSQL 的外掛程式類型時,請遵循下列準則:
-
必須先建立公布,才能登錄「擷取」處理。
-
出版品名稱不得包含特殊字元:逗號 (,)、單引號 ('),以及雙引號 (")。
-
可以將多個發佈名稱指定為
publication_names內的逗號分隔清單。舉例而言:TRANLOGOPTIONS STREAMINGOPTIONS (publication_names="my*123,my_publication2,123 pub,my_publication";)如需詳細資訊,請參閱
TRANLOGOPTIONS STREAMINGOPTIONS參數。 -
清單中的最後一個出版品名稱必須以分號 (;) 結尾。
限制
選取 PostgreSQL 的 Plugin 類型時,會套用下列限制:
-
時區 (TZ) 環境變數:
WAL寄件者處理一律會在 UTC.If 中傳輸確認時戳,OGG 階段作業時區與 UTC 不同,當「CDC 擷取」處理中的時戳定位時,可能會發生差異。若要避免此問題,使用者必須在建置層設定環境變數TZ=UTC。此限制特別適用於pgoutput外掛程式。 -
多重截斷:只有
pgoutput外掛程式支援多個截斷作業。test_decodingPlugin 類型不允許有多個截斷項。 -
具有唯一索引但沒有主索引鍵的表格:如果表格沒有主索引鍵但包含唯一索引,則複本識別必須使用索引,否則必須設為
FULL。 -
發布刪除對 CDC 擷取的影響:如果在「CDC 擷取」仍在執行時刪除發布,複製槽位有損毀的風險,導致其停止運作。在此情況下,受影響的複製插槽無法使用,而重新建立相同的發布也無法解決此問題。建議的解決方案是建立新的發布,並將其與新的複製插槽關聯以還原 CDC 功能。
-
適用於發布的表格:發布中只能包含永久基礎表格和分割的表格。下列物件類型不可以是公布的一部分:
-
暫存表
-
未記錄的表格
-
外形尺寸
-
具體化視觀表
-
一般檢視
-
-
含 pgoutput Plugin 的雙向複製支援:使用
pgoutputPlugin 進行雙向複製時,必須先建立檢查點表格並包含在發布清單中,再啟動「CDC 擷取」處理作業。此外,只有在建立檢查點表格並新增至發布之後,才應該建立複製槽位。 -
資料欄層次發布限制:CDC 複製不支援為發布中的表格指定資料欄子集。您必須在出版品中包含整個表格。嘗試只新增部分資料欄可能會導致 CDC 串流中的錯誤或資料差異。
擷取選項畫面
注意:此畫面提供註冊 Extract for Oracle AI Database 的選項。如果您正在新增 PostgreSQL 的 Extract,則會在註冊擷取畫面上完成 Extract 註冊。
在擷取選項畫面中設定下列設定值:
-
Extract 歷程檔:
-
名稱:擷取歷程檔的名稱。歷程檔的名稱最多可有 2 個字元。
-
子目錄:儲存 Extract 歷程檔之子目錄的目錄名稱。
-
歷程檔順序:歷程檔的序號。
-
歷程檔大小:歷程檔的大小上限。
-
加密設定檔:加密設定檔的描述。如果您尚未建立加密設定檔,則預設會選取「本機公事包」設定檔。若要深入瞭解如何建立及套用加密設定檔,請參閱 Apply the OKV Encryption Profile 。
-
加密演算法:擷取歷程檔可用的加密演算法清單。
-
(僅限 Oracle) 註冊選項:指定下列選項以註冊 Extract for Oracle AI Database。
CSN :確認序號 (CSN) 值。
-
共用:此下拉式清單是用來定義如何共用 LogMiner 資料說明。可用的選項包括「自動」、「無」和「擷取名稱」。自動表示系統決定要共用的 Extract。無表示不會共用 LogMiner 資料說明。擷取名稱表示 LogMiner 資料字典與指定的 Extract 共用。
-
最佳化:啟用此選項以最佳化 Extract 註冊。
-
從管理用戶端登錄 Oracle 的擷取
請依照下列指示註冊 Extract。擷取註冊必須在建立 Extract 之前完成。
確定您使用 DBLOGIN 命令與資料庫連線。
如需詳細資訊,請參閱 Oracle GoldenGate 命令行介面參照中的 [REGISTER EXTRACT](/pls/topic/lookup?ctx=en/database/goldengate/core/26/coredoc&id=GCLIR-GUID-5E42DB9E-EFDF-40C0-89D7-88413496B8A3)。
-
使用「管理從屬端」連線至部署,然後連線至來源資料庫的證明資料別名。
OGG> CONNECT https://*remotehost*:*srvmgrport* DEPLOYMENT *deployment_name* AS *deployment_user* PASSWORD *deployment_password*執行
CONNECT命令時,命令提示字元會從「未連線」變更為「https://servername:port deployment_name」,如下列範例所示:OGG (https://*pdbeast.vcn.oracle.com*:*16000**depl_east*)> -
使用
DBLOGIN命令連線至資料庫:OGG (https://*remotehost*:*port**oracle_source*)> DBLOGIN USERIDALIAS *alias* -
登錄 Extract。Extract 名稱不能超過 8 個文數字字元。
OGG (https://*remotehost*:*port**oracle_source*)> REGISTER EXTRACT *extname* DATABASE
您也可以在從 Oracle GoldenGate MA Web 介面建立 Extract 時,於背景註冊 Extract。請參閱新增擷取以取得詳細資料。
下游擷取畫面
僅適用於 Oracle。
如果您在擷取資訊畫面上選取下游擷取,則會顯示下游擷取選項畫面。使用此畫面設定順流 Extract 的順流探勘資料庫連線。
-
探勘證明資料:在網域和別名方塊中指定網域和使用者 ID 別名值。
-
沒有使用者 ID/ 沒有來源資料庫連線:啟用此切換開關,即可使用 Active Data Guard (ADG) 設定探勘資料庫連線。將會顯示輸入 ADG 擷取證明資料的選項:
-
網域:ADG 擷取資料庫的網域名稱。
-
別名:ADG 擷取資料庫的網域別名。
-
注意:使用 ADG 進行下游擷取不支援每一 PDB 擷取。
按下一步。
受管理選項畫面
在受管理選項畫面上,設定 Extract 處理作業的自動啟動和自動重新啟動選項。下表提供這些選項:
下表提供這些選項:
| 選項 | 說明 |
|---|---|
| 設定檔名稱 | 提供自動啟動和自動啟動設定檔的名稱。您可以選取預設或自訂選項。 若您已建立設定檔,則您也可選取該設定檔。如果您選取「自訂」選項,則您可以從此區段本身設定新資料檔。 |
| 對於部署狀況具有重大影響 | (僅限 Oracle) 如果設定檔對建置狀況至關重要,請啟用此選項。
備註: 此選項只有在建立 Extract 或 Replicat 時才會顯示,而不是在「設定檔」頁面中設定受管理處理作業時才會顯示。 |
| 自動啟動 | 啟用自動啟動處理。 |
| 啟動延遲 | 啟動處理作業前應等待的時間 (秒) |
| 自動重新啟動 | 設定重新開始處理 (若終止) 的方式 |
| 重試次數上限 | 指定嘗試啟動處理的重試次數上限 |
| 重試延遲 | 嘗試啟動處理的延遲時間 |
| 重試時段 | 嘗試啟動處理的持續時間間隔 |
| 失敗時重新啟動條件 | 若為 true 作業只會在失敗時重新啟動. |
| 重試次數用完後停用作業 | 若為 true,則會在用盡所有重新啟動處理作業的嘗試後停用作業。 |
按下一步。
擷取參數檔畫面
在參數檔畫面中,您可以編輯文字區域中的參數檔,列出想要擷取的表格詳細資訊。以下是 Extract 參數檔範例:
EXTRACT exte
USERIDALIAS ggeast DOMAIN OracleGoldenGate
EXTTRAIL east/ea
DDL INCLUDE MAPPED
TABLE hr.*;
按一下建立並執行以建立並開始擷取。如果您選取建立,則會建立擷取,但您需要使用擷取選項來開始擷取。
您可以返回「管理服務」首頁或「擷取」頁面,其中列出所有建立的 Extract。
建立要擷取的參數檔
請遵循這些指示來建立「摘錄」的參數檔。
-
(僅限 MySQL) 在 Windows 伺服器和 Linux 伺服器 (針對低於 23.10.x 的 OGG 版本) 上執行 Oracle GoldenGate for MySQL 時 (位於遠端主機上) 資料庫伺服器,確保其時區相同,如果不相同,請使用 Extract 中的
SETENV(TZ)參數,並將其設為資料庫伺服器的時區。如需 TZ 格式及更多詳細資訊,請參閱 Parameters and Functions Reference Guide 中的 SETENV 參數。
請參閱下列連結以供參考:
https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/tzset?view=msvc-170#remarks
https://www.gnu.org/software/libc/manual/html_node/TZ-Variable.html
-
在來源系統上,發出下列命令:
EDIT PARAMS extract_name其中:
extract_name是您使用ADD EXTRACT命令建立的 Extract 名稱,如果您在建立群組時定義了替代位置,則為參數檔的完整名稱。 -
依下表所示的順序輸入參數,對每個參數陳述式開始一行。部分參數僅適用於特定組態。
參數 說明 EXTRACT group- 群組是您使用
ADD EXTRACT命令建立的 Extract 群組名稱。
將 Extract 設定為含有檢查點的線上處理。 [, USERIDALIAS alias options ]請參閱 [USERIDALIAS](/pls/topic/lookup?ctx=en/database/goldengate/core/26/coredoc&id=GWURF-GUID-530D7773-B66D-4499-A509-EF5BB9CE9B05),以指定資料庫證明資料。ENCRYPTTRAIL algorithm加密此項目之後指定的所有歷程檔。 SOURCECATALOG指定 Oracle 多雲端用戶容器資料庫或 SEQUENCE敘述句中的預設容器。啟用兩部分名稱 (schema.object),這些資料庫需要另外三個部分名稱。您可以使用此參數的多個執行處理,為不同的TABLE或SEQUENCE參數集指定不同的預設容器或目錄。TABLE [container. \| catalog.]owner.object \| schema.object \| library/file \| library/file(member);指定物件的完整名稱,或指定多個物件的完整萬用字元規格。如果資料庫是 Oracle 多雲端用戶容器資料庫,除非使用
SOURCECATALOG,否則物件名稱必須包含容器或目錄的名稱。schema是綱要名稱或一組萬用字元的綱要。object是表格名稱或一組萬用字元表格。library是 IBM i 程式庫名稱或一組萬用字元的程式庫。file是 IBM i 實體檔案名稱或一組萬用字元的實體檔案。member是 IBM i 實體檔案成員名稱或一組萬用字元的成員名稱。使用 IBM i 原生名稱格式 (具有選擇性成員的程式庫 / 檔案) 時,唯一有效的萬用字元是至少包含一個有效字元的名稱,後面接著一個星號 (*) 或*ALL,其符合任何名稱。
備註:
成員名稱是選擇性的,如果需要在歷程檔中寫入成員名稱作為物件名稱的一部分,則必須提供成員名稱。如果沒有成員名稱,實體檔案中的所有成員都會隱含地合併為歷程檔中的單一物件。請參閱在 Oracle GoldenGate 輸入中指定物件名稱準則,以在參數檔中指定物件名稱。
SCHEMAEXCLUDETABLEEXCLUDEEXCLUDEWILDCARDOBJECTSONLY可與另一個參數搭配使用,以將特定物件從關聯之 TABLE敘述句中的萬用字元設定排除。 - 群組是您使用
-
輸入 Oracle GoldenGate 參數中所列的任何適當選擇性 Extract 參數。
-
儲存並關閉參數檔。
下列範例 Extract 參數檔說明 Extract 的各種組態參數和選項:
ADD EXTRACT *extract_name*
{, datasource}
{, BEGIN start_point} | {position_point}
[, PARAMS pathname]
[, REPORT pathname]
[, DESC 'description']
-
extract_name是 Extract 群組的名稱。必須輸入群組名稱。 -
需有
datasource才能指定要擷取的資料來源。請使用下列其中一個:-
TRANLOG指定交易日誌作為資料來源。在 Oracle Enterprise Edition 中使用此選項時,您必須先以 Extract 資料庫使用者 (或具有相同權限的使用者) 的身分發出DBLOGIN命令,再使用ADD EXTRACT(以及發出DELETE EXTRACT以移除 Extract 群組)。使用 Db2 z/OS 的 bsds 選項來指定交易日誌的「啟動安裝資料集」檔案名稱。
-
INTEGRATED TRANLOG指定此 Extract 將以整合式擷取模式運作,以接收來自 Oracle AI Database 日誌探勘伺服器的邏輯變更記錄 (LCR)。此參數僅適用於 Oracle 資料庫。 -
EXTTRAILSOURCE trail_name-- 指定本機歷程檔的相對或完整名稱。
-
-
BEGIN start_point透過建立初始檢查點和開始點來定義線上 Extract 群組以進行處理。此點之前開始的交易會被捨棄。請使用下列其中一個: -
現在:開始擷取在執行
ADD EXTRACT命令以建立群組時標記為時間戳記的變更,或者從使用REGISTER EXTRACT命令註冊群組的時間開始,擷取為整合模式的 Extract。Extract 只能註冊 Oracle 和 PostgreSQL 資料庫。時戳:用來指定確切時戳作為開始點的格式。使用晚於複製或記錄啟用時間的開始點。
下列範例顯示使用特定時間戳記重新定位 Extract:
<pre class="copy"><code>OGG (http://localhost:11000 ggeast as pdb1@east.oracle.com) 95> dblogin useridalias ggma Successfully logged into database PDB1.</code></pre> <pre class="copy"><code>OGG (http://localhost:11000 ggeast as ggma@ggeast/PDB1) 96> alter extract exte , begin 2024-05-03T03:48:00Z 2024-05-03T03:50:49Z INFO OGG-08100 Extract exte I/O position is altered and reposition to older date and time position 2024-05-03 03:48:00.000000 current date and time position 2024-05-03 03:49:04.000000. Duplicate transactions are filtered out. Perform output trail ETROLLOVER if duplicate transaction output is desired, or Extract configuration was updated. 2024-05-03T03:50:49Z INFO OGG-08100 Extract altered.</code></pre> -
position_point指定特定交易日誌檔內要開始處理的特定位置。用於資料庫的特定語法。 -
如果此群組的參數檔將儲存在 Oracle GoldenGate 目錄的 dirprm 子目錄以外的位置,則需要
PARAMS路徑名稱。指定完整名稱。建議使用預設位置。 -
如果此群組的處理作業報表將儲存在 Oracle GoldenGate 目錄的
dirrpt子目錄以外的位置,則需要REPORT pathname。指定完整名稱。建議使用預設位置。 -
DESC 'description'指定群組的描述。
擷取的其他參數選項
瞭解擷取組態可能需要的其他參數。
Extract 使用探勘資料庫中的資料庫日誌探勘伺服器來探勘來源資料庫的重做串流。您可以使用 TRANLOGOPTIONS 參數搭配 Extract 參數檔中的 INTEGRATEDPARAMS 選項,來設定日誌探勘伺服器特定的參數。
注意:如需這些參數的詳細資訊和使用指南,請參閱 Oracle AI Database PL/SQL Packages and Types Reference 中的 "DBMS_CAPTURE_ADM" 小節。
您可以使用 INTEGRATEDPARAMS 設定下列參數:
-
CAPTURE_IDKEY_OBJECTS:控制擷取FETCH可支援的物件。Oracle GoldenGate 的預設值為Y(擷取 ID 金鑰邏輯變更記錄)。 -
DOWNSTREAM_REAL_TIME_MINE:控制 logmining 伺服器是否以即時順流擷取程序或封存日誌下游擷取程序的方式運作。預設為N(archived-log 模式)。指定此參數即可在順流日誌探勘伺服器組態中使用即時擷取。如需建立下游探勘組態的詳細資訊,請參閱 Downstream Extract for Oracle GoldenGate Deployment 。 -
INLINE_LOB_OPTIMIZATION:控制是否直接將可內嵌處理的 LOB (例如小型 LOB) 包括在 LCR 中,而不是傳送 LOB 區塊 LCR。Oracle GoldenGate 的預設值為Y(是)。 -
MAX_SGA_SIZE:控制 logmining 伺服器所使用的共用記憶體大小。共用記憶體是從 SGA 的串流集區所取得。預設值為 1 GB。 -
PARALLELISM:控制 logmining 伺服器所使用的處理作業數目。預設值為 2。對於 Oracle Standard Edition,此值必須設為1。 -
TRACE_LEVEL:控制 Extract 日誌探勘伺服器的追蹤層次。僅適用於 Oracle Support 的指引。Oracle GoldenGate 的預設值為0(無追蹤)。 -
WRITE_ALERT_LOG:控制 Extract 日誌探勘伺服器是否將訊息寫入 Oracle 警示日誌。Oracle GoldenGate 的預設值為Y(是)。
請參閱管理伺服器資源。