Help needed on the delta view for an Oracle MA RRS feed

  • General discussion

  • Hi all,

    I've been using an Oracle MA for a year now (with FIM 2010). I'm now busy with FIM 2010 R2 and want to optimize the process of import from the oracle database. Till now, we've done every time full imports, with 600.000 rows, so it takes a lot of processing time for like 500 updates.

    I've been reading/understanding which explains the usage of delta views, but I'm using a multivalue table as well, and there's a thing not clear in that doumentation.

    In the multi-Value section, it's an employee E006 that is added, and in the multi-value table, the director E005 gets to direct (manage) E006 (so that's the multivalue part). The delta view to be created explains on the 2 extra colums being added (attribute_name and change_type).

     - the second entry:  which is used to identify a target: E006     "NEED TEXT"        Add        => which actually is adding the user and is clear.

    the first row however, is E005   "DIRECTS"     "Modify attribute"    
        => I can follow that, but where's the column with the value that it's actually an extra person to direct, which is E006 ??      
        =>  Does it mean that the "modify attribute" only refers to the fact that the DELTA_IMPORT will also read the Multivalue specified table?
       => Is this complete or is this like "select * from multi-value-view where employeeid='E005' and ATTRIBUTE_NAME='DIRECTS' ?

    I'm probably missing something here...

    Kind Regards,

    Thursday, December 13, 2012 4:52 PM

All replies

  • Although it's not a direct answer to your question, I would really try to avoid using the standard database MAs to handle deltas (as there is no common concept of change tracking or watermarking), and the multivalue attribute performance is known to be troublesome.

    If this is an import-only MA, have you considered writing a script to sync the Oracle data into ADAM/AD:LDS?  FIM does a great job of pulling attribute-level deltas from that.

    Failing that, my next choice would be to use a pre-existing custom MA or write one.  I believe there are a few partners that offer majorly improved, generic MAs for database access.

    Steve Kradel, Zetetic LLC SMS OTP for FIM | Salesforce MA for FIM

    Thursday, December 13, 2012 8:11 PM
  • The second entry in the delta is showing that an identity has been added to the main objects table/view.  The first row indicates that the sync engine should process a change in the DIRECTS attribute for the E005 user, and it will query the full multivalue table in order to find the new value for that attribute.  I imagine the query sent to the Oracle instance would be more like:

    select STRING_VALUE from multi-value-view where employeeid='E005' and ATTRIBUTE_NAME='DIRECTS'

    It would repeat that process for every object with a change in a multivalue attribute, and for every new object imported, which you can imagine would perform poorly as Steve alluded to.  For new objects it would probably have to query the MV table for all unique attributes associated with that object, and then pull the values for each.

    The best thing I can do to help you understand the configuration and how it works is to refer you to Carol's blog.  That post I linked has links to several posts related to the topic you are asking about.


    Thursday, December 13, 2012 9:54 PM
  • Hi Steve,

    It is an Import MA today, but I want to have the option to have it as an export MA as well in the future, for the reason that the application managing the content of the Oracle table (user <-> groups relationships) is on Mainframe and very old, and I can perfectly manage this with FIM (and workflows, self service and so on).

    So the Microsofts' Oracle MA is limited (compared to other MA's)?


    Friday, December 14, 2012 8:01 AM
  • Have a look at my PowerShell MA ( - there is a download for SQL sample scripts that support deltas and export (if you need that later) - maybe that could be used for inspiration for writing a PS script that gets delta from your Oracle DB.

    Regards, Soren Granfeldt
    blog is at | twitter at!/MrGranfeldt

    Monday, December 17, 2012 6:12 AM