其他 SQLEXEC 準則
請遵守下列 SQLEXEC 準則:
-
每個
TABLE或MAP項目最多可執行 20 個預存程序或查詢。它們會依參數陳述式中所列的順序執行。 -
Oracle GoldenGate 使用者登入的資料庫必須在
SQLEXEC子句之前。視資料庫類型和設定的認證方法需要,在 Replicat 參數檔中使用SOURCEDB和USERIDALIAS參數,或在 Replicat 參數檔中使用TARGETDB和USERIDALIAS參數。 -
SQL 由 Oracle GoldenGate 使用者執行。此使用者必須具備執行預存程序的權限,以及呼叫 RDBM 提供的程序。
-
預存程序或查詢內的資料庫作業,會以與原始交易相同的相關資訊環境確認。
-
請勿使用
SQLEXEC來更新主索引鍵資料欄的值。如果使用SQLEXEC來更新索引鍵資料欄的值,Replicat 處理作業將無法執行後續的更新或刪除作業,因為原始索引鍵值將無法使用。如果必須變更索引鍵值,您可以將原始索引鍵值對應至另一個資料欄,然後使用TABLE或MAP參數的KEYCOLS選項指定該資料欄。 -
對於 Db2,Oracle GoldenGate 會使用 ODBC
SQLExecDirect函數來動態執行 SQL 敘述句。這表示連線的資料庫伺服器必須能夠動態準備敘述句。ODBC 會在每次執行 SQL 陳述式時 (在要求的間隔內) 進行準備。一般而言,這不會對 Oracle GoldenGate 使用者顯示問題。如需詳細資訊,請參閱 IBM Db2 文件。 -
SQLEXEC敘述句中的所有物件名稱必須完全符合其兩部分或三部分名稱 (適用於資料庫)。 -
受
SQLEXEC預存程序或查詢影響的所有物件都必須具有正確的結構,才能執行 SQL。因此,在執行SQLEXEC之前,必須先對這些會影響結構 (例如CREATE或ALTER) 的物件執行 DDL。 -
受獨立
SQLEXEC敘述句影響的所有物件都必須存在,才能啟動 Oracle GoldenGate 處理作業。因此,必須停用這些物件的 DDL 支援;否則,DDL 作業可能會在SQLEXEC程序或查詢執行之前變更結構或刪除物件。