Resolution1:
Compare will not work on any table that only has one column and if that column happens to be a LONG , LOB or NVARCHAR2 datatype. The reason being that column cannot be a key column and Shareplex uses a key if one exists and tries to use all columns as keys if none exist. In this case it is forced to use the LONG (or LOB or NVARCHAR2 as applicable) column as key and that fails in compare.
Resolution 2:
Temporarily increase the Oracle undo_retention time until the compare completes
Resolution 3:
Wrong syntax can also result in ORA-0936. The following has an extra 'where' clause which resulted in this error:
compare table SIEBEL.SOURCE_TABLE to SIEBEL.TARGET_TABLE target servername@o.targetSID where \"where LAST_UPD between to_date('01-JAN-2002','dd-mon-yyyy') and to_date('31-DEC-2002','dd-mon-yyyy')\""