At times you may need to run compare to correct out of sync on an urgent basis but this can be hampered if the Capture is running behind Oracle. This can happen for a number of reasons such as log wrap, a large batch job on source, Capture process down for a long time, etc. The Resolution section explains why Compare cannot be run during such period.
It is preferable to have Capture current with Oracle when running Compare.
Capture should be current with Oracle when running compare or at least not far behind. The Reference Guide for Shareplex does have a section titled "Other conditions and requirements for using compare table" that specifies that all Shareplex processes need to be in a running state when issuing compare. Another thing that needs to be kept in mind is to run compare when Capture is either current with Oracle or is not too much behind Oracle. This will ensure that Compare finishes successfully instead of timing out. If the Capture was far behind Oracle, then the compare message that traverses from source to target will be stuck in Capture queue till the time Capture is current with Oracle. Even if it makes past Capture queue, it may still take some time to reach the target due to the large queues resulting from the Capture falling behind Oracle. This can cause compare to time out depending on how long it takes for Capture to catch up with Oracle.