This content has been marked as final. Show 2 replies
Use APPLYNOOPUPDATES to force the update to be applied using all columns in both the SET and WHERE clause
OGG can usually handle this automatically. If you look at the report file, it will say that the table does not have a key that can be used and instead it's using all available columns in the where clause. So this means that any non-LOB type column will be used in the WHERE clause that is constructed to update or delete records.
data types that cannot be used in the where clause will automatically be excluded, like CLOB, BLOB, NCLOB, nested tables, UDTs, VARRAYs, etc.. .
Also, it will ensure that only one row is updated at a time (see the LIMITROWS parameter for more details on this as it only applies to certain databases.)
And, if you know that a table may not have a unique key or primary key, but one column is unique, then you can use KEYCOLS to override the default behavior and force a certain column to be used as the key. Keep in mind that this column must be in the trail file for replicat to use in the where clause, so you'll need to ensure that it is brought over from Extract.