Upgrading Oracle Pedigree and Serialization Manager from 1.2.0.19.0 to 2.1.0.1.0

This chapter lists the steps for upgrading Oracle Pedigree and Serialization Manager (OPSM) from 1.2.0.19.0 to 2.1.0.1.0.

If you are upgrading from 1.2.0.19.0, you must also apply the 2.1.0.1.0 patch after upgrading to 2.1.0.0.0. You cannot stay on 2.1.0.0.0. Failure to do so will result in loss of functionality.

This chapter covers the following topics:

Pre-Upgrade Tasks

  1. Shutdown the admin server and the managed servers (for example, soa_server1 and pas_server1).

  2. Upgrade to Oracle Database 12c Release 1 (12.1.0.1.0) 64-bit Production Database, Enterprise Edition, if needed.

    Upgrading the database is NOT required for Oracle Pedigree and Serialization Manager Release 2.1.0.0.0.

    Important: When installing Oracle Database 12c Release 1, choose Advanced Install, then in the following screens, deselect the Create as Container database option and select the AL32UTF8 character set.

  3. Download and apply the latest patches from Release 1.2 from support.oracle.com:

    Patch Part Number/Patch Number Notes
    OPSM 1.2.0.0.0 17426567 Available on My Oracle Support (https://support.oracle.com/)
    OPSM 1.2.0.1.0 18305980 Available on My Oracle Support (https://support.oracle.com/)
    OPSM 1.2.0.2.0 18390644 Available on My Oracle Support (https://support.oracle.com/)
    OPSM 1.2.0.3.0 18449428 Available on My Oracle Support (https://support.oracle.com/)
    OPSM 1.2.0.3.1 18520466 Available on My Oracle Support (https://support.oracle.com/)
    OPSM 1.2.0.4.0 18613786 Available on My Oracle Support (https://support.oracle.com/)
    OPSM 1.2.0.5.1 20094334 Available on My Oracle Support (https://support.oracle.com/)
    OPSM 1.2.0.6.0 20296116 Available on My Oracle Support (https://support.oracle.com/)
    OPSM 1.2.0.7.0 21244455 Available on My Oracle Support (https://support.oracle.com/)
    OPSM 1.2.0.10.0 21692956 Available on My Oracle Support (https://support.oracle.com/)
    OPSM 1.2.0.11.0 21785676 Available on My Oracle Support (https://support.oracle.com/)
    OPSM 1.2.0.11.1 22201666 Available on My Oracle Support (https://support.oracle.com/)
    OPSM 1.2.0.12.0 21785819 Available on My Oracle Support (https://support.oracle.com/)
    OPSM 1.2.0.13.0 21785689 Available on My Oracle Support (https://support.oracle.com/)
    OPSM 1.2.0.14.0 22607589 Available on My Oracle Support (https://support.oracle.com/)
    OPSM 1.2.0.14.1 22698644 Available on My Oracle Support (https://support.oracle.com/)
    OPSM 1.2.0.14.2 22712716 Available on My Oracle Support (https://support.oracle.com/)
    OPSM 1.2.0.15.0 23022989 Available on My Oracle Support (https://support.oracle.com/)
    OPSM 1.2.0.16.0 23344184 Available on My Oracle Support (https://support.oracle.com/)
    OPSM 1.2.0.17.0 20449989 Available on My Oracle Support (https://support.oracle.com/)
    OPSM 1.2.0.18.0 24687534 Available on My Oracle Support (https://support.oracle.com/)
    OPSM 1.2.0.19.0 25190074 Available on My Oracle Support (https://support.oracle.com/)
  4. Set the following environment variables:

    • MW_HOME to your Middleware Home

      For example,

      Unix-based systems:

      MW_HOME=/slot/ems2383/oracle/mwhome

      Windows-based systems:

      MW_HOME = D:\scratch\opsm_install\Oracle\Middleware

    • MW_ORA_HOME to your SOA HOME

      For example,

      Unix-based systems:

      MW_ORA_HOME=$MW_HOME/Oracle_SOA1

      Windows-based systems:

      MW_ORA_HOME=%MW_HOME%\Oracle_SOA1

    • ORACLE_DB_HOME variable to include ORACLE_HOME

      For example,

      Unix-based systems:

      ORACLE_DB_HOME = /scratch/opsm_install/app/oracle/product/11.2.0/dbhome_1

      Windows-based systems:

      ORACLE_DB_HOME =D:\scratch\opsm_install\app\oracle\product\11.2.0\dbhome_1

    • PATH variable to include ORACLE_HOME\bin

      For example,

      Unix-based systems:

      PATH=$ORACLE_DB_HOME/bin:$PATH

      Windows-based systems:

      PATH=%ORACLE_HOME%\bin;%PATH%

    • ORACLE_HOME

      For example,

      Unix-based systems:

      ORACLE_HOME= /scratch/opsm_install/app/oracle/product/11.2.0/dbhome_1

      Windows-based systems:

      ORACLE_HOME= D:\scratch\opsm_install\app\oracle\product\11.2.0\dbhome_1

    • JAVA_HOME variable to your Java installed directory

      For example,

      Unix-based systems:

      JAVA_HOME = /scratch/opsm_install/Java/jdk1.6.0_06

      Windows-based systems:

      JAVA_HOME = D:\Java\jdk1.6.0_06

    • ORACLE_SID

      For example,

      Unix-based systems:

      ORACLE_SID = slc12ltk

      Windows-based systems:

      ORACLE_SID = slc12ltk

    Note: You can verify an environment variable setting by using the echo command. For example,

    Unix-based systems:

    echo $ORACLE_DB_HOME

    Windows-based systems:

    echo %ORACLE_DB_HOME%

  5. Copy the pas.zip file to the location that you have set in your MW_ORA_HOME environment variable.

  6. Merge the applications, db, soa, and scripts directories from the extracted pas.zip within the existing pas folder. The atglite and odi directories must remain since the deployed libraries refer to the jars inside that directory. There are no changes to the files in adapters, atglite, odi, soa, and templates directories.

    Unzip the pas.zip file using the following command:

    unzip -o pas.zip
  7. Take a backup of the OPSM data. In particular, take a backup of any custom code in the package specification and body of the PAS_SERIAL_GEN and PAS_SERIAL_VAL database packages.

  8. Move the jar utility from your JDK home folder into the search path. This is needed because the install script uses the jar utility to extract the files and modify the connection parameters.

  9. If you are using a 12c Database please execute this command using the sys user before the upgrade:

    GRANT INHERIT PRIVILEGES ON USER SYS TO XDBPM;
  10. Navigate to $MW_HOME/user_projects/domains/base_domain/bin, and startup the WebLogic server and the managed servers.

    On Unix-based systems use the following commands:

    ./startWebLogic.sh 
    ./startManagedWebLogic.sh soa_server1
    ./startManagedWebLogic.sh pas_server1 

    On Windows-based systems use the following commands:

    startWebLogic.cmd
    startManagedWebLogic.cmd soa_server1
    startManagedWebLogic.cmd pas_server1
  11. Backup the user_projects directory under the middleware home. This is needed because the upgrade script modifies the domain and if the upgrade fails for any reason, you will need this backup to restore the original domain.

  12. Populate the values in properties file to ensure that a description of every property is available before the property is referred to. The appropriate parameters are described in the comments of the properties file. The properties file is located in the MW_ORA_HOME/pas/scripts directory.

    For Unix-based systems, use the pas_install.properties file.

    For Windows-based systems, use the pas_install_win.properties.file.

Upgrade Tasks

  1. Make sure that the admin server and the managed servers (for example, soa_server1 and pas_server1) are not running.

  2. Navigate to the PAS script directory.

    For example, cd MW_ORA_HOME/pas/scripts

  3. Execute the upgrade script to upgrade Oracle Pedigree and Serialization Manager.

    For Unix-based systems, use the "pasMasterUpgrade12To21.py" script. Run the installation script using the following command:

    $MW_ORA_HOME/common/bin/wlst.sh ./pasMasterUpgrade12To21.py 

    For Windows-based systems, use the "pasMasterUpgrade12To21Win.py" script. Run the installation script using the following command:

    %MW_ORA_HOME%\common\bin\wlst.cmd pasMasterUpgrade12To21Win.py

    Ensure that the terminal on which you are running the upgrade has sufficient scroll-back lines (for example, 5000) to capture all the output from the install activities. This enables you to review all of the upgrade activities later.

    Important: The upgrade python script will run database upgrade scripts. Please observe the console output and check if there are errors while running of database scripts and continue with the upgradation.

    During the upgrade, you are prompted to answer this question after each SQL script is executed: Are there any errors in script? y/n. If you answer no, the upgrade script continues and assumes there are no errors in the script execution so far. If you answer yes, the upgrade script quits and assumes there are errors in the script execution.

    In the case of script execution failure, after you have corrected the errors, comment the sql script files in the upgrade script which have already run successfully before re-running the upgrade script.

    Note: If you see errors similar to below while removing soa temporary files, these errors can be ignored and you may continue with the upgrade:

    rm: cannot unlink entry "C:/Oracle/MIDDLE~1/user_projects/domains/base_domain/servers/soa_server1/tmp/_WL_user/soa-infra/y2559h/war/WEB-INF/default/PasTransmitSerialsViaFileComposite!1.0_soa_7c78c21f-f0d9-453b-91d3-04fdaaa5dcd3/transmitserialsviafile_client_ep/TransmitSerialsViaFile.wsdl": The system cannot find the path specified.

    The upgrade script attempts to start the Admin Server. It tests in a loop if the server is up before it continues. If you installed your WebLogic Server in Production Mode, the Admin server requires a userid and password to start which the script does not set for security reasons. In this case, you must start a new terminal window to start the Admin Server. After the script detects the server has started, it will continue.

    After the Admin Server has been started, the upgrade script will prompt you to start up the managed servers (for example, soa_server1 and pas_server1). To do so, make sure the environment variables are set as described in the Pre-Upgrade Tasks section, then navigate to MW_HOME/user_projects/domains/base_domain/bin. Using separate terminal windows, startup the PAS and SOA managed servers. Keeping in mind your actual managed server names may be different, use the following commands as examples:

    For Unix-based systems:

    • sh startManagedWebLogic.sh soa_server1
    • sh startManagedWebLogic.sh pas_server1

    For Windows-based systems:

    • startManagedWebLogic.cmd soa_server1
    • startManagedWebLogic.cmd pas_server1

    After the managed servers are started, press enter in the first terminal where the "pasMasterUpgrade12To21.py" script or "pasMasterUpgrade12To21Win.py" script is run to continue processing the install script.

  4. The OPSM installation output is captured in the scroll buffer of the terminal on which you run the installation. Scroll through the buffer to check for errors. The following warnings, if seen, can be ignored:

    • WARNING: Failed to create ConnectionDBean for {http://xmlns.oracle.com/oracle/apps/fnd/applcore/flex/deployment/service/model/}FlexDeploymentService

    • WARNING: Failed to create ConnectionDBean for AtkHelpPortalService

  5. After the upgrade script has completed successfully, you must restart the Admin Server and managed servers (for example, soa_server1 and pas_server1) for changes made by the upgrade script to take effect.

Post Upgrade Tasks

Apply the 2.1.0.1.0 Patch

Download the OPSM 2.1.0.1.0 patch (25908128) available on My Oracle Support (https://support.oracle.com/) and apply the patch.

If you are upgrading from 1.2.0.19.0, you must also apply the 2.1.0.1.0 patch after upgrading to 2.1.0.0.0. You cannot stay on 2.1.0.0.0. Failure to do so will result in loss of functionality.

Correct Contact and User Information

  1. The data in the PAS_S_LOCATION_CONTACTS table and PAS_EPC_USERS table needs to be cleaned up by populating missing information and correcting inconsistent information.

    The PAS_S_LOCATION_CONTACTS table must not have any rows with a null contact_user_id. Run the following SQL statement to identify rows with a null contact_user_id and populate the contact_user_id where ever it is null. Since this is also used for digital signatures, if that is enabled, you may want to give the WebLogic username that the contact has or will have in the future.

    select * from PAS_S_LOCATION_CONTACTS where contact_user_id is null

    Important: This sql statement must be run while connected to the database as the PAS user.

  2. If there are rows with duplicate contact_user_id values in the PAS_S_LOCATION_CONTACTS table, all the other user related information must be identical for these rows. The script "checkLocationContactUserInfoConsistent.sql" displays which records are inconsistent. This script is located in the pas/db directory. Update the rows so that they are consistent.

    Important: This script must be run while connected to the database as the PAS user.

  3. If the same username is present in both the PAS_EPC_USERS and PAS_S_LOCATION_CONTACTS tables, the user data in the two tables must be consistent. Run "checkLocationContactUserInfoConsistentWithEpcUsers.sql" to identify the inconsistent rows. Update the rows so that they are consistent.

    Important: This script must be run while connected to the database as the PAS user.

  4. The "central_user_data_migration.sql" script performs the same verification as in the previous three steps (Step 1 through Step 3). If it fails, the script will exit with an error message and will not perform the migration. If it passes, it will migrate data from the PAS_S_LOCATION_CONTACTS and PAS_EPC_USERS tables into the PAS_S_USERS table. It updates the USER_ID column in PAS_S_LOCATION_CONTACTS table with the value in the USER_ID column in the PAS_S_USERS table. It populates the PAS_EPC_USER_POLICY_ASSOC table based on the data in the PAS_EPC_USERS table.

    Important: This script must be run while connected to the database as the PAS user.

Migrate Locations to Packs Table

Migrate the locations to the packs table by running the "upgradeInstall_step3_fepasSchema_migrateLocationToPacksTable.sql" SQL script provided from within the MW_ORA_HOME/pas/db folder.

Important: This script must be run while connected to the database as the PAS user.

Verify Servers are Running

Refer to the Post Installation Tasks section to verify that the servers are running.

Configure Security for the Application and Services

Refer to the Oracle Pedigree and Serialization Manager Security Guide for the new jobs, duties, application roles, and privileges introduced in 2.1.0.0.0.

Load Existing OPSM Templates into Oracle BI Publisher 11g

If you decide to use Oracle BI Publisher 11g, follow the instructions in the Installing Oracle Pedigree and Serialization Manager 2.0.0.0.0 chapter, Post Installation Tasks section, Load Existing OPSM Templates Into Oracle BI Publisher 11g.

Restore Back Up of Custom PLSQL Procedures

Restore the backup of the custom code in the PAS_SERIAL_GEN and PAS_SERIAL_VAL packages.

Re-Upgrade Tasks

In the event that an upgrade fails, follow the procedure below to perform a new upgrade. Keep in mind that your actual managed server names may differ from those used in the sample commands listed below.

  1. Make sure that the environment variables are set as described in Pre-Upgrade Tasks, and that you are in the DOMAIN_HOME (typically MW_HOME/user_projects/domains/base_domain).

  2. Stop the SOA Server.

    Go to DOMAIN_HOME/bin and issue the following command at the prompt:

    For Unix-based systems:

    sh stopManagedWebLogic.sh soa_server1 t3://<servername>:<adminport>

    For example:

    sh stopManagedWebLogic.sh soa_server1 t3://host.oracle.com:7001

    For Windows-based systems:

    stopManagedWebLogic.cmd soa_server1 t3://<servername>:<adminport>

    For example:

    stopManagedWebLogic.cmd soa_server1 t3://host.oracle.com:7001

  3. Stop the PAS Server.

    Go to DOMAIN_HOME/bin and issue the following command at the prompt:

    For Unix-based systems:

    sh stopManagedWebLogic.sh pas_server1 t3://<servername>:<adminport>

    For example:

    sh stopManagedWebLogic.sh pas_server1 t3://host.oracle.com:7001

    For Windows-based systems:

    stopManagedWebLogic.cmd pas_server1 t3://<servername>:<adminport>

    For example:

    stopManagedWebLogic.cmd pas_server1 t3://host.oracle.com:7001

  4. Stop the Admin Server.

    Go to DOMAIN_HOME/bin and issue the following command at the prompt:

    For Unix-based systems:

    sh stopWebLogic.sh

    For Windows-based systems:

    stopWebLogic.cmd
  5. Perform cleanup tasks:

    1. Clean up the MW_HOME/user_projects directory and restore from the backup taken before the initial installation.

    2. Delete the pas directory under MW_ORA_HOME.

    Use dbUpgrade = no in the properties file to prevent repeated upgrade of the database if the database upgrade scripts were already successfully executed.

  6. Perform step 4 from Pre-Upgrade Tasks.

  7. Perform step 6 from Pre-Upgrade Tasks.

  8. Perform a new upgrade.

    Follow the steps for a new upgrade starting with step 1 under the section Upgrade Tasks.