This behavior is expected. Reconcile will continue to wait if there is no activity on the source, even after it has removed the duplicate messages from the queue. It exits gracefully only after a new transaction is generated on the source with a log sequence number (or SCN, as applicable) greater than the recovery point. In other words, Reconcile completes only when the next transaction is received from the source.
Reconcile can determine that there are no additional messages for the current log sequence number (or SCN) only after it receives the next message with a higher sequence number/SCN in the Post queue. Therefore, if the source database is inactive, Reconcile may remain in the waiting state for an extended period.
To force Reconcile to complete without waiting for a new transaction, issue the following command from the source sp_ctrl:
sp_ctrl> flush o.SID
(Replace SID with the source Oracle database SID.)
The flush command inserts a marker (token) into the SharePlex queues. When the Post process encounters this marker, it recognizes that there are no more pending messages for the current recovery point, allowing Reconcile to exit gracefully.
Note that flush is a dummy transaction generated on the source and does not involve any application tables. One important consideration is that after Reconcile exits, the Post process will stop when it processes the flush marker, so you will need to manually restart the Post process afterward.