This topic has 2 replies, 2 voices, and was last updated 1 year, 9 months ago by AdessoThomas.

  • Author
  • #22946

    Good morning,

    In our project we use IDM as a sync connector from Oracle DB (which is the golden source of the data) into DS.
    The customer has a proprietary GUI to change the entries in the Oracle DB.
    My question is: What is the recommended solution to achieve a live sync in IDM? To be more precise, whenever someone changes the data in the DB, this should be synced into DS after a couple of seconds.


     Bill Nelson

    LiveSync can be configured to run against sources that provide a method of detecting changes since the last LiveSync ran. This allows you to ONLY process the changes and not the entire data set (as with reconciliation).

    To accomplish this, LiveSync requires that the source expose some method of change detection. For directory servers, the change log (cn=changelog) is used. Databases do not have a change log per se, but what they do have is a timestamp or change sequence number that can be used for this purpose. Because you are only processing the changes, LiveSync can be run every few seconds.

    IDM stores the timestamp as a generic object in the repo. When LiveSync executes, it retrieves this value from the repo and uses it to detect new changes (for instance ‘select * from users where timestamp > ${tstamp}’). In this example, tstamp is the value of the generic token object stored in the repo.

    This method uses the scripted SQL connector and more explicitly, the Sync.Script.groovy script.

    Hope this helps,



    Thanks a lot, Bill. This is very helpful.

Viewing 3 posts - 1 through 3 (of 3 total)

You must be logged in to reply to this topic.

©2020 ForgeRock - we provide an identity and access platform to secure every online relationship for the enterprise market, educational sector and even entire countries. Click to view our privacy policy and terms of use.

Log in with your credentials

Forgot your details?