Stop CDC sessions with PowerCenter and PowerExchange commands. Sessions can also fail or terminate unexpectedly.
When you stop a CDC session, PWXPC flushes any complete units of work that remain in its buffer. PWXPC then waits for confirmation from the PowerCenter Integration Service that the flushed data has been written to the targets. If it has, PWXPC writes the termination restart token file with the final restart tokens and issues the following message:
PWXPC_12075 [INFO] [CDCRestart] Session complete. Next session will restart at: : Restart 1 [
restart1
] : Restart 2 [
restart2
]
The PowerCenter Integration Service commits the flushed data to the targets, including the restart tokens for relational targets. After the PowerCenter Integration Service writes the flushed data to any nonrelational targets, it updates the state file with the restart tokens.
If the session fails, the PowerCenter Integration Service rolls back any uncommitted data and the related restart tokens for relational targets. This leaves only the last successfully committed UOW data and restart tokens in the relational target tables. The PowerCenter Integration Service uses relational database rollback capabilities to ensure that uncommitted data is removed during session termination. Consistency between the restart tokens and the relational target data is guaranteed because they are both committed within the same commit scope.
The PowerCenter Integration Service does not do rollback processing for nonrelational targets. As a result, duplicate data can occur on restart. You should account for this in your CDC session design.
To avoid the possibility of duplicate data, design the CDC sessions in your application to use relational targets only.