Migrating Oracle 11g IdM from (R0) to (R1) #IdM #Oracle

Several months ago I installed Oracle IdM 11g ( … I’ll call it Release 0 (zero).  I don’t know if it is officially called R0 but that will do for now.  This was a development environment.  We were holding off on installing R1 due to time constraints but have finally run into enough issues that we had to make the time.  Well, I am making the time (it’s 1AM right now).  I am planning on working through the migration from R0 to R1 and hopefully have it ready for use by tomorrow morning.   The two components that need to be upgraded our Oracle Internet Directory (OID) and Oracle Virtual Directory.  With 11g you have to upgrade Weblogic as well … so that is on my list for tonight also.

Our most compelling reason for upgrading is one particular plugin that has become available in OVD in R1.  That plugin is the ForkJoin Plugin as described from the Administration Guide:

“Supported only for Join View Adapters, the ForkJoin plug-in allows you to search against the primary adapter and/or secondary adapters in a Join View. During LDAP search, when a search filter contains one or more attributes that are available only in secondary adapter, without this plug-in, Oracle Virtual Directory cannot return Joined entries that satisfies the filter, as the entire search filter is sent only to the primary adapter. Using the ForkJoin Plug-in, Oracle Virtual Directory can search on attributes only in the primary adapter, only in the secondary adapter, and in both the primary and secondary adapters.”

According to the migration documentation from Oracle the upgrade process is actually a near complete reinstall and then a data migration. We have a lot of Oracle Access Manager Policies that are stored in OID and a few virtual dynamic groups stored in OVD. I am more concerned about the policies because of the time it took to implement.

Migration Steps

Step 1: Backups of course.

For backing up OID I just started at the root suffix and did an ldif export (from Apache Directory Studio).

Step 2: Install new Weblogic Home

Step 3: Install R1 components (OID, OVD)

When running the installer, make sure to select, “Install Software – Do Not Configure”. The Patch Assistant will migrate the middle-tier configuration. I noticed that when I selected, “Do not configure”, that the installer didn’t ask which components to install.

Step 4: Using the Patch Assistant to migrate schemas/data

Update the patchMaster.properties file with:







Interestingly enough the attribute Schemaprefix is marked as “optional” in the patchmaster file but the ant process complained that that attribute was null. I put “ODS” and it stopped complaining.

Create a WebLogic Domain for

Run the MW_HOME/oracle_common/common/bin/config.sh

Migrating the Domain

Type: ant master-patch-domain

Migrating an Instance

Type: ant master-patch-oinstance

Register the Instance

Type: ant master-register-oinstance

At this point I am getting an error because I missed the part that said, “Before registering the instance, ensure that your Administration Server is up and running”. I am searching for the new “StartWebLogic.sh” file but not able to find it. Strange! [time: 3:49 am]

At 4:15 AM I realized that I had skipped the part on creating the Weblogic Domain for so, I went back and did that.

The migration completed successful but it looks like there is some cleanup that needs to be done. OID is not responding. OVD looks like it migrated successfully. I was able to log in and see the dynamic groups that I had created in the previous version.

[This is where I left off. I am planning on picking this up later today or tomorrow to complete the migration. I will update the post with the final details for migration.]

Step 5: Test new instances (Does OAM still work? Is all of the appropriate data available via OVD?)

Step 6: Decommission R0

UPDATE (02/05/2010)

I finally found that I had made a mistake with my patchMaster.properties file by leaving off “ODSM and OPMN” from the components list.  I ended up redoing the install and it worked perfectly.  Here is what the patchMaster.properties file should look like:


patchMaster.Schemaurl=jdbc:oracle:thin:@idm.acme.com:1521:acme1 (note: acme1 is the service name)

patchMaster.Schemauser= System












17 thoughts on “Migrating Oracle 11g IdM from (R0) to (R1) #IdM #Oracle”

  1. ForkJoin plugin looks good. I’ve been waiting for it. I don’t know if I was the first to request the feature but I’m going to burn some karma and take credit for it. Nice blog btw.

  2. Hello! Brad, I konw you may not remember by now but I have a very specific question regarding the upgrade for IDM from to As to get to a reasonable starting point I have to upgrade to WL 10.3.2 and IDM(FMW) as ou described. The problem I’m running into is that I did the sames steps but DID NOT extend the domain to create OID,DIP,OVD and ODSM. And so don’t see those applcations POST-MIGRATION. You show that you did create a domain wiht IDM under, (dont’ show anythign selectect for managed servers, admin server etc. in the domain creation screen shot , could just be a minor thing as you have to have that..) but how di dyou get your OVD,OID and ODSM migrated? Doid you happen to just miss that step?

  3. Barry –

    It has been quite a while and I am afraid that I don’t remember exactly but I am pretty sure that the Admin server and managed servers were created during the migration. I don’t think that you want to create new instances because then those will conflict with what you migrate over. Are the migration scripts failing?


  4. Thank you so much for your reply.
    a) first time I did not create the admin server and managed server and nothing really happened. So the next try, I created the managed server and the admin server and those come up fine but no DIP, em etc in the deployments and the patch assistant complained about no DIP available, etc.
    b) The problem and confusion (after looking at the patch assistant documentation by oracle) is that you are supposed to have these things installed as extension of the domain or not?

    So to be clear, I’m not talking about new instances within the same domain but under the new domain for I think your blog is great but the grey area in this whole exercise seems to e regarding specifics like ODSM and DIP and does the new domain need to be extended prior to patching and migration?


  5. yes, we have DIP, OVD and OID installed and if I don’t extend the domains none of those migrate and I can’t get to ODSM any more…

    Oracle keeps telling me I don’t even need to create a new DOMAIN…. interesting, huh?

  6. no, they are wrong, they have no clue to what’s going on… so I’m trying something by creating a new domain and then extending it for OID, DIP, OVD and ODSM. I’m almost done with it and see if it works for me….

  7. I think I got it going..

    a) Created a new domain for
    b) Extended the domain for OID,OVD,DIP and ODSM that created the wls_ods1 managed server on it’s own
    c) Everything migrated fine….

    Thank You.

    1. Barry –

      That’s great that you got it going. Sounds like I need to update my post to reflect that you need to extend the domain first. I appreciate you commenting and letting me know your results. Your feedback will improve my site for others.



  8. Thanks Brad!

    I think it will help a lot of ppl. Not sure how many are still on OID, but it’s definitely the missing key and the Oracle documentation is very confusing. I know lot of folks just do a fresh install of and then upgrade to 11.1.1.x… but if it’s absolutely necessary to go from and OID, OVD, DIP, ODSM is installed and registered with DOMAIN/instance, then the key is to create a domain and then extend it for these products before you use the patch assistant to do the rest of the steps to patch and migrate the domain as described in your steps.

    But I would like to thank you for having the detailed instructions as that gave me a lot of insides on where to start and go about this whole project?

  9. Hi Barry,

    Can you please clarify the below queries on OID upgrade from to details:

    Steps till now I have followed for upgradeing to
    a) Installed Software (Oracle WebLogic Server – 10.3.2)
    b) Installed IDM software – (NOT configured)
    c) Downloaded and unzipped the Patch Assistant Zip File
    d) Set Up the patchMaster.properties File and Run Patch Assistant for Schema – SUCCESFULLY. Details so far:

    Now my question here is,

    1) Doc – http://docs.oracle.com/cd/E23943_01/doc.1111/e16793/patch_assistant.htm#BABJIFIE recommended to create the weblogic domain (NewFMW/oracle_common/common/bin/config.sh) directly without creating the new OID Instance.
    Because if it’s required to mention the old Instance and the new instance details in the Instance migration …right?

    2) Not sure if my next steps should be

    e) Using New ORACLE_HOME=/u01/app/oracle/product/11.1.1/fmw/idm/bin/config.sh
    Create the new domain and new instance for
    f) From the new FMW – /u01/app/oracle/product/11.1.1/fmw/oracle_common/common/bin/config.sh
    extend the exiting WebLogic Domain.?
    g) Migrate the Domain
    h) Migrate the Instance
    i) Registering Instance
    j) Start Domains and Instances


    Please help me.

    1. VG,

      I wasn’t sure if you were asking Barry or me … I am not sure that Barry is monitoring my blog so I’ll presume that you were asking me the question.

      1. The answer to your question number 1 is yes. You do not create the new OID instance because it will conflict with the old instance when you migrate your data.

      2. Your next steps look appropriate. It’s been about 2.5 years since I have done this so I don’t remember all of the details.

      Good Luck!

  10. Hi Brad,

    Sorry, I was addressing my questions to you only.

    Fine, I willl proceed with your suggestions without creating new instance.

    Thanks a lot for all your help.


  11. Hi Brad,

    One more question. As you suggested that it’s not necessary to create the new instance for, but during the step of –
    “Migrating the Oracle Instance”
    We need to specify below parameters in patchMaster.properties

    So here it’s asking for the new instance list, so that’s the reason for asking whether we really need to create a new instance or not.
    If not required to create a new instance, then what should be value for the above ‘patchMaster.Oracleinstancenewlist”?

    Please clarify, with this I am really confused. I am aware that it’s been long time for you but I am not sure if you can redirect to some one who did this upgrade recently and can help me.


  12. Unfortunately I don’t know of anyone that has done this upgrade recently, except for maybe the other people that have commented on this blog. I am not sure how you would connect with them though. I think the patchMaster.Oracleinstancenewlist has to have every component listed that you plan on installing.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top