6 Overview of the Upgrade Process

This chapter contains the following sections:

6.1 Why Upgrade?

There are several reasons to upgrade to the latest version of Oracle Identity Analytics:

  1. Access to the latest advanced features and functionality

  2. Access to the latest security enhancements

  3. Continued eligibility for full support and services

6.2 Phases of the Upgrade Process

The upgrade process is divided into three major phases:

  • Phase 1 - Prepare to upgrade Oracle Identity Analytics

    In phase one you document your existing environment, choose an upgrade version, and document any custom components.

  • Phase 2 - Test the upgrade

    In phase two you create a test environment, download third party library files, and deploy the upgrade in a test environment.

  • Phase 3 - Upgrade Oracle Identity Analytics in the production environment

    In phase three you create a production rollout plan and deploy the upgrade in the production environment.

6.3 A Recommended Task List for Upgrading

  1. Read the release notes of both the version you are upgrading from, and the version you are upgrading to, in order to understand important product changes.

  2. Document your existing environment, which includes the following:

    • Platform - Be sure to document your application server and database server configuration.

    • Oracle Identity Analytics Installation - Document file folder locations and configuration settings.

    • Custom Components - Document custom configurations and utilities.

    • Custom Workflows - Document custom workflow approval steps.

    • Custom Reports - Create a backup of any custom reports. Custom reports include changes made to default Oracle Identity Analytics reports and any other reports uploaded into the application.

  3. Create a backup of the existing database and Oracle Identity Analytics installation directory (including the contents). For example, back up the .indexes, conf, import, export, and reports directories, the existing .war file, and the exploded .war directory within the application server. This gives you the ability to reinstate the working environment back to the previous release, if necessary.

  4. Create a test environment that mirrors the functionality of the production environment.

  5. Develop a comprehensive test plan. The test plan's objective is to ensure that all currently utilized product functionality remains operational after the test and before deployment in the production environment.

  6. Check the version level of the infrastructure components, for example the operating system, the JDK software, the application server, the database, all resources, and any provisioning systems. Confirm that support for your current environment is still provided in the latest version of Oracle Identity Analytics.

  7. Rebuild any custom Java classes and utilities against the target product libraries.

  8. Complete the entire upgrade before attempting to start the application server and resuming activity.

In addition, consider the following:

  1. Upgrade the database schema if this step is required in the current release. The necessary files are provided in the distribution package inside the db folder.

  2. If OIA is integrated with Oracle Waveset, and if the rm_idm_init.xml file (located in the $RBACX_HOME/conf directory) has been modified for a customized Oracle Waveset integration, extract and customize the file again to reflect the previous customizations.

  3. If the rbacxmessages.properties file (located in the WEB-INF/classes directory) is modified for customized messages, extract and customize the file again to reflect the previous customizations.

  4. If the rbacxaudit-messages.properties file (located in the WEB-INF/classes directory) is modified for customized messages, extract and customize the file again to reflect the previous customizations.

  5. If a customized logo is required, create a backup of the logo.gif file located here:

    exploded_rbacx.war_directory/images

  6. Back up any customized report(s) located in OIA_Installation_Directory/reports.

  7. If the jobs.xml file was previously extracted from the exploded_rbacx.war_directory/WEB-INF/ directory and updated with custom CRON expressions for any scheduled jobs, extract and customize the file again so as to retain the previous CRON expressions.

    Do not replace the jobs.xml file on the target release with a previous version because the jobs.xml file is likely to change with each new version of Oracle Identity Analytics.

    Following is a sample CRON expression for user file import:

    <bean id="usersImportTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
        <property name="jobDetail">
            <ref bean="usersImportJob"/>
        </property>
        <property name="cronExpression">
            <value>0 0/5 * * * ?</value>
        </property>
    </bean>
    
  8. Oracle recommends that you extract the scheduling-context.xml file, located in exploded_rbacx.war_directory/WEB-INF/.

    To retain any previous triggering/scheduling customizations, changes should also be made to the scheduling-context.xml file for the target release.

    Following is a file sample that would require changes to the scheduling-context.xml file in the target release.

    <property name="jobDetails">
            <list>
                    <!--ref bean="usersImportJob"/-->
                    <!--ref bean="accountsImportJob"/-->
                    <!--ref bean="rolesImportJob"/-->
                    <!--ref bean="glossaryImportJob"/-->
                    <!--ref bean="policiesImportJob"/-->
                    <!--ref bean="businessStructureImportJob"/-->
                    <ref bean="identityAuditContinuousViolationScanJob"/>
                    <ref bean="identityAuditViolationReminderJob"/>
                    <ref bean="certificationReminderJob"/>
                    <!--ref bean="reportReminderJob"/-->
                    <!--ref bean="stableFolderCleanUpJob"/-->
                    <!--ref bean="accountsMaintenanceJob"/-->
                    <!--ref bean="roleMembershipRuleJob"/-->
                    <ref bean="fullTextIndexMaintenancedJob"/>
                    <ref bean="workflowStepSLAJob"/>
                    <ref bean="roleStatusAndMembershipMaintenanceJob"/>
                    <ref bean="rmPreviewCleanUpJob"/>
                    <ref bean="userApplicationMaintenanceJob"/>
                    <ref bean="postImportJobsLauncherJob"/>
                    <ref bean="certificationRemediationJob"/>
                    <ref bean="rmScanArchivalJob"/>
                    <ref bean="eventPublishingJob"/>
                    <!--<ref bean="rmeRuleMigrationJob"/>-->
                    <!--ref bean="identityAuditDataMigrationJob"/-->
    
            </list>
    </property>
    
    <property name="triggers">
            <list>
                    <!--ref bean="usersImportTrigger"/-->
                    <!--ref bean="accountsImportTrigger"/-->
                    <!--ref bean="accountsImportTrigger_2"/-->
                    <!--ref bean="accountsImportTrigger_3"/-->
                    <!--ref bean="rolesImportTrigger"/-->
                    <!--ref bean="glossaryImportTrigger"/-->
                    <!--ref bean="policiesImportTrigger"/-->
                    <!--ref bean="businessStructureImportTrigger"/-->
                    <ref bean="identityAuditContinuousViolationScanTrigger"/>
                    <ref bean="identityAuditViolationReminderTrigger"/>
                    <ref bean="certificationReminderTrigger"/>
                    <!--ref bean="reportReminderTrigger"/-->
                    <!--ref bean="stableFolderCleanUpTrigger"/-->
                    <!--ref bean="accountsMaintenanceTrigger"/-->
                    <!--ref bean="roleMembershipRuleTrigger"/-->
                    <ref bean="fullTextIndexMaintenanceTrigger"/>
                    <ref bean="workflowStepSLATrigger"/>
                    <ref bean="roleStatusAndMembershipMaintenanceJobTrigger"/>
                    <ref bean="rmPreviewCleanUpJobTrigger"/>
                    <ref bean="userApplicationMaintenanceTrigger"/>
                    <ref bean="postImportJobsLauncherTrigger"/>
                    <ref bean="certificationRemediationTrigger"/>
                    <ref bean="rmScanArchivalJobTrigger"/>
                    <ref bean="eventPublishingJobTrigger"/>
                    <!--<ref bean="rmeRuleMigrationJobTrigger"/>-->
                    <!--ref bean="identityAuditDataMigrationTrigger"/-->
    
            </list>
    </property>