Several months ago I installed Oracle IdM 11g (11.1.1.1.0) … 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:
patchMaster.Domainhomenew
patchMaster.Domainapplicationshomenew
patchMaster.Domainhomeold
patchMaster.Domainusername
patchMaster.Oracleinstanceoldlist
patchMaster.Oraclehomeold
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 11.1.1.2.0
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 11.1.1.2.0 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.Componentlist=OID,OVD,ODSM,OPMN
patchMaster.Schemaurl=jdbc:oracle:thin:@idm.acme.com:1521:acme1 (note: acme1 is the service name)
patchMaster.Schemauser= System
patchMaster.Schemaprefix=ODS
patchMaster.Mwhomenew=/apps/Oracle/Middleware_R1
patchMaster.Mwhomeold=/apps/Oracle/Middleware
patchMaster.Domainhomenew=/apps/Oracle/Middleware_R1/user_projects/domains/IDMDomain
patchMaster.Domainhomeold=/apps/Oracle/Middleware/user_projects/domains/IDMDomain
patchMaster.Oracleinstancenewlist=/apps/Oracle/Middleware_R1/oid_1
patchMaster.Oracleinstanceoldlist=/apps/Oracle/Middleware/oid_1
patchMaster.Oraclehomenew=/apps/Oracle/Middleware_R1/Oracle_IDM1
patchMaster.Oraclehomeold=/apps/Oracle/Middleware/Oracle_IDM1
patchMaster.Domainadminhost=idmhost.acme.com
patchMaster.Domainadminport=7001
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.
Hello! Brad, I konw you may not remember by now but I have a very specific question regarding the upgrade for IDM from 11.1.1.1.0 to 11.1.1.5. As to get to a reasonable starting point I have to upgrade to WL 10.3.2 and IDM(FMW) 11.1.1.2.0 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 11.1.1.2, (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?
Thank you so much and would appreciate any feedback if you happen to remember….
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?
Brad
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 11.1.1.2. 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?
Thx.
I am pretty sure that you do need to extend the new domain first. Do you have DIP installed in your original domain?
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?
That’s interesting. They told me then … that I had to create a new domain. It would be great if you didn’t have to.
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….
I think I got it going..
a) Created a new domain for 11.1.1.2.0
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.
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.
Thanks,
Brad
Thanks Brad!
I think it will help a lot of ppl. Not sure how many are still on 11.1.1.1 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 11.1.1.2 and then upgrade to 11.1.1.x… but if it’s absolutely necessary to go from 11.1.1.1. and OID, OVD, DIP, ODSM is installed and registered with 11.1.1.1 DOMAIN/instance, then the key is to create a 11.1.1.2 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?
Hi Barry,
Can you please clarify the below queries on OID upgrade from 11.1.1.1 to 11.1.1.12
11.1.1.1 details:
===========
WLS_HOME=/u01/app/oracle/product/11.1.1/fmw1/wlserver_10.3
ORACLE_HOME=/u01/app/oracle/product/11.1.1/fmw1/idm
MW_HOME=/u01/app/oracle/product/11.1.1/fmw1
ORACLE_INSTANCE=/u01/app/oracle/admin/oid_inst1
Steps till now I have followed for upgradeing to 11.1.1.2
======================
a) Installed Software (Oracle WebLogic Server – 10.3.2)
b) Installed IDM software – 11.1.1.2 (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.
11.1.1.2 Details so far:
=======================
MW_HOME=/u01/app/oracle/product/11.1.1/fmw
WLS_HOME=/u01/app/oracle/product/11.1.1/fmw/wlserver_10.3
ORACLE_HOME=/u01/app/oracle/product/11.1.1/fmw/idm
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 11.1.1.2
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 11.1.1.2.0 Domains and Instances
Thanks
VG
Please help me.
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!
Brad
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.
Regards
VG
Hi Brad,
One more question. As you suggested that it’s not necessary to create the new instance for 11.1.1.2, but during the step of –
“Migrating the Oracle Instance”
We need to specify below parameters in patchMaster.properties
patchMaster.Oracleinstanceoldlist
patchMaster.Oracleinstancenewlist
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.
Thanks
Venu
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.