WebLogic 12c | Upgrading existing environment

NOT FOR PRODUCTION! NOT FOR PRODUCTION!! NOT FOR PRODUCTION!!!

Hi guys

So, I can see that WebLogic 12c installation along with forms and reports & configuring for deployment blog posts being accessed quite often. My original posts were referring to WebLogic 12c version 12.2.1.0.0 (or 12.2.1 as documents mention), which is a buggy release from my limited usage. I’ve skipped the next version and was pretty happy with the setup until I came across an oracle blog post about version 12.2.1.3.0

As I had the complete setup fully functional, I decided to upgrade the existing, against going for a fresh installation and configuration (that should have been done!). I just wanted to see how the Oracle software upgrade works in real means…

Today I am going to share my experience of upgrading an existing WebLogic 12c forms & reports environment to the latest release.

So let us have a look at the Oracle products installed on my Windows 10 64Bit Professional edition

  • Oracle developer suite 6i (for supporting legacy application that is 20 years old)
  • Oracle developer 10g (to support our EBS R12 Business application)
  • Oracle database 11gR2
  • Oracle database 12c (for weblogic repo)
  • WebLogic 12c 12.2.1.0.0
  • Forms and reports 12c 12.2.1.0.0

In addition to the above, I do moderate level of .Net development and Android. Hence you call my development machine as a MESS in true means. Because all these software stacks are installed, I cannot setup many mandatory environment parameters for Oracle products and I always manage them manually as and when required.

Warning: The below exercises are destructive. It is your sole responsibility to make backup of your existing WebLogic installation. I suggest you using 7-Zip software for making a proper backup of the WebLogic Installation “Folder”

Start 7-zip as “Administrator”, else the archiving utility will NOT able to access all files within the “WebLogic” installation folder”

0

Once 7-Zip GUI interface opens, browse to your partition on which you have installed the WebLogic infrastructure

0a

Please make sure that YOU WILL TAKE A BACKUP of your installation folder regardless the time and efforts require to make it!

Once the backup is completed, you can proceed

While using WebLogic 10.3.6, I remember upgrading the forms & reports 11g Release 1 installation with R2 just by pointing the installer to the installed folder and the installation was successful without any issues. Well, stuffs have changed. If you would try to install the Fusion Middleware 12.2.1.3.0 on top of an existing 12.2.1.0.0, you will be getting a long list of errors stating incompatibility.

INST-07545: Unexpected Error. The distribution Oracle Fusion Middleware 12c Infrastructure 12.2.1.3.0 contains incompatible features with the following:
Oracle Forms and Reports 12.2.1.0.0 [CIE WLS Shared External 12.2.1.3.0->CIE WLS Shared Config 12.2.1.0.0 (oracle.fmwconfig.wls.shared 12.2.1.3.0->[oracle.fmwconfig.wls.shared 12.2.1.0.0])]
Oracle Forms and Reports 12.2.1.0.0 [Oracle Globalization Support Files 12.2.0.1.0->Oracle Globalization Support Files 12.1.0.2.1 (oracle.nlsrtl.jrf 12.2.0.1.0->[oracle.nlsrtl.jrf 12.1.0.2.1])]
Oracle Forms and Reports 12.2.1.0.0 [Oracle JRF JAXP XML Development Kit 12.2.1.3.0->Oracle JRF JAXP XML Development Kit 12.2.1.0.0 (oracle.xdk.jrf.jaxp 12.2.1.3.0->[oracle.xdk.jrf.jaxp 12.2.1.0.0])]
Oracle Forms and Reports 12.2.1.0.0 [Oracle RDBMS files for JRF 12.2.0.1.0->Oracle RDBMS files for JRF 12.1.0.2.2 (oracle.rdbms.jrf 12.2.0.1.0->[oracle.rdbms.jrf 12.1.0.2.1])]
Oracle Forms and Reports 12.2.1.0.0 [DMS For JSE 12.2.1.3.0->DMS For JSE 12.2.1.0.0 (oracle.jse.dms 12.2.1.3.0->[oracle.jse.dms 12.2.1.0.0])]

Special Note: As usual, keep in mind, whole these exercises are done over a development environment and many of my approaches are purely non standard and doesn’t follow Oracle’s instructions. I expect you are always remembering the fair warning and not to copy the same on production environments.

Now, let us get in to the business.

Weblogic 12c 12.2.1.3 requires JDK 1.8 build 131 or later & if you have a previous version of JDK, please uninstall and install one of the recent JDK 8 releases those are available from Oracle download repos

