資料複寫設定
您可為複寫資料任務進行設定。
-
開啟複寫任務並在工具列中按一下設定。
就會開啟 設定:<Task-Name> 對話方塊。可用設定如下所述。
任務模式
在此索引標籤中,您可以設定複寫模式並決定如何將變更套用至目標。
複寫模式
有下列複寫模式可用:
- 完整載入:將資料從所選來源表格載入到目標平台,並建立目標表格 (如有必要)。完整載入會在任務開始時自動發生,但如有需要,也可以手動執行。
- 套用變更:持續以對來源表格所做的任何變更更新目標表格。
-
儲存變更:在變更表格 (每個來源表格一個)中將變更儲存至來源表格。
如需詳細資訊,請參閱儲存變更。
若您選取儲存變更或套用變更,且來源資料包含不支援 CDC 或檢視的表格,將會建立兩個資料管道。一個管道用於支援 CDC 的表格,而另一個管道用於僅支援完整載入的所有其他表格和檢視。
套用變更模式
變更會使用下列方法之一套用至目標表格:
- 批次最佳化:此為預設。若選取此選項,會在批次中套用變更。會發生前置處理動作,以最有效率的方式將交易組成批次。
- 交易:選取此選項以認可順序個別套用每筆交易。在此情況下,會為所有表格確保嚴格參考完整性。
中繼資料
基本
-
目標表格結構描述:目標上的結構描述,若您不想使用來源表格結構描述 (或者若來源資料庫中沒有結構描述),來源表格將會複寫到這裡。
資訊備註複寫至 Oracle 目標時,預設目標表格結構描述為「系統」。也請注意,若您讓此欄位空白 (在此情況下,將會使用來源結構描述),您必須確認來源結構描述已存在於目標。否則,任務將會失敗。資訊備註許可的結構描述名稱長度上限為 128 個字元。
- 請勿納入 LOB 欄:若您不想複寫來源 LOB 欄,則選取此項。
-
將 LOB 欄大小限制為 (KB):此為預設。若您只需要複寫小型 LOB,或者若目標平台不支援無限的 LOB 大小,則選取此選項。對此欄位許可的值上限為 102400 KB (100 MB)。
複寫小型 LOB 時,此選項比請勿限制 LOB 欄大小選項更有效率,因為 LOB 是「內嵌」複寫,與透過從來源「查詢」不同。在變更處理期間,通常會透過從來源「查詢」複寫小型 LOB。
由於限制 LOB 大小的值以位元組為單位,應根據下列公式計算大小:
- BLOB:最大 LOB 的長度。
- NCLOB:最長文字長度的字元數乘以二 (因為每個字元視為雙位元組來處理)。若資料包括 4 位元組字元,則乘以四。
- CLOB:最長文字長度的字元數 (因為每個字元視為 UTF8 字元來處理)。若資料包括 4 位元組字元,則乘以二。
資訊備註- 將會截斷任何大於指定大小的 LOB。
- 從 Oracle 來源變更處理期間,會內嵌複寫內嵌 BLOB。
- 對此設定的變更只會在載入之後影響現有表格。
-
請勿限制 LOB 欄大小:無論大小如何,若選取此選項,都會複寫 LOB 欄。
資訊備註複寫 LOB 欄可能會影響效能。若大型 LOB 欄需要 資料移動閘道 從來源表格執行查詢以便擷取來源 LOB 值,尤其如此。-
在 LOB 大小小於以下內容時進行最佳化:若您需要複寫小型和大型 LOB,而大部分的 LOB 都很小,則選取此選項。
資訊備註僅下列來源和目標支援此選項:
-
來源: Oracle、Microsoft SQL Server、MySQL、PostgreSQL 和 IBM DB2 for LUW
-
目標: Oracle、Microsoft SQL Server、MySQL、PostgreSQL。
若選取此選項,則在完整載入期間,將會「內嵌」複寫小型 LOB (這更有效率),而大型 LOB 的複寫方式則是從來源表格執行查詢。不過,在變更處理期間,小型和大型 LOB 的複寫方式都是從來源表格執行查詢。
資訊備註若選取此選項,資料移動閘道 將會檢查所有 LOB 大小,以決定哪些是「內嵌」傳輸。將會使用完整 LOB 模式複寫大於指定大小的 LOB。
因此,若您知道大部分的 LOB 大於指定的設定,最好改用 複寫無限的 LOB 欄 選項。
-
-
區塊大小 (KB):可以選擇變更 LOB 區塊大小,以在將資料複寫到目標時使用。預設區塊大小在大部分的情況下應該都足夠,但如果您遇到效能問題,調整大小可能會改善效能。
資訊備註透過某些資料庫,插入或更新資料時會發生資料類型驗證。在這類情況下,若資料大於指定的區塊大小,複寫結構化資料類型 (例如 XML、JSON、GEOGRAPHY 等) 可能會失敗。
-
進階
控制表格設定
-
控制表格結構描述:若您不想在來源結構描述 (預設) 或在目標結構描述中建立,請指定控制表格的目標結構描述。
資訊備註許可的結構描述名稱長度上限為 128 個字元。 - 在表格空間中建立目標控制表格:若目標 connector 是 Oracle,請指定您要建立目標控制表格的表格空間。若您沒有在此欄位中輸入任何資訊,將會在目標資料庫的預設表格空間中建立表格。
- 為表格空間中的目標控制表格建立索引:若目標 connector 是 Oracle,請指定您要建立控制表格索引的表格空間。若您沒有在此欄位中輸入任何資訊,將會在與控制表格相同的表格空間中建立索引。
- 複寫歷史記錄時段 (分鐘):複寫歷史記錄 控制表格中每個時段的長度。預設為 5 分鐘。
控制表格選項
選取您要在目標平台建立的控制表格:
邏輯名稱 | 目標中的名稱 |
---|---|
套用例外情況 | attrep_apply_exceptions |
複寫狀態 | attrep_status |
暫停的表格 | attrep_suspended_tables |
複寫歷史記錄 | attrep_history |
如需更多關於控制表格的資訊,請參閱 控制表格。
完整載入
基本
若目標表格已存在:從清單中選取下列內容之一,以決定您要如何處理以完整載入啟動來載入目標:
只有在來源端點支援這類操作時,捨棄或截斷目標表格的選項才會相關。
-
捨棄並建立表格:會捨棄表格並在其位置建立新的表格。
資訊備註資料移動閘道 不會捨棄控制表格。不過,若載入關聯的任務,也會從 attrep_suspended_tables 控制表格刪除任何已捨棄的暫停表格。
- 在載入之前截斷:會截斷資料,而不影響表格中繼資料。請注意,若選取此選項,啟用在完整載入完成之後建立主要金鑰或唯一索引選項不會有影響。
- 忽略:將不會影響目標表格的現有資料和中繼資料。新的資料將會新增至表格。
進階
效能微調
可以設定下列效能微調參數:
- 表格數量上限:輸入一次載入到目標中的表格數量上限。預設值為 5。
-
交易一致性逾時 (秒):輸入 資料移動閘道 在開始完整載入操作之前等待交易關閉的秒數 (若在任務開始時是開放的交易)。預設值為 600 (10 分鐘)。資料移動閘道 將會在達到逾時值之後開始完整載入,即使有開放的交易也是如此。
資訊備註若要複寫完整載入開始時開放但僅在達到逾時值之後認可的交易,您需要載入目標表格。 - 在完整載入期間認可速率:可以一起傳輸的事件數量上限。預設值為 10000。
完整載入完成之後
您可以設定任務以在完整載入完成之後自動停止。若您需要在任務的套用變更 (即 CDC) 階段開始之前對目標表格執行 DBA 操作,這很實用。
在完整載入期間,會快取在來源表格執行的任何 DML 操作。完整載入完成時,快取的變更會自動套用至目標表格 (只要停用以下描述的套用快取變更之前/之後選項即可)。
- 建立主要金鑰或唯一索引:若您想要在完整載入完成之前,對目標延遲主要金鑰或唯一索引建立,請選取此選項。
- 停止任務: 資訊備註從 SaaS 應用程式來源複寫時,這些設定不可用,因為沒有快取的事件。
套用快取變更之前:選取以在完整載入完成之後停止任務。
套用快取變更之後:選取以在資料於任務中的所有表格取得一致後停止任務。
資訊備註設定要在完整載入完成之後停止的任務,請注意下列事項:
- 任務不會在完整載入完成當下停止。這只會在擷取第一個變更批次之後停止 (因為這是觸發任務停止的事項)。這可能需要一些時間,視來源資料庫的更新頻率而定。任務停止後,變更將不會套用至目標,直到繼續任務為止。
- 選擇套用快取變更之前可能會影響效能,因為快取的變更只會在最後一個表格完成完整載入之後套用至表格 (即使是已完成完整載入的表格仍是如此)。
- 若選取此選項且在完整載入流程期間 (在完整載入和套用變更任務) 對來源表格之一執行 DDL,資料移動閘道 將會載入表格。這明確表示,對來源表格執行的任何 DML 操作將會在任務停止之前複寫到目標。
套用變更
只有在啟用套用變更複寫模式時,才能使用這些設定。
基本
將 DDL 變更套用至目標表格
下列選項決定在對應來源表格上執行的 DDL 操作是否也要在目標表格上執行。
- 捨棄表格: 選取以在捨棄來源表格時捨棄目標表格。
- 截斷表格: 選取以在截斷來源表格時截斷目標表格。
- 改變表格:選取以在改變來源表格時改變目標表格。
變更處理微調
-
將批次變更同時套用至多個表格:從多個來源表格套用變更時,選取此選項可能會改善效能。
-
表格數量上限:要同時套用批次變更的表格數量上限。預設為五,上限為 50,下限為二。
-
若啟用將批次變更同時套用至多個表格選項,則下列限制適用:
-
環境和表格錯誤的任務錯誤處理政策預設將會不變,但資料錯誤和套用衝突錯誤的預設將如下:
- 資料錯誤:
- 資料截斷錯誤:記錄檔記錄至例外表格
- 其他資料錯誤:暫停表格
- 套用衝突錯誤:
- 刪除:忽略記錄
插入:更新現有的目標記錄
- 更新:忽略記錄
- 呈報動作:
- 不支援資料錯誤和套用衝突的呈報動作。
- 不支援 attrep_apply_exception 控制表格。
- 對於資料錯誤:
- 將記錄記錄到例外表格選項僅可用於資料截斷錯誤。
- 沒有忽略選項。
- 對於套用衝突:
- 將記錄記錄到例外表格選項無法使用。
- 忽略選項僅可用於找不到記錄以套用更新套用衝突。
- 資料錯誤:
另請參見:處理時發生錯誤。
進階
請參閱 變更處理微調。
儲存變更
只有在啟用儲存變更複寫模式時,才能使用這些設定。
基本
DDL 選項
選取下列選項之一,以決定如何在來源表格處理 DDL 操作:
- 套用至變更表格:對來源表格的 DDL 操作 (例如新增的欄) 只會套用至對應的變更表格。
- 忽略:將會忽略對來源表格的所有 DDL 操作。
進階
更新時
選取儲存之前和之後影像以儲存更新前的資料和更新後的資料。若未選取,只會儲存更新後的資料。
變更表格建立
以下區段描述在變更表格中儲存變更時可用的選項。
- 尾碼:為所有變更表格指定要作為尾碼使用的字串。預設值為 __ct。變更表格名稱是附加尾碼的目標表格名稱。例如,使用預設值時,變更表格的名稱將會是 HR__ct。
- 標頭欄前置詞:為所有變更表格標頭欄指定要作為前置詞使用的字串。預設值是 header__。例如,使用預設值時,標頭欄 stream_position 將會稱為 header__stream_position。
如需更多關於變更表格的資訊,請參閱 使用變更表格。
若完整載入開始時存在變更表格:選取下列內容之一,以決定如何在完整載入複寫開始時載入變更表格:
- 捨棄並建立變更表格:會捨棄表格並在其位置建立新的表格。
- 在現有變更表格中刪除舊的變更並儲存新的變更:會截斷並新增資料,而不影響表格中繼資料。
- 在現有變更表格中保留舊的變更並儲存新的變更:不會影響現有變更表格的資料和中繼資料。
表格標頭欄
變更表格標頭欄提供關於變更處理操作的資訊,例如操作類型 (例如插入)、認可時間等。若您不需要此所有資訊,可以設定 登陸 任務,以建立含所選標頭欄 (或完全不含) 的變更表格,藉此降低在目標資料庫中的所占空間。
如需標頭欄的描述,請參閱 變更表格。
處理時發生錯誤
基本
套用衝突
在套用插入時複製金鑰:選取與插入操作有衡突時要採取哪個動作。
-
忽略:任務會繼續並忽略錯誤。
-
更新現有的目標記錄:會更新主要金鑰與插入的來源記錄相同的目標記錄。
- 將記錄記錄到例外表格 (預設):任務會繼續,錯誤會寫入到例外表格。
-
暫停表格:任務會繼續,但具有錯誤記錄之表格中的資料會移至錯誤狀態,並且不會複寫其資料。
- 停止任務:任務會停止,需要手動干預。
找不到套用更新的記錄:選取與更新操作有衡突時要採取哪個動作。
- 忽略:任務會繼續並忽略錯誤。
-
插入遺失的目標記錄:遺失的目標記錄將會插入到目標表格中。若來源端點是 Oracle,選取此選項需要補充記錄,以便為所有來源表格欄啟用。
- 將記錄記錄到例外表格 (預設):任務會繼續,錯誤會寫入到例外表格。
-
暫停表格:任務會繼續,但具有錯誤記錄之表格中的資料會移至錯誤狀態,並且不會複寫其資料。
- 停止任務:任務會停止,需要手動干預。
進階
僅在套用變更複寫模式 (而非完整載入) 中支援資料錯誤處理。
資料錯誤
對於資料截斷錯誤:選取當截斷發生於一個或多個特定記錄時,您想要發生的事項。您可以從清單中選取下列內容之一:
- 忽略:任務會繼續並忽略錯誤。
- 將記錄記錄至例外表格 (預設):任務會繼續,錯誤會寫入到例外表格。
- 暫停表格:任務會繼續,但具有錯誤記錄之表格中的資料會移至錯誤狀態,並且不會複寫其資料
- 停止任務:任務會停止,需要手動干預。
對於其他資料錯誤:選取當錯誤發生於一個或多個特定記錄時,您想要發生的事項。您可以從清單中選取下列內容之一:
- 忽略:任務會繼續並忽略錯誤。
- 將記錄記錄至例外表格 (預設):任務會繼續,錯誤會寫入到例外表格。
- 暫停表格:任務會繼續,但具有錯誤記錄之表格中的資料會移至錯誤狀態,並且不會複寫其資料
- 停止任務:任務會停止,需要手動干預。
在達到其他資料錯誤 (每個表格) 時呈報錯誤處理:選取此核取方塊,以在非截斷資料錯誤數量 (每個表格) 達到指定量時呈報錯誤處理。有效值為 1-10,000。
呈報動作:選擇呈報錯誤處理時應發生什麼事。請注意,可用動作取決於從上述對於其他資料錯誤下拉式清單中選取的動作。
-
暫停表格 (預設):任務會繼續,但具有錯誤記錄之表格中的資料會移至錯誤狀態,並且不會已登陸其資料。
資訊備註行為根據變更處理模式而異:
-
在交易套用模式中,將不會已登陸上次變更。
-
在批次最佳化套用模式中,可能有完全不會已登陸資料或僅部分已登陸資料的情況。
-
- 停止任務:任務會停止,需要手動干預。
- 將記錄記錄至例外表格:任務會繼續,記錄會寫入到例外表格。
表格錯誤
遇到表格錯誤時:從下拉式清單選取下列內容之一:
- 暫停表格 (預設):任務會繼續,但具有錯誤記錄之表格中的資料會移至錯誤狀態,並且不會複寫其資料
- 停止任務:任務會停止,需要手動干預。
在達到表格錯誤 (每個表格) 時呈報錯誤處理:選取此核取方塊,以在表格錯誤數量 (每個表格) 達到指定量時呈報錯誤處理。有效值為 1-10,000。
呈報動作:表格錯誤的呈報政策設定為停止任務且無法變更。
套用衝突
- 忽略:任務會繼續並忽略錯誤。
- 將記錄記錄到例外表格:任務會繼續,記錄會寫入到例外表格。
- 暫停表格:任務會繼續,但具有錯誤記錄之表格中的資料會移至錯誤狀態,並且不會複寫其資料。
- 停止任務:任務會停止,需要手動干預。
在套用衝突達到時呈報錯誤處理 (每個表格):選取此核取方塊,以在套用衝突數量 (每個表格) 達到指定量時呈報錯誤處理。有效值為 1-10,000。
呈報動作:選擇呈報錯誤處理時應發生什麼事:
- 將記錄記錄到例外表格 (預設):任務會繼續,錯誤會寫入到例外表格。
-
暫停表格:任務會繼續,但具有錯誤記錄之表格中的資料會移至錯誤狀態,並且不會複寫其資料。
資訊備註行為根據變更處理模式而異:
-
在交易套用模式中,將不會複寫上次變更
-
在批次最佳化套用模式中,情況可能是沒有資料複寫或資料複寫是局部處理。
-
-
停止任務:任務會停止,需要手動干預。
環境錯誤
-
重試計數上限:選取此選項,然後指定在可修復的環境錯誤發生時重試任務的嘗試次數上限。在重試任務達到指定次數之後,任務會停止,需要手動干預。
若絕對不要重試任務,清除核取方塊或指定「0」。
若要重試任務無限次數,指定「-1」
-
重試嘗試之間的間隔 (秒):使用計數器以選取或輸入系統在每次嘗試重試任務之間等待的秒數。
有效值為 0-2,000。
-
- 對長時間中斷增加重試間隔:選取此核取方塊以對長時間中斷增加重試間隔。若啟用此選項, 會加倍每次重試嘗試之間的間隔,直到達到重試間隔上限為止 (並根據指定的間隔上限繼續重試)。
- 重試間隔上限 (秒):在啟用對長時間中斷增加重試間隔選項時,使用計數器以選取或輸入每次嘗試重試任務之間等待的秒數。有效值為 0-2,000。
變更處理微調
交易卸載微調
無論選取哪一種變更處理模式,下列微調選項均可供使用:
-
對磁碟的卸載交易進行中,條件是:
Qlik Cloud 資料整合 通常會將交易資料保留在記憶體中,直到對來源和/或目標完全認可為止。不過,大於配置記憶體或未在指定期限內認可的交易將會卸載到磁碟。
- 交易記憶體大小超過 (MB):在卸載到磁碟之前,所有交易可以在記憶體中占用的大小上限。預設值為 1024。
- 交易期間超過 (秒):在卸載到磁碟之前,每筆交易可以在記憶體中停留的時間上限。持續時間是從 Qlik Cloud 資料整合 開始擷取交易的時間計算。預設值為 60。
雜項微調
- 陳述式快取大小 (陳述式數量):要儲存在伺服器以供之後執行的所準備之陳述式數量上限 (將變更套用至目標時)。預設為 50。上限為 200。
-
在目標資料庫中儲存任務復原資料:選取此選項以將任務特定復原資訊儲存在目標資料庫中。選取此選項後,資料移動閘道 會在目標資料庫中建立名稱為 attrep_txn_state 的表格。若 資料移動閘道資料資料夾中的檔案損毀,或者若包含資料資料夾的儲存裝置故障,則此表格包含可用來復原任務的交易資料。
批次最佳化套用
只有在套用模式設定為批次最佳化時,才能使用下列設定。
- 以間隔套用批次變更:
-
大於:每次應用程式批次變更之間等待的時間長度下限。預設值為 1。
增加大於值會減少變更套用至目標的頻率,同時增加批次大小。若將變更套用至為處理大型批次而最佳化的目標資料庫,這可以改善效能。
- 小於:每次應用程式批次變更之間等待的時間長度上限 (宣告逾時之前)。換言之,即可接受的延遲上限。預設值為 30。此值決定套用變更之前、達到大於值之後要等待的時間長度上限。
-
在處理記憶體超過時強制套用批次 (MB):要在批次最佳化套用模式下用於預先處理的記憶體量上限。預設值為 500。
如需最大批次大小,請將此值設定為您可以配置到 資料移動閘道 的最高記憶體量。若將變更套用至為處理大型批次而最佳化的目標資料庫,這可以改善效能。
交易套用
只有在套用模式設定為交易時,才能使用下列設定。
-
每個交易的變更數量下限:要在每個交易中納入的變更數量下限。預設值為 1000。
資訊備註若變更數量等於或大於每個交易的最低變更數量值,或者若達到批次逾時值 (見下文) (以先發生者為主),資料移動閘道 會將變更套用至目標。因為套用至目標的變更頻率由這兩個參數控制,對來源記錄的變更可能不會立即反映在目標記錄中。 - 套用之前的批次交易時間上限 (秒):宣告逾時之前批次收集交易的時間上限。預設值為 1。
字元替代
您可以替代或刪除目標資料庫中的來源字元,以及/或您可以替代或刪除所選字元集合不支援的來源字元。
-
必須指定所有字元作為 Unicode 字碼指標。
- 也會在控制表格執行字元替代。
-
將會透過表格儲存格右上方的紅色三角形指示無效的值。將滑鼠游標暫留在三角形上方,將會顯示錯誤訊息。
-
將會在字元替代完成之後,執行為任務定義的任何表格層級或全域轉換。
-
會在替代或刪除所選字元集合不支援的來源字元表格中定義的替代動作之前,執行替代或刪除來源字元表格中定義的替代動作。
- 字元替代不支援 LOB 資料類型。
替代或刪除來源字元
使用替代或刪除來源字元表格,以定義更換特定來源字元。例如,若 Unicode 字元表示法在來源和目標平台不同,這可能會很實用。例如,在 Linux,Shift_JIS 字元集合中的減號字元以 U+2212 表示,但在 Windows 則以 U+FF0D 表示。
至 | 進行此 |
---|---|
定義替代動作。 |
|
編輯指定的來源或目標字元 |
按一下列末尾的 ,並選取編輯。 |
從表格中刪除項目 |
按一下列末尾的 ,並選取刪除。 |
替代或刪除所選字元集合不支援的來源字元
使用字元集合不支援的來源字元表格,為所選字元集合不支援的所有字元定義單一替換字元。
至 | 進行此 |
---|---|
定義或編輯替代動作。 |
|
停用替代動作。 |
從字元集合下拉式清單中選取空白項目。 |
更多選項
不會在 UI 中暴露這些選項,因為這僅與特定版本或環境相關。因此,請勿設定這些選項,除非 Qlik 支援或產品文件明確指示這麼做。
若要設定選項,只要在新增特徵名稱欄位中複製選項並按一下新增即可。然後根據您收到的說明設定值或啟用選項。
SaaS 應用程式
用於初始載入
從 SaaS 應用程式來源移動資料時,您可以設定如何執行初始完整載入:
使用快取的資料 |
此選項可讓您使用透過所選的完整資料掃描產生中繼資料時讀取的快取資料。 這會對 API 使用和配額產生較少的負荷,因為已從來源讀取資料。可以透過變更資料擷取 (CDC) 選取自初始資料掃描以來的任何變更。 |
從來源載入資料 |
此選項從資料來源執行新的載入。如有以下情況,此選項很實用:
|
讀取變更間隔 (分鐘)
設定從來源讀取變更之間的間隔,單位為分鐘。有效範圍為 1 至 1440。