PERMITIRNOOPUPDATES | NOALLOWNOOPUPDATES

Válido para

Replicat

Descripción

Utilice ALLOWNOOPUPDATES y NOALLOWNOOPUPDATES para controlar cómo responde Replicat a una operación no-op. Una operación de no operación es aquella en la que no hay ningún efecto en la tabla de destino. Los siguientes son algunos ejemplos de cómo puede ocurrir esto.

Cuando se utiliza NOALLOWNOOPUPDATES, Replicat solo finaliza de forma anormal si las tablas de origen y destino no tienen una clave definida o si Replicat no utiliza KEYCOLS. En tales casos, en los que la tabla de destino no tiene una clave única definida y se lleva a cabo una operación de actualización en cualquiera de las columnas de origen, se produce un error similar al siguiente:

Encountered an update for target table TELLER, which has no unique key defined. KEYCOLS can be used to define a key. Use ALLOWNOOPUPDATES to process the update without applying it to the target database. Use APPLYNOOPUPDATES to force the update to be applied using all columns in both the SET and WHERE clause.

Puede utilizar el parámetro APPLYNOOPUPDATES para forzar la aplicación de UPDATE. APPLYNOOPUPDATES sustituye a ALLOWNOOPUPDATES. Si se especifican ambos, Replicat aplica actualizaciones para las que hay columnas clave para las tablas de origen y destino.

Si se especifica ALLOWNOOPUPDATES cuando se utiliza el parámetro HANDLECOLLISIONS o INSERTMISSINGUPDATES y si Oracle GoldenGate tiene todos los valores de clave de destino, Oracle GoldenGate aplica un valor UPDATE mediante el uso de todas las columnas de la tabla en la cláusula SET y la cláusula WHERE (llamando al comportamiento APPLYNOOPUPDATES). Esto es necesario para que Oracle GoldenGate pueda determinar si la fila está presente o falta. Si falta, Oracle GoldenGate convierte UPDATE en INSERT.

Valor por defecto

NOALLOWNOOPUPDATES

Sintaxis

ALLOWNOOPUPDATES | NOALLOWNOOPUPDATES