壓縮刪除 | 文件壓縮刪除
有效對象
擷取
說明
使用 COMPRESSDELETES 和 NOCOMPRESSDELETES 參數來控制資料欄寫入 DELETE 作業之歷程檔記錄的方式。
COMPRESSDELETES 和 NOCOMPRESSDELETES 可全域用於參數檔中的所有 TABLE 敘述句,或可作為個別 TABLE 敘述句的關閉開關使用。
這些參數支援下列資料庫:
-
Oracle
-
DB2盧布 -
DB2z/OS -
i 的
DB2 -
MySQL
-
SQL Server
-
PostgreSQL
預設
COMPRESSDELETES
語法
{COMPRESSDELETES | NOCOMPRESSDELETES [FETCHMISSINGCOLUMNS]}
COMPRESSDELETES
讓 Extract 只將主索引鍵寫入 DELETE 作業的歷程檔。這是預設值。關鍵碼提供足夠的資訊以刪除正確的目標記錄,同時限制必須處理的資料量。
NOCOMPRESSDELETES [FETCHMISSINGCOLUMNS]
NOCOMPRESSDELETES 會將所有資料欄傳送至歷程檔。當表格定義不包含主索引鍵或唯一索引,或以 TABLE 的 KEYCOLS 選項定義替代索引鍵時,就會變成預設值。KEYCOLS 選項會將指定的資料欄寫入歷程檔,無論實際索引鍵是否存在。如需有關 KEYCOLS 選項的詳細資訊,請參閱 KEYCOLS (資料欄) 。
對於 SQL Server,IMAGE、NTEXT 和 TEXT 資料類型的資料欄會寫入為刪除作業的 NULL 值。如需有關此限制的詳細資訊,請複查下列 Microsoft 文件中的「大型物件資料類型」內容:
https://docs.microsoft.com/en-us/sql/relational-databases/system-tables/cdc-capture-instance-ct-transact-sql?view=sql-server-ver15
使用「衝突偵測與解決 (CDR)」功能時,也需要 NOCOMPRESSDELETES。請參閱 Oracle GoldenGate Microservices 文件中的自動衝突偵測與解決和手動衝突偵測與解決。
FETCHMISSINGCOLUMNS 僅適用於 Oracle AI Database。這會導致只有從 DELETE 作業的資料庫擷取來支援的資料類型值。這些資料類型包括 LOB、UDT、LONG,以及部分 XMLType 資料欄。如需擷取支援的資料欄詳細資訊 (而非從重做串流直接擷取),請參閱下游擷取。擷取的資料欄將顯示於歷程檔中作為 DELETE 記錄的一部分。如果 NOCOMPRESSDELETES 用於不含 FETCHMISSINGCOLUMNS 選項的 Oracle AI Database 資料,則只有可從日誌讀取的 LOB 資料 (不擷取) 會包含在歷程檔的 DELETE 作業中。