Visibility on uncommitted or rollback transactions to other sessions
说明
Can the rollback transactions be seen in the target database?
原因
N/A
解决办法
The rollback transactions are uncommitted transactions. All uncommitted or rollback transactions on source table or target table are not visible to other sessions in database.
For example, if you are replicating demo_src table from source to target, session A inserted 10 rows into demo_src on source but did not commit, 10 messages will be transferred to target, executed but waiting for commit and these messages will not be read released from post queue. Meanwhile session B issue select * from demo_src on source, it can not see the 10 rows inserted by session A. If you log onto target server and select * from demo_src, you don't see the rows either. This is the way Oracle works. Shareplex just replicates data from source to target and does not change the way Oracle works inside the database.
Once the commit is issued by session A on source, then the rows can be seen on both source and target by other sessions, and the related messages will be read released from post queue.