Please download the software listed below.

Fusion Middleware 12.2.1.3.0

http://download.oracle.com/otn/nt/middleware/12c/12213/fmw_12.2.1.3.0_infrastructure_Disk1_1of1.zip

Forms & reports 12c Disk1 | Disk2

http://download.oracle.com/otn/nt/middleware/12c/12213/fmw_12.2.1.3.0_fr_win64_Disk1_1of2.zip

http://download.oracle.com/otn/nt/middleware/12c/12213/fmw_12.2.1.3.0_fr_win64_Disk1_2of2.zip

JDK 8 build 172

http://download.oracle.com/otn-pub/java/jdk/8u172-b11/a58eab1ec242421181065cdc37240b08/jdk-8u172-windows-x64.exe

Most of the scripts those are used with Weblogic are hard coded with the JDK path during the installation. Hence, the safest way to upgrade your existing JDK is by installing the JDK on a custom folder, for example, I always install JDK on c:\java\jdk, avoiding any release numbers attached to “jdk” portion of the folder. This guarantees that, if I upgrade to another JDK build, the path remains the same and the Weblogic scripts will NOT start screaming about missing JAVA components.

Note: While extracting the forms & reports ZIP files, make sure both the files are extracted to the same folder.

Once all the ZIP files are extracted, you should have these files in a single folder, kindly check the below image

0c

As per Oracle’s documentation the forms installer extracts files from “setup_fmw_12.2.1.3.0_fr_win64-2.zip” when the installation is initiated. Okay, I am done with loathing Oracle for such complex installation approaches…

Install the software in the following sequence

JDK. Install and append your PATH variable accordingly. In my case, my PATH environment variable has “C:\java\jdk\bin” as the 1st entry, which is required for configuring forms and reports developers.

Fusion Middleware with forms and reports support.

D:\Downloads\Weblogic 12.2.1.3>c:\java\jdk\bin\java -jar fmw_12.2.1.3.0_infrastructure.jar

Select a new “Home” for the 12.2.1.3.0 installation as you cannot install the software on top of existing 12.2.1.0.0. So if you have had Weblogic 12c older version installed on

“D:\Weblogic\Middleware\Oracle_Home” let the new software installed on “D:\Weblogic12213\Middleware\Oracle_Home”

Follow the prompts and complete the installation.

Now, install forms and reports by executing “setup_fmw_12.2.1.3.0_fr_win64.exe” and point the Oracle home as “D:\Weblogic12213\Middleware\Oracle_Home” (Change the details as per your setup)

Both the stacks should be installed within 25-30 minutes time & you are all ready to do the upgrade.

Reminder 1: As usual, keep in mind, whole these exercises are done over a development environment and many of my approaches are purely non standard and doesn’t follow Oracle’s instructions. I expect you are always remembering the fair warning and not to copy the same on production environments.

Warning 2: The below exercises are destructive. It is your sole responsibility to make backup of your existing WebLogic installation. Things could get nasty during the upgrade process and YOU would lose all your deployments in case if you don’t have a backup. I would even suggest that you make a database backup of your WLS repo.

I have opened a thread with Oracle communities and Micheal Ferrante had few comments about my findings. If you are interested, please do visit the thread

So far my understanding about the whole upgrade process is like following:

  1. Once you initiate the upgrade process for an existing 12.2.1 domain, the repository schema is updated with new information (database level)
  2. The deployed applications like OHS, WLS_FORMS, WLS_REPORTS binaries are upgraded to the latest version
  3. WebLogic startup scripts/configuration files  are amended with the latest Fusion Middleware paths & references

What this means to you? Well, you will have two different Oracle Homes for WebLogic , co-existing to serve you the purpose. You cannot uninstall the WebLogic 12.2.1 or 12.2.1.3 once the upgrade processes are over ;)

In addition to the above, I believe, the whole upgrade process is intended to upgrade ONLY the server side components for the domain, not the development elements. 

(Please note, I’ve reached to the above conclusion once after analyzing almost all WebLogic startup scripts and configuration files, None of the Oracle documents available as on date confirms to this findings of mine and I am the ONLY one responsible for what I just said ;) )

Let us upgrade!

Oracle document 12c (12.2.1.3.0) E80069-02 suggests the following for upgrade
4.5.1.1 Running the Upgrade Assistant to upgrade the Domain Schema

