Scenario

Had a scenario where the FIM Synchronization Service kept stopping every ten minutes. The service would restart and then fail again.

Cause

Found that the synchronization cycle was being run every ten minutes. When the cycle would start it would stop the service. Then an automated task would restart the FIM Synchronization Service until the sync cycle when it would stop again.

Reviewed the operations and found that the run profile which was stopping the service was the import on the Oracle MA. Determined there was some corruption in the Oracle MA connector space causing the import to fail and stopping the service.

Resolution

1. Repair connector space

Repaired the connector space by deleting the CS and running a Full Import to re-import all of the data.

 

2. Backup Sync Server configuration

  1. Backup the Server Configuration
  2. From the File menu, select Export Server Configuration
  3. Ensure that you have the Encryption Key
  4. It wouldn’t hurt to back up your backend SQL Server database.

3. Check deprovisioning (avoid accidental deletions or attribute recall)

We need to check:

  1. What is the Object Deletion Rule set to for the metaverse object that you are working with inside this MA? In most cases, this going to the person object, and that is the object that we want to check.
  2. Select Metaverse Designer and then Person
  3. Select Object Deletion Rule
  4. What is it set to?
  5. If it is the first radio button “Delete metaverse object when last connector is disconnected” then we should be ok. If not, go ahead and set that value.
  6. Since this MA is authoritative, it most likely that it contributes the attributes to the metaverse. We want to be sure that we keep this information.
  7. Open the properties for the Oracle Management Agent in question
  8. Select Configure Deprovisioning
  9. Put a check in “Do not recall attributes contributed by objects from this management agent when disconnected”
  10. This is important, so that we can join back to the metaverse object.

 Note
Here is a good Microsoft TechNet Wiki to keep on hand whenever considering the deletion of a connector space:
[REFERENCE] Things to think about before deleting a connector space 

4. Refresh & Rejoin the CS objects

Then we followed the steps to join the objects again:

  1. Delete the connector space
  2. Execute a Full Import (Stage Only) on the Oracle MA
  3. Disable Provisioning in Tools > Options
  4. Execute a Full Synchronization on the Oracle MA
  5. Enable provisioning
  6. Full Synchronization on the Oracle MA
  7. If you modified the Object Deletion Rule, then change it back to its original state
  8. Same for the “Do not recall attributes” check box in the Oracle MA properties on the Configure Deprovisioning

The imports on the Oracle MA then began to run successfully without stopping the service and automated maintenance cycles began to run successfully.

See also