The purpose of this post is to provide some tips when planning a policy migration from Oracle Access Manager (OAM) 10g to OAM 11g. Before you begin, I recommend that you install the latest Bundle Patch (BP). At the time of this writing, the latest BP for OAM 11gR2PS1 is patch 16872730. Installing this patch will save you lots of time as there has been a few important bugs fixed in this release. Secondly, take a look at the documentation link here; within the document take note of Table 11-1. The table the describes what artifacts are compatible from OAM 10g.
The Policy Migration Strategy
The first step is to run a migration report on the OAM 10g artifacts. This report will display all artifacts along with the compatibility mode. The modes are COMPATIBLE, INCOMPATIBLE, INCOMPATIBLE WITH LESS FEATURES and IGNORE. The documentation goes over these modes in more details and the report will give you an idea on how much of manual changes you will need to make in your new OAM 11g environment. The more of the INCOMPATIBLE type modes could mean more manual changes. The report file can be huge depending on your data set; however, the file itself has a lot of blank spaces due to formatting of the data. I recommend that you replace say two blank spaces for one in your favourite editor. This should make it easier to read the file.
Here is a small sampling of the file. I added a single line for each artifact type:
|DATA SOURCES||AS_User_Profile||Name:source.us.oracle.com, Host:idm.us.oracle.com, Port:3060||COMPATIBLE||The data store LDAP entry name source.us.oracle.com will be modified to source.us.oracle.com(AS_User_Profile).|
|AUTHENTICATION SCHEMES||10g Authentication||Description: Migrated: 10g Authentication scheme.||COMPATIBLE_WITH_ LESS_FEATURES||Some of the challenge parameters will not be migrated. Post migration actions will be required to modify the authentication scheme as per Oracle Access Manager 11g. Missing challenge parameters are: [name: form ,value: /login.htm, name: creds ,value: userid password domain authtype customPlugin, name: action ,value: /access/login.cgi, name: path ,value:/|
|HOST IDs||sourceHostID||Host:Port source.us.oracle.com& source.us.oracle.com:80& source.us.oracle.com:443||COMPATIBLE|
There are three modes of execute for the policy migration tool; these are COMPLETE, INCREMENTAL and DELTA. DELTA mode is new in PS1 and is not the same as INCREMENTAL. When planning your policy migration strategy one of the things you will need to decide is whether you are planning to co-exists with OAM 10g. If so, the policies in OAM 10g may change and you may need to push changes to your new OAM 11g environment. The DELTA mode is used in this scenario. INCREMENTAL mode is used when you only want a sub-set of the artifacts from 10g. Keep in mind that if you migrate single policy domain, all dependencies for that policy domain will also be migrated.
Once you have evaluated the report, the next step is to prep your OAM 11g environment. Now, I have never seen a migration attempted only once. Undoubtedly, you may need to run the migration tool multiple times due to testing/issues etc. Running the tool multiple times for the same data set against the same 11g environment is not recommended. Even if you remove all the data from the 11g environment, you may still see some unintended side effects. My recommendation is to make a clean back-up of the environment. Once you have installed OAM 11g (including the patch), make a back-up if the domain home directory. You may also need to modify the setDomainEnv.sh script to increase the JVM heap size as described here in section 11.17.2.
If the migration fails or has issues, here are the steps to get back to a clean state:
1) Shutdown the Weblogic Admin server.
2) Drop and create the OAM 11g Schema using Repository Creation Utility (RCU). Make sure you create the schema using the same schema name and password.
3) Remove the domain home directory and recover by copying the back-up directory. If you changed the JVM properties, make sure the changes exists after you copied from the back-up directory.
4) Run the configureSecurityStore.py script to re-associate OAM to the database policy store.
This will allow you to quickly re-run the migration tool against the same domain you initially created. Instructions for running the migration script is documented here. Depending on your data set; the actual migration could take hours. Running the script again without following the steps I outlined above will more than likely waste more of your time. Trust me.
All site content is the property of Oracle Corp. Redistribution not allowed without written permission