Perform the steps required to run the 12.2.1.3.0 Upgrade Assistant for upgrading the
Domain Schema.
To upgrade the Domain Schema:
1. Run the 12.2.1.3.0 Upgrade Assistant from the following location:
$ORACLE_HOME/oracle_common/upgrade/bin/ua

This means you have to switch to “D:\Weblogic12213\Middleware\Oracle_Home\oracle_common\upgrade\bin” & execute ua.bat file
2. Select the All Schemas Used by the Domain option.
3. Select the Schema components to Upgrade.
4. Provide the location of the reconfigured 12c domain.

(Point to the domain that is still under your Weblogic 12c 12.2.1.0.0 install folder or the physical location where it was created.)
5. Select the prerequisite check boxes
6. Provide the RCU Database connection information.
7. Click Next.
8. Click Finish.

4.5.1.2 Reconfiguring the 12.2.1 Domain using the WLS Reconfiguration
Wizard

You have to reconfigure the 12.2.1 Domain using the WLS Reconfiguration Wizard.
To reconfigure the 12.2.1 Domain:
1. Run the Reconfiguration Wizard from the following location:
$ORACLE_HOME/oracle_common/common/bin/reconfig.sh
2. Provide the location of the 12.2.1 FMW Domain for upgrade.
3. Enter the RCU schema information.
4. Select only the Topology option in the Advanced Configuration in the
Reconfiguration Wizard.
Do not select the System Components option. Those will be automatically
configured/upgraded by the Upgrade Assistant.
5. Leave the default selections on the Node Manager screen. Enter user name and
password if needed.

6. Select JRF-MAN-SVR and FORMS-MAN-SVR server groups for all the Forms
managed servers, including the default Forms managed servers WLS_FORMS,
WLS_FORMS1, etc., and any other Forms managed servers users that may have
been added after the 11g installation. (You can safely avoid this)
7. Click Next until you get to the last screen of the Reconfiguration Wizard.
4.5.1.3 Running the Upgrade Assistant to upgrade the Forms installation
You have complete series of steps by using the 12.2.1.3.0 Upgrade Assistant to
upgrade the Forms installation.

To upgrade the Forms installation:
1. Run the 12.2.1.3.0 Upgrade Assistant from the following location:
$ORACLE_HOME/oracle_common/upgrade/bin/ua
2. Select the All Configuration Used by the Domain option.
3. Provide the location of the reconfigured 12.2.1.3.0 domain.
4. Select the prerequisite check boxes.
5. Click Upgrade.

I really hope, the above Oracle instructions are simple to follow & one with minimum experience setting up Oracle software should able to complete the activities without any failure.

The entire exercises should be completed within 30-40 minutes. Once the upgrade process is over, you can start the Node Manager and Weblogic Admin server to confirm the components were upgraded to 12.2.1.3.0

Mine were, so I hope you will also have the same experience.

The real dilemma starts from here. Although all the components are upgraded, none of your forms modules would load and present you the following error:

FRM-40011: Form was created by an old version of Oracle Form. This means, your forms modules which were compiled using Forms 12c 12.2.1.0.0 are not compatible with 12.2.1.3.0 & YOU MUST recompile all your existing forms/menus/libraries using the latest version of Oracle forms!

To your utter dismay, you will find that, the forms builder with your upgraded domain is NOT upgraded to 12.2.1.3.0, instead it still remains 12.2.1.0.0, which is of no use as the forms server application has already been upgraded.

This could pose different levels of difficulties while deploying the applications. I have figured out the following in my case

  1. I cannot recompile the forms modules to latest supported version from the same box.
  2. If I am developing the application on a Windows Machine and moving it to Linux environment, I will not able to compile the modules as the stack that is available with the environment will be still 12.2.1.0.0 & I am expecting to get the same “Form was created by an old version of Oracle Form” errors! 

Workaround:

Initiate another Forms & Reports installation & choose a new “HOME” for the installation and select “Standalone forms”.

Refer this wonderful document for details, if you don’t have experience with setting up standalone forms developer instances

Add the connection details to the tnsnames.ora file available with your Standalone Forms Builder instance folder & you are all set to go. Now you can recompile the modules and go online with the supported version of forms. I didn’t check the reports part yet, I may in couple of days time & will update this post accordingly.

Well, this workaround shouldn’t be the ONLY one solution. I opted it due to the fact that I couldn’t figure out anything else and wanted to complete a migration urgently for demonstration purposes.

That’s all folks, I hope you would find the crude way of getting things done helpful in an emergency situation ;)

regards,

rajesh