The PARALLELISM option/parameter is used to provide parallel hints in the SELECTs in Oracle. When a compare or repair is started, the compare process selects certain # of rows (based on the setting of the compare parameter SP_DEQ_MALLOC) from the source and target database respectively. It sorts those rows in the TEMP segment of the database, among others. The PARALLELISM has been there in Oracle since long and it is only recently that the Compare command allows it to be specified. This greatly helps in speeding up part of the compare operations. One point to note is that the Oracle Optimizer can still ignore such parallel hint provided to it by the Compare process via this parameter. The reasons for such behavior are beyond the scope of this solution.
The THREADS is meant to do multitasking in compare process by way of opening up multiple threads on the source compare process (sp_desvr process). For each thread used on source, there is a corresponding sp_declt process spawned on target. If there is only one table to be compared, then the ‘threads’ default to 1 even though the user may have provided a higher value.
It should be noted that these options can be provided as a command line option in compare/repair command or can be set as a parameter in compare/repair.
If too many out of sync are involved, the “nosqllog” option of compare/repair can be used to improve the performance of compare/repair. See the Knowledgebase article 228415 for details.