限定資料庫物件名稱
參數檔中的物件名稱必須完整。這表示每個名稱規格都必須符合資格,不僅是提供為 Oracle GoldenGate 參數語法輸入的名稱,還必須符合 SQL 程序或查詢中提供作為 SQLEXEC 輸入的名稱、使用者結束輸入的名稱,以及參數檔中提供的所有其他輸入。
Oracle GoldenGate 支援資料庫適用的兩部分和三部分物件名稱。
兩部份名稱
大多數資料庫只需要指定兩個部分的名稱,格式如下:
*owner.object*
例如:HR.EMP
其中:
擁有者是綱要或資料庫,視資料庫定義包含資料庫物件的邏輯命名空間而定。物件是表格或其他支援的資料庫物件。
Oracle GoldenGate 支援兩部分名稱的資料庫如下所示,其適當的兩部分命名慣例如下所示:
-
i 的 Db2:schema.object 與內容庫 / 檔案 (成員)
-
Db2 路威:schema.object
-
z/OS 上的 Db2:schema.object
-
MySQL: database.object
-
Oracle AI Database (非 CDB 資料庫):schema.object
-
SQL Server:schema.object
-
Teradata:database.object
三部份名稱
Oracle GoldenGate 支援 Oracle 容器資料庫的三個部分名稱,僅限於使用順流 Extract。不過,Oracle GoldenGate 一般只支援每一 PDB Extract for Oracle AI Database。
從來源 Oracle 容器資料庫擷取需要三個部分的名稱,因為一個 Extract 群組可以從多個容器擷取。因此,必須為 Extract TABLE 敘述句中的每個物件或物件指定容器的名稱和綱要。
依照下列方式指定三個部分的 Oracle CDB 名稱:
*container.schema.object*
例如:PDBEAST.HR.EMP
從多個容器或目錄套用資料
若要將從多個來源容器或目錄擷取的資料套用至目標 Oracle 容器資料庫,則需要三個和兩個部分的名稱。在 MAP 敘述句的 MAP 部分中,每個來源物件都必須與容器或目錄相關聯,就像在 TABLE 敘述句中一樣。這可讓您 (和 Replicat) 正確地將多個來源容器或目錄的資料對應至適當的目標物件。不過,在 MAP 陳述式的 TARGET 部分中,只需要兩個部分的名稱。這是因為 Replicat 一次只能連線到一個目標容器或目錄,而 schema.owner 是足夠的限定字元。支援多個目標容器或目錄需有多個 Replicat 群組。使用 TARGETDB 參數指定目標容器或目錄。
指定預設容器或目錄
您可以使用 SOURCECATALOG 參數,為參數檔中的任何後續 TABLE、MAP (或 Oracle SEQUENCE) 規格指定預設目錄。
下列範例顯示使用 SOURCECATALOG 指定 region 和 jobs 物件的預設 Oracle PDB (名稱為 pdbeast),以及 appraisal 物件的預設 PDB (名稱為 pdbwest)。pdbeast 中的物件是以完整的三部分名稱指定,不需要指定預設目錄。
TABLE pdbeast.hr.emp*;
SOURCECATALOG pdbeast
TABLE region.country*;
TABLE jobs.desg*;
SOURCECATALOG pdbwest
TABLE appraisal.sal*;