When running a compare, and subsequently issuing "show compare" from sp_ctrl interface to get an update on its status, one finds that it returns a status with a value "Unknown". If the status shows that value at all times, or subsequently shows a value of "Error", then there may be problems with compare. The following illustrates how "show compare" returns status:
sp_ctrl (obpspayprd-sp:3001)> show compare
Host: abc
ID Tablename Status Since
---------- ---------------------------------------- --------- ------------------
16028.1 "SPLEX1"."TEST1" Unknown 25-Jun-08 21:53:39
Problems with compare can cause "show compare" to return a value of "Unknown" or "Error".
Normally the "show compare" would show the state of the process: either "Error", "Out Sync" (out of sync)," In Sync", "Running", or" Repaired" depending on the outcome of compare. Barring the first one, all subsequent values point to a successful completion of compare. It may also return the value "Unknown" initially depending on any issues faced by Compare that may either culminate into an "Error" status or may assume a value "In Sync", "Out Sync", etc depending on whether it completed successfully.
The following are the most common scenario that would cause the status to be "Unknown" or "Error":
1. One or more of the Shareplex processes is down.
2. The compare process on source or target is running into database issues.
3. The compare processes on source and target are not able to communicate with each other due to firewall settings.
4. The table in question is very large so the status is currently shown as "Unknown".
5. The backlog in one or more of the queues is very large. This is causing the compare message to take too long to reach the target, since compare message has to traverse through the Shareplex queues to initiate the compare client on the target.
Situations as described in 4 or 5 above can result in the compare timing out if the situation does not resolve in 30 minutes (as dictated by the parameter SP_DEQ_TIMEOUT which is 30 minutes by default). If it does time out, then the status would change to "Error" from "Unknown". Otherwise the compare will be successful with the appropriate value for the status.