Hi
Have you checked that the Contact2 records actually exist? Try running the following query:
select accountno from contact1 where accountno not in (select accountno from contact2)
This will find records in C1 that do not have a C2 record. See if they are the records where you are getting a match fail.
If this is not the issue, let me know if the accountno's of the records that are failing have a trailing space.
Regards
Admin