使用 Oracle Data Pump 自動建立每一表格

Oracle GoldenGate 會使用 Oracle Data Pump 公用程式,為 Oracle AI Database 建立綱要、表格、使用者的新執行處理。其運作方式是將資料和描述資料卸載到一組作業系統檔案 (稱為傾印檔集 )。

此方法使用 Oracle Data Pump 公用程式來建立目標資料。若要執行此方法,您可以在停止複製的 SCN 啟動 Extract、資料汲取以及複寫。系統會略過複本中包含的交易,以避免發生完整性違規的衝突。從處理開始點,Oracle GoldenGate 會維護資料同步。

此方法不需要初始載入 Oracle GoldenGate 處理作業。

您可以使用 Oracle 資料汲取,針對 Oracle AI Database 自動建立每個表格 CSN 篩選,以避免在同一個 SCN 擁有所有表格。

在來源資料庫

  1. 使用 ADD TRANDATA 和 ADD SCHEMATRANDATA。ADD TRANDATA/SCHEMATRANDATA.PREPARECSN 會自動準備來源的表格,讓 Oracle 資料汲取的匯出傾印檔包含建立 CSN。Replicat 會使用 Oracle 資料汲取 (在匯入時)所設定的每個表格實例 CSN,來篩除歷程檔記錄。

    使用 INFO TRANDATA,確定您的表格已準備好建立,以及完成的時間點。以下為報告檔案的範例:

    2025-09-29 15:30:00 INFO OGG-10154 Schema level PREPARECSN set to mode NOWAIT on schema
          hr
  2. 停止目標資料庫上的 Replicat。

  3. 以正確的 TABLE 敘述句開始 Extract。

EXPORT datapump 選項 FLASHBACK_SCN 不需要,因為先前已準備表格。

在目標資料庫 1 上。使用 Oracle 資料汲取匯入匯出的表格,此表格會在系統表格和視觀表中填入建立 SCN 以及指定的表格資料。

  1. 使用下列其中一項啟動 Replicat:

    在 Replicat 參數檔中設定 DBOPTIONS ENABLE_INSTANTIATION_FILTERING 參數,以啟用表格層次建立篩選。

    當 Replicat 已處理過建立 SCN 以外的所有交易時,您可以移除此參數。

    對於所有其他 Replicat,請設定 Replicat 參數檔中的 DBOPTIONS source_dbase_name global_name 參數,其中 global_name 是歷程檔來源之 Oracle 來源資料庫的全域名稱。注意:當來源沒有 DOMAIN 時,請勿為順流資料庫指定 DOMAIN。

Replicat queries the instantiation SCN on any new mapping and filter records accordingly. For example, see the following report file output:

<pre class="copy"><code>2025-06-29 17:12:39 INFO OGG-10155 Oracle GoldenGate Delivery for Oracle, r1.prm: Instantiation CSN filtering is enabled on table HR.EMPLOYEES at CSN 1,851,797.</code></pre>

您也可以使用其他建立方法,而不是使用資料汲取來匯出和匯入表格。其中一種方法是使用 create table 作為 select 命令或 RMAN。步驟如下:1。使用 create table 搭配 at SCN of 參數,使用下列命令:

`SET_INSTANTIATION_CSN SCN for object from global_name`

For example:

<pre class="copy"><code>SET_INSTANTIATION_CSN 1 FOR u1.t1 FROM DBS1.REGRESS.RDBMS.DEV.US.ORACLE.COM</code></pre>
  1. 如果您稍後要移除建立 CSN 的手動設定,可以使用下列命令:

    CLEAR_INSTANTIATION_CSN for *object* from *global_name*