Oracle-12c

如何為 Oracle Golden Gate 啟用“僅”刪除分區 DDL?

  • October 1, 2020

我正在努力解決如何做到這一點,並希望有人可以提供一些想法。

Oracle Golden Gate - 一般問題。版本不應該是具體的,但是,我目前正在執行:

金門:12.2.0.1.170919

甲骨文數據庫:12.1.0.2.0

使用 Golden Gate、集成提取(和複製)。

我已經使用間隔分區(按月)設置了一個測試表。我已經設置了一個 GG 流來擷取該表的數據/行。

這完美地工作,沒有問題。

然後我嘗試為此表設置/啟用 DDL 複製。

我將以下內容添加到提取的 .prm 文件中:

DDL INCLUDE OBJNAME myschema.*

而且效果很好。它擷取所有 ddl ..

ALTER TABLE
TRUNCATE TABLE
CREATE INDEX
... etc.

現在,我想限制 DDL,使其僅擷取:

ALTER TABLE myschema.* DROP PARTITION ...

就是這樣…沒有截斷,沒有刪除,沒有其他 ALTER TABLE

即 ALTER TABLE myschema.mytable MODIFY ( col ….

不想擷取它 - 例如。

我嘗試了以下一些..都無濟於事:

DDL INCLUDE OBJNAME myschema.*   &
   INCLUDE OPTYPE DROP          &
   INCLUDE OBJTYPE 'PARTITION'

這仍然允許所有 DDL

DDL INCLUDE OBJNAME myschema.*   &
   INCLUDE OPTYPE DROP          &
   INCLUDE OBJTYPE 'PARTITION'  &
   EXCLUDE ALL

這根本不允許任何 DDL ..

DDL INCLUDE OBJNAME myschema.*   &
   INCLUDE OPTYPE DROP          &
   INCLUDE OBJTYPE 'PARTITION'  &
   EXCLUDE OPTYPE TRUNCATE      &
   EXCLUDE OPTYPE CREATE     

這可以防止 TRUNCATE 和 CREATE .. 但是,我不能添加“ALTER”或“DROP”.. 因為它開始影響/阻止 DROP PARTITION 子句。

我已經向 Oracle 開了一張票,以從他們那裡獲得一些回饋。但是,到目前為止,那裡的運氣並不好。我希望這裡有人可能真的知道如何做到這一點?

謝謝!

好的,所以通過 SR 與 Oracle 一起制定了解決方案 .. 想要將解決方案放在這里以確保完整性。

解決方案是使用以下 DDL 命令:

DDL 包括映射的 INSTR ‘DROP PARTITION’

引用自:https://dba.stackexchange.com/questions/275231