No post should look good, started with a statement asking the visitor to move on because “There is nothing much to see here”. Trust me, if you already referred my previous post(s) for Oracle Forms & Reports 12.2.1.4, then there is nothing new I have for you in this post. As I don’t have much to offer other than what I have already did through my previous post, let us see how we can insure your fresh attempt to get this whole complex stack installed & configured successfully on your computer.
Are you excited? Don’t be. Oracle has released the much waited Windows version for their Oracle Forms & Reports couple of days back and I must say, I was super excited based on the promises given about the IDE improvements. For improvements what I could see what line numbers inside PL/SQL editor.
Software Requirements
Side note before anything else. Please note, you must install software from the same architecture. Said, if you install JDK 32-Bit and expect your 64-Bit Weblogic to work properly, that is not going to happen. Hence insure all the software you download and install belong to the same architecture.
Microsoft Visual C++ Redistributable packages (Specific to Weblogic 12.2)
and for Oracle Forms 12.2.1.19, you have to install Visual Studio 2017 VC++ compoments.
Before you start the installation, let’s do a checklist
Is your Windows machine updated with latest patches for OS and .Net?
Do you have a static IP address for your computer/laptop?
What is the name of your computer? does it looks like some random letters?
Have your read the installation document? :) nobody does it right?
Legal, cracked, pirated… OS comes in different flavors & nothing can stop it. However, keeping your box up to date is your responsibility. Oracle is a very complex technology, that depends upon many OS elements. A broken box will not get you anywhere.
Static IP address is 2nd most important element when you are installing a server software, that is WebLogic in our case. As this server has to be identified and reached by clients, a fixed IP address is a must, however not always possible when a user has limited infrastructure. Microsoft has provided “Microsoft Loopback” interface for such requirements. Please Google and find more about setting it up, if you are one of those users. Microsoft Loopback helps you to setup a static IP address, please note other computers in your network cannot reach your computer using this IP address or setup!
Name of your computer or HOST name. Much of the Computer/Laptop that you buy with Windows preinstalled come with some whacky names. You should change such names to something more meaningful like “JOHN-PC”,”XYZ” etecetra.
I didn’t either read installation manuals until recent times. I realized that, I could avoid hours or sometimes days long Googling merely by reading the instruction manuals.
Once you are done with Microsoft Visual Studio C++ redistributable package(s) installations, we can proceed. Please follow the below post that should take you through installation and setting up a classic weblogic domain, report server instance etc. I hope you will have least issues installating and configuring Oracle Forms & Reports following my post 🙏(Don’t get discouraged by the title of the referred post, as I stated in the beginning, there is nothing new HERE!). The one thing I want to warn you about the time that your computer might take to bring up the UI for the Oracle Forms & Reports installer. This could be nothing less that 7-8 minutes, much more depending upon your hardware resources.
After a long break, I am going to post about deploying Oracle Forms & Reports based application using Weblogic Server 12c (12.2.1.4).
With my previous posts about Weblogic 12c & Oracle Forms & Reports, I have provided most of the details about configuring the Forms and Reports environments for deploying Forms & Reports based application(S). Well, for a beginner this could post a challenge.
So the post is for beginners and those trying to setup an environment using Weblogic Server for the first time. Please note, you must adjust the paths listed below according to your installation/naming conversions.
To start with, I always install Weblogic Server & Oracle Forms & Reports software on the same HOME. Example: D:\Weblogic\Middleware\Oracle_Home
The advantage of following the same name throughout installations (of same version) is, I can copy the fine tuned configuration files from an existing installation and later use them when I am forced to remove and reconfigure the complete infrastructure.
To host Oracle forms and reports based applications, we need to make few changes with existing configuration files for both Forms and Reports. Prior making those changes, let us run a quick errand for mandatory elements for successful deployment of applications.
HOST Name (aka your computer name). Make sure you have a meaningful name for your computer. If you have installed and configured Weblogic and other software components against a name that looks like a joke, then redo the installation and configurations against a new computer name (eg: RAJESH-PC, JOHN, MARTHA, ORASERVER or anything that is short and could easily be identified). Refer documents those explain you how to change your computer name.
You must have a STATIC IP address for your computer that is going to host your Forms & Reports application. If your computer is part of domain network & supported by a DNS server, you might take a risk of not having STATIC IP, however, please note, Oracle insists for a STATIC IP for the box on which you install database & other server software. Usually at home/small networks, you are connected to a wireless router/router or a computer that issues dynamic IP addresses. If you are at home, you may assign a IP address outside of DHCP scope for you computer. Please google for more details to know how to setup STATIC IP address. If you are new to these basic networking elements, consult someone who could help you.
HOST File modifications. As we are talking about Windows environments, regardless whether client or Server OS, you will find the HOST file under:
C:\Windows\System32\drivers\etc
You can use Notepad to open up this file and add an entry like below. If you are on Windows 7 or later, make sure that you are opening Notepad as Administrator (The whole exercises you have read until were only tested on Windows 10):
Where 192.168.1.65 is the STATIC IP address assigned to my computer, erp-prod.my.home is the fully qualified domain name(FQDN) and erp-prod is the hostname.
At home you don’t need the FQDN, unless you have a DNS configured or you fancy a computer name like “mycomputer.mydomain.com” instead of just “mycomputer”
The above were the least amount of network related settings those you insure to make sure that your application can be accessed from your computer (and your network). Please note, you have to open port 7777 (default OHS) through the firewall so that other computers on the network can access your application. For local testing, you may skip this.
So, I guess we are good with the above mentioned and will move to setting up “stuffs” for our first application. I already have an application that was developed using 11g Forms & Reports and will be using the same for the rest of explanations.
Setup TNS Names. If you are not using environment variable TNS_ADMIN, you should set up the TNS names exclusively for your application deployment.
So, I said I always install Weblogic and other software components in the same place “D:\Weblogic\Middleware\Oracle_Home”. After configuring for a classic domain for Forms & Reports, I can find the tnsnames.ora file under the path:
Where “base_domain” is the default domain name Oracle suggests during the configurations.
I suggest you to make a copy of your tnsnames.ora file prior making changes to the file. The best is, copy the tnsnames.ora file from your database network admin folder after renaming the existing tnsnames.ora file.
Once the TNS names are set, we can quickly setup “formsweb.cfg” file within which our application specific configurations will be defined.
Based on my installation path and classic domain naming, I should find the formsweb.cfg & default.env files under:
Please make sure that each and every other configuration file that you are going to edit/alter is backed up, so that you can rollback to default configuration easily by replacing the wrongly configured files. I usually put “.original” by the end of backed up files!
Below is a sample configuration for my application & trust me, you need more than half of the parameters listed below
You will learn which parameters are not necessary over the long run. Just make sure that you will create all the new configurations by the dead end of “formsweb.cfg” file to avoid confusions. Please give extreme attention to the parameter “java_version=1.7+”. This means, you can only use JRE versions 1.7 and above (JRE7, 8 and other certified)
Once the formsweb.cfg is saved, we can proceed with editing/altering default.env file, that is in the same path. You can tell the forms runtime to look in this file to locate the forms runtimes. For example, I’ve all the compiled runtimes available at D:\12c folder for the application that I am trying to deploy/publish. The FORMS_PATH is pointed to it & other paths wherever I have applications (eg: mapped path \\RT04\OPMAN12C\main). Make sure each path is separated using a “;”
Finally we have to edit/alter one more file, “Registry.dat” which controls how the LOVs appear/behave and many other values for the runtime. We will only configure LOV appearance and required field background color settings this time.
#
# Application level settings to control UI features
#
# app.ui.lovButtons=false
app.ui.lovButtons=true
# app.ui.requiredFieldVA=false
app.ui.requiredFieldVA=true
# The background color is specified as an RGB triple.
# app.ui.requiredFieldVABGColor=255,0,0
app.ui.requiredFieldVABGColor=255,242,203
Please note, you can make these whole changes using Weblogic EM console. For me this is the fastest way.
Once whole these changes are made, you can start Weblogic server, start Weblogic FORMS server and try to run the application by entering the following URL on Microsoft Internet Explorer. Please note, no browsers other than Internet Explorer allow you to load JRE NPAPI client. We will discuss about using Java Webstart method by the end of this post.
One most important element you should cross verify at this point is whether the JRE installed is 32Bit or 64Bit. If you have installed the complete JDK before Weblogic setup, you should uninstall the JRE 8/higher version that is installed and install JRE 32Bit 7 or higher. Internet explorer will not load 64Bit JRE
Now, we will see how to get reports from the application. If you are planning to migrate from Developer 6i to 12c, there is going to be a huge effort involved. I am working with Oracle Applications R12 from last 11 years and have adapted much of the ideas from the application (menu architecture, report submission and many other). You will have to design a totally new approach for your reports, to cut it short. Plus, 12.2.1.4 is the last version of Oracle Reports (according to sources). Hence please start planning for Oracle BI or Crystal Reports integration for your reporting requirements in the future.
If you are switching from Forms/Reports 6i, please note, you will start using Web.Show_Document method for calling reports from Forms. With the given example, I am allowing users to select a report from list of values and storing the report executable value in to :CTRL.REPORT_NAME column and the calling “Web.Show_Document” method.
if (:CTRL.REPORT_NAME IS NOT NULL) then
Web.Show_Document('/reports/rwservlet?usr&desformat=PDF&destype=cache&report='||:CTRL.REPORT_NAME||'¶mform=Yes','_new');
else
NULL;
end if;
You can pass the report name (‘ABCD.rdf’) for example for the parameter report within the url specified in Web.show_document method.
How to OPEN Forms Developer and Reports 12c??
While Oracle Forms 12c is available within the menu
accessing Report Developer may not be that straight forward. Basically report builder windows executable is wrapped inside multiple windows batch files & you will find the rwbuilder.bat file here:
I suggest you not to try to open the executable, as the wrapper setup environment for the executable to run. Interested, the .bat file has the following content:
@REM
@REM Copyright (c) 1999, 2008, Oracle and/or its affiliates.
@REM All rights reserved.
@REM
@echo off
@echo Starting Reports 12c Builder...
setlocal
set DOMAIN_HOME=D:\Weblogic\Middleware\Oracle_Home\user_projects\domains\base_domain
call %DOMAIN_HOME%\reports\bin\reports.bat
set COMPONENT_NAME=rptools1
set COMPONENT_CONFIG_PATH=%DOMAIN_HOME%\config\fmwconfig\components\ReportsToolsComponent\%COMPONENT_NAME%
set REPORTS_INSTANCE=%COMPONENT_CONFIG_PATH%
set CA_GPREFS=%COMPONENT_CONFIG_PATH%\tools\admin
set CA_UPREFS=%COMPONENT_CONFIG_PATH%\tools\admin
@echo on
start %ORACLE_HOME%\bin\rwbuilder.exe %*
@echo off
endlocal
@echo on
I think I’ve made a decent attempt to make it easier for a sample application deployment using Weblogic Server 12.2.1.4 & always ready to develop and provide a sample application for entirely newbies using Oracle’s sample schemas. Feel free to let me know through the comments 🙏
Please do not try to install Weblogic 14.1.1.0, that supports only JAVA deployments as on date. Oracle says they are committed to release a version that supports Oracle Forms and Reports & the stack is under development.
Last reviewed on: 24th December 2020
Few days back I received an interesting message from one of the visitors, having troubles with their WebLogic installation, inquiring about the frequent crashes. My visitor Mr. Rabin Mitra later figured out it was due to using 32Bit JDK with 64Bit WebLogic infrastructure.
After successfully executing "startnodemanger.cmd" and "startWeblogic.cmd", I am able to start the Weblogic Console UI. However, any action (such as clicking on Server button) within the UI crashes Weblogic! The error is as follows:
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (malloc) failed to allocate 1210952 bytes for Chunk::new
Mr. Rabin has confirmed that he had to uninstall the complete WebLogic installation & redo as replacing 32Bit JDK with 64Bit was not sufficient enough to address the continued issues with installation. Please go through the below text and links, incase if you are in the same “soup” ;)
I am happy to report that the 32-bit version of JDK on my 64-bit machine was indeed the problem. However, merely replacing the JDK does not solve the problem. The reason for this is that the jar file for WebLogic was extracted using the 32-bit JDK. This implies that the WebLogic must as well be reinstalled. This again in turn means that the Domain must be re-created and since the domain is associated with a repository, the repository must also be reinstalled. So, it turns out that one must dismantle each piece and reinstall it from scratch!
Installing the JDK is the #1 instruction. So, an incorrect choice here pretty much sets you back completely. You may want to provide this as a caution to your readers.
So here briefly is the sequence of events one must follow if they chose an incorrect version of JDK.
This time we are going to see how we could install and configure Oracle forms & reports 12.2.1.4, the latest version using WebLogic Server 12c 12.2.1.4
The Visual C++ requirements mentioned MUST be met, without which you will NOT able to startup OHS instance.
Prior Installing Oracle Server Software on your computer, please make sure that your computer has a proper name (hostname) like “JOHN-PC, RAJESH-PC, ORACLE-SERVER” etc instead of defaults like ‘DESKTOP-jyyytyuukkyjj’ after an installation of Windows. In addition, please make sure that your laptop/Desktop machine has a Static IP address.
As a rule of thumb, regardless whether you are going to install and configure Oracle software on LINUX or Windows operating systems, always update the OS to latest patch levels, prior you start with the Oracle software installation(s). I strongly recommend using Oracle VirtualBox based Virtual Machines for the lab & later you may move the tried out solution to your preferred environments (TEST, Development). I don’t recommend any of the suggestions I make through my blog posts to be applied to PRODUCTION environments without consulting a Professional support entity.
As per Mr. Rabin Mitra’s suggestion, I am adding a clause. “Please double check whether all the software you have downloaded for the installation is of same architecture. The below instructions are for 64Bit Weblogic installation & starting from JDK all the software downloaded must be 64Bit”
I prefer installing JDK on C: drive & Usually my JDK is installed on C:\Java\JDK folder. The shortest name, the best to handle it later. Once the 64Bit JDK is installed, you need to setup either JAVA_HOME environment variable or add a new entry in to the system path. I prefer a system path modification than user path modification.
Okay, there are hell loads of Oracle software installed on my system. Don’t worry, I manage them. Just make sure the JDK installation path is on top of the list and you are good to go
Install Weblogic Server 12.2.1.4
It may take a while for the jar file to extract and start the installer. Please wait patiently. I was setting up the entire infrastructure using Windows 10 VM & due to the limited resources, hence the entire ordeal was kind of time taking this time for me.
You can safely skip the Auto Update
Naming Oracle installation folders is an art. The complex the folder structures, the complex later configurations would be. I usually prefer to install all my Oracle software on D: drive. Please feel comfortable to format the Oracle home as per your requirements. Maintaining the same format helps me to locate and sometimes replace files from previous installations.
Select “Fusion Middleware Infrastructure”
WebLogic or Middleware installation is NOT complex anymore on Windows 10 OS. There are no special hacks needs to complete the installation.
Install forms & reports 12.2.1.4
Extract the downloaded zip file & you MUST start the installer as “Administrator”.
We’ve to install the Forms and Reports stack on an existing Oracle Home. So please select the Oracle Home where you have installed “WebLogic” Server. Alternatively you can always install the stack on a different Oracle Home, which I never tried earlier.
Select “Forms and Reports Deployment”, as the last two versions of Forms & Reports allow you to install a Standalone Forms Builder.
Select the correct JDK Home
Please make sure that you have Visual C++ libraries pre-installed prior proceeding. If you don’t have the VC++ libraries installed, the OHS instance will not start & you might experience additional problems during installation also.
That completes the Forms & Reports 12.2.1.4 installation.
Create a REPO for the Classic Domain
To create a classic domain, you must have a repository available with the database. Weblogic 12c supports Oracle 11G 11.2.0.4 or later database for the repositories & my pick will be always 12c Database as the 11.2.0.4 is only accessible for customers with valid Oracle support. You may refer this document for a detailed “how to” towards installing Oracle 12c database.
From an elevated command prompt, switch to Oracle Home\oracle_common\bin folder & execute “rcu.bat”
Check the below image for details
Choose the defaults
Provide the connection parameters. If the database is on another server, you don’t have to install additional clients, connection parameters will take care of the connection. Refer the below image for details (Adjust according to your database setup)
My 12c Database already has a repository for Forms & Reports 12c 12.2.1.3, hence I created a new prefix “DEV1”. If you are creating a repo for the first time, you can use “DEV” or any other 3 letter combination (make sure you will able to remember it laters).
Select all the components as seen with the below image. The selected are mandatory, especially the Metadata Services.
Use the same password everywhere! Unless you are setting up a production instance, use the same password everywhere. Example, I use “Abc1234” for the schemas, Weblogic Admin account, node manager etc, which makes the administration much easier. For production, follow the Oracle standards.
That completes the repository creation for a Classic domain.
Create a Classic Domain for deploying forms & reports application
From an elevated command prompt, switch to Oracle Home\oracle_common\common\bin (eg: D:\Weblogic\Middleware\Oracle_Home\oracle_common\common\bin) & execute config.cmd, that will kick start the classic domain configuration wizard.
Select the defaults, unless you have specifics. We will be creating a new domain with the following example.
Refer the below images and select the same components for a successful domain creation for forms and reports.
As I mentioned earlier, use the same password here, so that you don’t have to worry about forgetting & recovering it at later stages.
We will setup the domain for production (never tried Development, so don’t know how exactly both differ from each other). Leave the JDK selection as it is.
Now, your earlier created repository will come in act. Refer the below image(s) and adjust as per your environment
Make sure all the Schema validations are successful. Next step select components as per the below image
Make sure the Server Group is filled the value as seen with the below image. Don’t miss it!
We’ll add an instance OHS now. Click on the add button and refer the below images for more details
Fill in the Listen Address with “localhost” and leave rest to defaults
That finishes the creation of your classic domain.
I’m hurrying to publish the POST without further delays, as I am once again caught up with multiple assignments & keeping up with promises are NOT something I look up to at this time. However, I will add up the missing configurations for OHS and setting up the Forms and reports very soon an an annexure as early as possible!
19th June 2020
Today I installed & configured another Weblogic Server environment & realized that I was supposed to amend this post with more details, is a long due!
I chose a Container+PDB 12c database instance for my Weblogic Server this time. It was fun, finally learning few things about Container and pluggable databases & I am hoping to write another post about setting up Weblogic, Forms and Reports with such a setup in near future.
Now without wasting more time, let us see how to finalize the freshly configured classic domain for Oracle Forms and Reports deployment.
Switch to the your newly created domain’s bin folder from an elevated command prompt. Eg:
“D:\Weblogic\Middleware\Oracle_Home\user_projects\domains\base_domain\bin”. Usually I always installed Oracle software on D: drive & follow the same naming structure for the folders. It helps me to backup and restore configuration & other files that help me to finish setting up the environments faster.
Start the nodemanger now by issuing the command by executing the command “startnodemanger.cmd”
It may take few seconds to minutes until the node manager starts for the first time. Please remember, you shouldn’t close this command window, which will automatically stop the node manager.
Open another elevated command prompt window and switch to your classic domain’s bin folder. Start the Weblogic admin server by issuing the command “startWeblogic.cmd”
Okay, with node manager, 99.9% chances that you may not bite bullet. With Weblogic Admin server, this is not the case. For number reasons, the Server will try to start and give up in the middle. So don’t panic. If the Weblogic Admin Server is not coming up to a “RUNNING” status after extended period of waiting, go ahead and restart your computer. Start node manager and then try to start the weblogic admin server once again.
The initial startup could take up to 5-6 minutes (depending upon your hardware, this time could vary) & you should see a status like below
Remember not to close the window, which will immediately stop the Weblogic Admin Server. The status of the window will keep on updated against the activities happening at the server side. Once started, you can safely keep both node manager and Weblogic Admin Server CMD windows minimized.
Once after successfully logging in, this is the window you are presented with. We’ve to configure both Forms & Report servers now, by trying to start them. This process will keep on adding many elements to your start menu. Let us see we can start Forms (WLS_FORMS) & Reports (WLS_REPORTS) servers now
Click on the “Control” tab, select both “WLS_FORMS” & “WLS_REPORTS” from servers and press the “Start” button. Once start button clicked, you can press the refresh button to monitor the status of the Servers. Do not forget to click the refresh button again to stop refreshing once after the servers show the status “Running”
It could take minutes for both the servers to reach the “Running” stage. Keep watching the Admin Server command window for unexpected errors. If you have followed all the steps as I’ve instructed throughout my thread, I can confidently say that you shouldn’t have a single hick up until this moment.
Once both servers are running, we can complete the OHS setup finally. Open another elevated command prompt. Switch to Oracle_Common\common\bin folder
Eg: D:\Weblogic\Middleware\Oracle_Home\oracle_common\common\bin and start Weblogic Scripting Tool (wlst)
Now you can issue the command “ohs_updateInstances()” at the wlst prompt & once the configuration completed, exit wlst by issuing “exit()”
You can try to logon to Weblogic Enterprise Manager console and start the newly setup OHS instance now.
Logon to Weblogic Enterprise Manager from http://localhost:7001/em & click the carousal menu by the left hand side
and expand HTTP Server to view your newly created OHS instance. In our case “ohs1”. Click on “ohs1” to open the control panel for the instance
Click the Start up button to start the OHS instance & after showing you message window stating you cannot stop the starting/stopping process, OHS will start. It could take few seconds to minutes depending upon your hardware and available resources.
Give special attention to “Machine Name”.
Now we will see how to bring OHS instance in action by setting up the few other factors like node manager security, configuration files.
Lock & Edit the domain security values, please refer the image below for details
Provide a meaningful name for the node manager account and supply a password. I used the same password for the total 12c deployment, unless you are setting up a PRODUCTION instance, you may use the common password across the 12c instances for easy administration of objects when required. Shutdown the services (better). Once the node manager properties are changed, restart the WLS admin server. Please note, always stop all running servers (forms & reports) services prior shutting down the Admin server & I suggest you gracefully shutdown the Admin server by running “StopWeblogic.cmd” instead of using the Weblogic console.
Move to your Oracle Home folder. I have installed Weblogic server in D:\Weblogic\Middleware folder, hence my Oracle home folder is
D:\Weblogic\Middleware\Oracle_Home\
(Adjust your paths accordingly)
Edit forms.conf file in the folder D:\Weblogic\Middleware\Oracle_Home\forms\templates\config\
By default this template file comes with commented examples, like following
You need to uncomment one of the blocks starting from <Location /forms> until </Location> & add properties specific to your deployment, for example, my computer’s name is “RAJESH-PC” and I am using default ports for both forms and reports applications, hence I have the properties set like following
Now we will edit the configuration file for reports
Switch to “D:\Weblogic\Middleware\Oracle_Home\reports\conf” folder & edit “reports_ohs.conf” and add a block like following (alter according to your setup)
Now the OHS instance know about the deployments and once after restarted, you can try to start the forms based application through the OHS instance, rather than calling it against the default port (9001)
Once the OHS instance is updated with the new information, try to start the OHS instance from a command prompt using storeUserConfig parameter
1st run, you will be prompted for node manager password, supply the password you have setup earlier and OHS instance should start without creating a fuzz in usual scenarios
In future if you want to start the OHS instance, unless made changes to the configurations, just run
Above concludes the 1st of level of configurations for Oracle forms based application. You can use Weblogic 12c Enterprise Manager to configure most of the forms environment related parameters like forms path and other, while I am yet to find out relevant configuration areas for reports.
You can manually modify the formsweb.cfg & default.env files to start with as well
Regardless whether you are going to use the in-process report server or a stand alone instance of the reports, many changes should be made to the configuration files, so that you can call the reports server from a Forms module
Generally we will be modifying multiple configuration files, I will try my level best to provide the exact locations for the files which you should change according to your installation preferences
Configuration files path (Please note, through versions, there are minor changes happened to these configuration files. The images below were copied from my previous post about configuring for deployment, however the settings remain the same for 12.2.1.4 (as tested on 19th June 2020))
rwservlet.properties – Servlet specific properties
rwserver.conf – Server properties
cgicmd.dat – key mapping file
1. As far you are using in-process reports server, nothing much to alter with “rwservlet.properties” file. Basically you should see entries like following in the opened file:
2. rwserver.conf (Please check the below image)
3. cgicmd.dat: Many values we supply to call a report using Web.Show_Document method could potentially expose vital information like the database details & many other. “cgicmd.dat” file helps us to map such values to keys and later use them wherever applicable. With this example, I will demonstrate, how the database username, password and service name are mapped using a key. Please check the image attached below
Once these configurations files are altered, we need to create a report instance for the WLS_REPORT server. Open an elevated command prompt and switch to “D:\Weblogic\Middleware\Oracle_Home\oracle_common\common\bin”. Start wlst & connect to the server.
Note, you can choose your own name for the report instance. Once the report instance created, exit wlst and you can try to start the WLS_REPORT server from the weblogic console.
This comprehensive note should help you to quickly start with Oracle Forms & Reports 12c (12.2.1.4)
I am avoiding few elements like publishing a Forms based application for now. If you feel, should be added, please let me know through the comments section.
Two days back I’ve seen a tweet from Michael Ferrante asking the “Forms Enthusiasts” to hold their breathe, as Oracle is going to announce something “Exciting” for Oracle forms. Are you EXCITED as much I am? Well, I am pretty sure, it is going to be a push for AuraPlayer, as he has mentioned them in the tweet.
Regardless, I’ve a local instance of Weblogic Server 12.2.1.3, installed and a classic domain created. I stopped using it as my firm decided to drop the idea to migrate our 20+ years old Developer 6i developed ERP to Weblogic due to the complexity of Oracle licensing, followed by the uncertainty of Oracle support for Oracle forms beyond 2025 (Which is just 6 years away).
Hell with it, I wanted to see how far I have configured the domain and ended up setting up the forms server, publishing the half baked legacy application. As I have made more than dozen Weblogic installations in last 2-3 years time, I had almost everything backed up from different installations like configuration files, environment and registry files. All I needed was to copy and replace them at most of the places to bring the legacy application online within couple of hours time.
However, I have noticed that while starting the Weblogic Admin Server (from the command prompt, using supplied .cmd files), I was getting a number of java errors & all of them were related to FADS (Forms Application Development Services) & some text were like below (Sorry for the wrapping issues)
weblogic.application.library.LibraryDeploymentException: [J2EE:160141] Could not initialize the library Extension-Name: fads-dbtools-library. Ensure that the deployment unit is a valid library type (WAR, EJB, EAR, plain JAR). D:\Weblogic\Middleware\Oracle_Home\forms..\sqldeveloper\sqldeveloper\lib\oracle.dbtools-common.jar (The system cannot find the file specified) with : D:\Weblogic\Middleware\Oracle_Home\forms..\sqldeveloper\sqldeveloper\lib\oracle.dbtools-common.jar at weblogic.application.internal.library.LibraryDeploymentFactory.getLibData(LibraryDeploymentFactory.java:98) at weblogic.application.internal.library.LibraryDeploymentFactory.createDeployment(LibraryDeploymentFactory.java:50) at weblogic.application.internal.DeploymentManagerImpl.createDeployment(DeploymentManagerImpl.java:195) at weblogic.application.internal.DeploymentManagerImpl.access$800(DeploymentManagerImpl.java:61) at weblogic.application.internal.DeploymentManagerImpl$DeploymentCreatorImpl.createDeployment(DeploymentManagerImpl.java:628) Truncated. see log file for complete stacktrace
weblogic.application.internal.DeploymentStateChecker$DeploymentAssertionError: Unexpected transition: current state for application fads#1.0 : STATE_NEW attempt to transition to STATE_ADMIN Dumping 2 callbacks ———————- BEGIN CALLBACK DUMP ——- java.lang.Exception: prepare at weblogic.application.internal.DeploymentStateChecker.save(DeploymentStateChecker.java:152) at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:157) at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:65) at weblogic.deploy.internal.targetserver.AppDeployment.prepare(AppDeployment.java:166) at weblogic.management.deploy.internal.DeploymentAdapter$1.doPrepare(DeploymentAdapter.java:41) at weblogic.management.deploy.internal.DeploymentAdapter.prepare(DeploymentAdapter.java:193) at weblogic.management.deploy.internal.AppTransition$1.transitionApp(AppTransition.java:31) at weblogic.management.deploy.internal.ConfiguredDeployments$2.doItem(ConfiguredDeployments.java:741) at weblogic.management.deploy.internal.parallel.BucketInvoker$2.run(BucketInvoker.java:95) at weblogic.work.ContextWrap.run(ContextWrap.java:46) at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:670) at weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:352) at weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:337) at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:57) at weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41) at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:644) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:415) at weblogic.work.ExecuteThread.run(ExecuteThread.java:355) java.lang.Exception: activate at weblogic.application.internal.DeploymentStateChecker.save(DeploymentStateChecker.java:152) at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:164) at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:90) at weblogic.deploy.internal.targetserver.BasicDeployment.activate(BasicDeployment.java:274) at weblogic.deploy.internal.targetserver.BasicDeployment.activateFromServerLifecycle(BasicDeployment.java:507) at weblogic.management.deploy.internal.DeploymentAdapter$1.doActivate(DeploymentAdapter.java:53) at weblogic.management.deploy.internal.DeploymentAdapter.activate(DeploymentAdapter.java:202) at weblogic.management.deploy.internal.AppTransition$2.transitionApp(AppTransition.java:52) at weblogic.management.deploy.internal.ConfiguredDeployments$2.doItem(ConfiguredDeployments.java:741) at weblogic.management.deploy.internal.parallel.BucketInvoker$2.run(BucketInvoker.java:95) at weblogic.work.ContextWrap.run(ContextWrap.java:46) at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:670) at weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:352) at weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:337) at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:57) at weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41) at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:644) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:415) at weblogic.work.ExecuteThread.run(ExecuteThread.java:355) ———————- END CALLBACK DUMP ——- at weblogic.application.internal.DeploymentStateChecker.throwAssertion(DeploymentStateChecker.java:88) at weblogic.application.internal.DeploymentStateChecker.illegal(DeploymentStateChecker.java:107) at weblogic.application.internal.DeploymentStateChecker.up(DeploymentStateChecker.java:122) at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:166) at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:90) Truncated. see log file for complete stacktrace
Basically, these errors NEVER truly interrupt anything with deploying a forms based application, unless you want to do more with FADS. FADS deployment looks for some specific libraries and missing them were generating the above errors. As I mentioned, for a classic domain, addressing this error may not be truly necessary (for testing). I just love NO errors under usual scenarios, hence decided to fix it.
I referred the below documents to find a proper solution
The 1st document insists that we must delete/rename the pre-installed SQLDEVELOPER (3.x) under ORACLE_HOME (eg: D:\Weblogic\Middleware\Oracle_Home) & install a version that is minimum 4.2, however doesn’t mention anything about the highest version supported.
After checking the fads configuration py file, I realized that the files FADS deployment trying to locate during the startup were NOT available with SQLDEVELOPER 18.x:
The 2nd document I referred explained about configuring FADS & the blogger used SQLDEVELOPER 17.2 for his exercise. Hence I downloaded the specific version 17.2, extracted and copied the folder “sqldeveloper” to ORACLE_HOME & followed the instructions as provided within the Oracle document.
Error while using SQLDEVELOPER 18.x
D:\Weblogic\Middleware\Oracle_Home\oracle_common\common\bin>wlst.cmd D:\Weblogic\Middleware\Oracle_Home\forms\fads\fads_config.py Picked up JAVA_TOOL_OPTIONS: -Djava.vendor=”Sun Microsystems Inc.” Initializing WebLogic Scripting Tool (WLST) … Welcome to WebLogic Server Administration Scripting Shell Type help() for help on available commands
fads configuration script Admin Server will be shutdown by running this script. Do you want to continue? [Y/n] :Y You need to install Oracle SQL Developer 4.2 or higher under ORACLE_HOME. Did you install SQL Developer 4.2? [Y/n] :Y error: SQL Developer 4.2 is not installed under D:\Weblogic\Middleware\Oracle_Home Install it and run this script again. Download Oracle Sql Developer from http://www.oracle.com. exiting… Problem invoking WLST – Traceback (innermost last): File “D:\Weblogic\Middleware\Oracle_Home\forms\fads\fads_config.py”, line 341, in ? File “D:\Weblogic\Middleware\Oracle_Home\forms\fads\fads_config.py”, line 207, in fullConfig NameError: system
Successful configuration using SQLDEVELOPER 17.x
D:\Weblogic\Middleware\Oracle_Home\oracle_common\common\bin>wlst.cmd D:\Weblogic\Middleware\Oracle_Home\forms\fads\fads_config.py Picked up JAVA_TOOL_OPTIONS: -Djava.vendor=”Sun Microsystems Inc.” Initializing WebLogic Scripting Tool (WLST) … Welcome to WebLogic Server Administration Scripting Shell Type help() for help on available commands
fads configuration script Admin Server will be shutdown by running this script. Do you want to continue? [Y/n] :Y You need to install Oracle SQL Developer 4.2 or higher under ORACLE_HOME. Did you install SQL Developer 4.2? [Y/n] :Y SQL Developer 4.2 is installed under D:\Weblogic\Middleware\Oracle_Home connecting to WebLogic: Please enter your username :weblogic Please enter your password : Please enter your server URL [t3://localhost:7001] : Connecting to t3://localhost:7001 with userid weblogic … Successfully connected to Admin Server “AdminServer” that belongs to domain “base_domain”. Warning: An insecure protocol was used to connect to the server. To ensure on-the-wire security, the SSL port or Admin port should be used instead. obtaining Admin Server host/port information Location changed to domainRuntime tree. This is a read-only tree with DomainMBean as the root MBean. For more help, use help(‘domainRuntime’) fadsui.ear:-> D:\Weblogic\Middleware\Oracle_Home\user_projects\applications\base_domain\forms\fads\fads-ui.ear webservices – http://localhost:7001/fads/apis (updated to http://192.168.125.1:7001/fads/apis) Saving… Totals {connections=1, rest=1, updated=1} updating FADS OWSM policy creating fads keystore Already in Domain Runtime Tree Keystore created Already in Domain Runtime Tree Key pair generated Context is missing, therefore using current context “/WLS/base_domain”. Successfully configured property “keystore.type”. Successfully configured property “location”. Successfully configured property “keystore.sig.csf.key”. Successfully configured property “keystore.enc.csf.key”. creating fads WSM policy set Session started for modification. Description defaulted to “Global policy attachments for RESTful Resource resources.” The policy set was created successfully in the session. Policy reference “oracle/multi_token_rest_service_policy” added. The configuration override property “propagate.identity.context” having value “true” has been added to the reference to policy with URI “oracle/multi_token_rest_service_policy”. The policy set restPolicySet is valid. Creating policy set restPolicySet in repository. Session committed successfully. importing fads authorization policy import fadsWSpolicy passed D:\Weblogic\Middleware\Oracle_Home\forms\fads\policy\fadsWSMPolicy.zip Importing “META-INF/policies/oracle/binding_authorization_template_fads” Successfully imported “1” documents Location changed to edit custom tree. This is a writable tree with No root. For more help, use help(‘editCustom’) Starting an edit session … Started edit session, be sure to save and activate your changes once you are done. Saving all your changes … Saved all your changes successfully. Activating all your changes, this may take a while … The edit lock associated with this edit session is released once the activation is completed. Activation completed shutting down the Admin Server Shutting down the server AdminServer with force=false while connected to AdminServer … Disconnected from weblogic server: AdminServer shutting down the Admin Server …….done with fads post configuration………… please start the Admin Server
Exiting WebLogic Scripting Tool.
Once the configurations are successfully completed, the configuration process shuts down the Admin Server. Start the Admin Server & there should not be errors towards missing FADS libraries.
Downloading the installing Oracle software could be a challenging task at times, WebLogic 12c Forms & Reports installation is NOT very different Especially if you are as usual skipping the “read me” areas)
I will try to explain the download and extraction activities related Oracle forms and reports 12c below.
Once the files are downloaded, you need to extract both the zip files into a single folder
1st ZIP archive extracts “setup_fmw_12.2.1.3.0_fr_win64.exe” & 2nd ZIP archive extracts “setup_fmw_12.2.1.3.0_fr_win64-2.zip”. During installation, “setup_fmw_12.2.1.3.0_fr_win64.exe” expects “setup_fmw_12.2.1.3.0_fr_win64-2.zip”, hence, do NOT extract “setup_fmw_12.2.1.3.0_fr_win64-2.zip”. To make it simple, for Oracle installation, move the following files to a new folder, call it “Forms_Installer_12c”
D:\Forms_Installer_12c
and copy/move both “setup_fmw_12.2.1.3.0_fr_win64.exe” & “setup_fmw_12.2.1.3.0_fr_win64-2.zip” to this folder. Less confusing this way :)
========
One of the posts that is doing great according to a blogger’s expectation is about WebLogic 12c installation & configuring it for deploying Oracle forms/reports based applications.
Well, I totally missed the fact that Oracle periodically updates their software & missed out the current version of WebLogic 12c 12.2.1.3. It didn’t even ring a single bell when someone asked me about an error that was happening during his attempts to get 12c installed, which was specific to 12.2.1.3.
My previous post about WebLogic 12c strictly deals with version 12.2.1.0.0 for the areas of creating a new repository for WebLogic infrastructure and configuring a user domain. There are minor changes with 12.2.1.3, and those changes sure require mentions.
Prerequisites
Oracle WebLogic 12c, Oracle forms and reports require Visual C++ verion 11 preinstalled. Although the installation would proceed after showing missing prerequisites, I will NOT suggest you to take unknown risks. If possible, make sure your box is completely updated with latest Microsoft patches for the specific operating system.
This time I will take the freedom to believe that you already have Oracle 12c database installed and avoid going through the database installation procedures.
As a thumb rule, install Java JDK 8, the latest version available in a folder like C:\java\jdk or C:\JDK or D:\Jdk (the shortest path name possible).
Switch to the folder where you have downloaded the software required for Weblogic 12.2.1.3 installation and configuration from an “elevated” command prompt.
Check the below image for details:
It looks like Oracle has finally realized that 99% of the public will opt skip updates, hence they made it as default this time ;)
By following the classic way of naming the installation folders, you save tremendous time & efforts to locate configuration files (Especially if you are following my posts). I always choose to install the weblogic stack on D:\Weblogic\Middleware\Oracle_Home. This helps me to setup the environment next time by keeping exact path information for configuration files etc.
That’s all folks, your Weblogic stack is installed & you are ready to go ahead with the installation of Oracle forms and reports 12c now.
Basically you shouldn’t ignore the following “Warning” about Visual C++ element. I’ve found that Visual C++ causing serious issues with OHS instance starting during my previous attempts, hence make sure you install Visual C++ recommended version is installed in the machine.
The above installation(s) should be go all smoother than previous versions & now we can move to configuring our first domain using the latest WebLogic Stack installed.
Setup repository for the domain
Suggestion(s):
I suggest you totally disabling the password expiry for the entire database that you will be using for your WebLogic lab (12c). Ignoring this element could land you in difficult situations in case if you are not meticulously maintaining the password changing routines.
Always invoke scripts as administrator, this provides you the elevation on Windows 7 onward Windows OS
Execute rcu.bat from the following installation path. Please note, I have installed WebLogic software onD:\Weblogic\Middleware\Oracle_Home\oracle_common\bin folder (Which is the standard way I name the installation folder, this helps me to copy much of the elements between installations, upgrade processes), so I will be executing the “rcu.bat” file from “D:\Weblogic\Middleware\Oracle_Home\oracle_common\bin”. Adjust your path accordingly.
We will choose “System Load and Product Load” which is default for our repository as well. Please note, you should use the same “rcu.bat” for dropping the repositories, if you have to at later stages.
For all WebLogic labs, I suggest the same password for Database and WebLogic. You can go for simple passwords like “YourName123” which satisfies “most” of the implied complexity for passwords.
If you have entered the database credentials and other details correctly, the checking should be done within no time.
Now we will create the repository for our domain. Please note, the new profile name could be anything. Instead of “DEV” which is by default assigned by Oracle, you may choose your name in that place. Make sure you note down the name of the profile somewhere for future references. Select all the components as seen with the below image.
(Please note, I have copied the images from 12.2.1.4 installation and replaced few of the images with this post as one comment mentioned that I didn’t choose MetaData Services with the old image(s) provided, so please don’t get confused. Rest of the images provided may “miss” the metadata services related information & instead of “DEV”, you may see “DEV1” at places. Please ignore)
Select same password for all schema.
I have the entire setup on a SSD, hence the time to create and configure the repo could be significantly much less than over a spinning drive system.
That completes our repository creation. Please make sure that you note down the repository name and the password(s) somewhere for future references.
Now we will create our 1st domain with our fresh Weblogic 12c 12.2.1.3 environment. Just make sure that the JDK installation path is the 1st entry in the PATH environment variable.
Invoke “config.cmd” file as administrator from “D:\Weblogic\Middleware\Oracle_common\common\bin” folder. Adjust the path according to your installation preferences.
We will create a new domain for the lab now. Leave the default domain location as suggested by Oracle. Change it ONLY if you know what you are doing at this point of time.
For Oracle Forms and reports, the below product selection is spanned over 3 different images. Make a list of the items selected, and make sure you don’t miss any of them before proceeding to next step.
Once all elements are selected for the domain, you can proceed.
As a standard approach, I am using the same password for the WebLogic Administrator account, leave the suggested administrator name as “weblogic”
We’ll go for production for Domain Mode. JDK location will be automatically picked. Do not change it, unless you have a valid reason.
Now we have to supply the repository details, those we have saved during the creation of repository. The details will be cross checked prior by the configuration tool. Once after supplying the details click the “Get RCU Configuration” button.
Once the repository validations done, it’s time to select the components for your domain. Make sure the checked elements are selected for your domain as well.
Do not miss to select “WSMPM-MAN-SVR” for the Server Groups, failing will FAIL the configuration of the domain. I don’t know what the heck it is, I may read about it one day and update myself. For now, I suggest you select the said group from the drop down list and proceed.
Failing to select the Server Groups will land you on this page, which you don’t want! Make sure you will do the “WSMPM-MAN-SVR” Selection for the Server Groups.
I corrected the error at my side by dropping the repository, recreating & configuring the domain once again.
So we have created a classic domain now. We need to setup an OHS instance and setup the domain for deploying our forms based applications now.
To configure the newly configured domain, you may use the 12.2.1.2 configuration instructions as posted here
Right now, you can use my previous posts about Install Weblogic 12c and setting up OHS, forms & reports for WebLogic 12c as reference materials to setup your new classic domain or wait for me to post a followup with version specific details.
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”
Once 7-Zip GUI interface opens, browse to your partition on which you have installed the WebLogic infrastructure
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
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
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.
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:
Once you initiate the upgrade process for an existing 12.2.1 domain, the repository schema is updated with new information (database level)
The deployed applications like OHS, WLS_FORMS, WLS_REPORTS binaries are upgraded to the latest version
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
I cannot recompile the forms modules to latest supported version from the same box.
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 ;)
During 2016-2017 I have done few Weblogic 12c setups for my lab & my setup was accessed for some assignments after a long idle time which was exceeding many months…
I had Windows Services created for both Node Manager & Weblogic Admin servers using NSSM & realized there were something wrong once after many attempts to access the admin console turned out to be futile. So I tried to start the services manually using the scripts & the startWeblogic.cmd terminated with the following error:
Caused by: java.sql.SQLException: ORA-28001: the password has expired
As I always said, I am not a Weblogic guru, just another folk who tries to install and configure new Oracle stuffs. Hence I started searching google using the error that was provided to me during the previous run.
Unfortunately, nothing that could solve my issues were found and I opted to leave it as it is.
All I knew that passwords for few schemas related to Admin Server Repository have been expired. I did a QUERY to find out which schema were having expired passwords and all the repository related schemas were showing expired passwords
DEV_IAU_VIEWER
DEV_IAU_APPEND
DEV_IAU
DEV_OPSS
DEV_STB
These are the schemas created when the repository is created & if the 12c database instance is NOT altered to allowing never expiring passwords, it was obvious the schema passwords expire on the expected dates.
I tried to reset the passwords for all the schema those were having expired password and altered the database instance to allow never expiring passwords. Tried to start the admin server, again ending up with the same error…
Recently I changed my work laptop with a new Dell 5480 & started setting up Weblogic 12c environment & as I had enough experiences with the configurations, was able to complete the entire setup within few hours time. This time I wanted to make sure that, due to password expiry I shouldn’t have the same troubles I had with my previous setup(s). So once everything was setup, I altered the database instance
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
and confirmed that none of repository related schema has an expiry date associated with it.
So, for a lab setup this is more than enough to insure that I will not go through the troubles with expired passwords, causing Weblogic admin server to fail while started. What about a real situation where a DBA is facing this crisis?
I had gone through the post minutely and replicated the same scenarios at my end to insure that the instructions provided by the author is generic. Everything worked as expected, most probably because I altered the DEV_OPSS schema password with the same password I initially assigned to it. Hence there were no errors while I tried to start the Admin Server after running the wlst command.
The Only confusing part in the original post should be about the wlst command which says
Where <Oracle_Home> should be replaced with actual path. For example, this is what I did. If you have given another name for the domain instead of suggested “base_domain”, replace the base_domain portion with correct name.
(In short, change the path according to your installation parameters!)
Notice the “/” in the path, regardless whether you are on Windows or Unix environments, you must use forward slash “/”
& Most important, do not forget to alter the user with the new password
ALTER USER DEV_OPSS IDENTIFIED BY PassWord123;
Follow rest of the instructions available with the original post. The same author has another post dealing with ORA-28000 (Account locked) for Weblogic as well.
So guys, I hope, for a beginner with Weblogic like me, this is a tremendous information that could save another fresh install and configurations!
I’ve been installing and configuring Weblogic 10.3.6 & 12c (recently) and came across a peculiar issue, where the reports server failing to map the keys I’ve specified with cgicmd.dat file.
The best I could recollect from my memories was, I only added the keys to a single instance of cgicmd.dat file, as there are many instances of the same file once after classic domains are created.
Under linux installations you will find the file in 3 different locations once after the domain created and WLS_REPORTS server started.
With my latest installations of 12c & 11g, I had issue getting the keys mapped properly & after loads and loads of googling I decided to add the same key to all available instances of cgicmd.dat one after another.
So I started with the first instance of cgicmd.dat file, that was found under
which is WLS_REPORTS temporary folder. I added the key, restarted the WLS_REPORTS server & the key was mapped as required!
This could be a nasty bug because I don’t remember adding the keys to multiple files while I tried out forms and reports 11g Release 2 almost 2 years back!
The most interesting part of the entire exercise is, once the key mapping happens successfully, you can remove the keys from cgicmd.dat file that in the temporary location and everything works! Could be the magic of cache
So if you come across key mapping issues, you know where to look at for a quick fix.
One of my close associates & a person I respect as a legend, Iudith said the following with one of her recent mails to me:
“Regarding all this WebLogic issue … I have a feeling that Oracle “used a cannon for killing a fly” ……… Maybe that complicated setup creates an environment which can support all kinds of other products,I really don’t know because I have mostly just heard about it.“
From Oracle’s perspectives, this approach may provide them better scalability, however how far such complexities will appease the developer crowd remains a big concern.
While the modernization of Oracle forms and reports, the maximum sought legacy development means remain a frequently sought and discussed topic, Oracle is definitely NOT doing enough to regain the confidence of mortals who spent decades developing, especially by making each and every newer versions difficult to install and setup.
Less said, let us go back to the topic, how to create and configure a standalone report server instance for 12c environment. This is my 3rd post in a row about installing and configuring 12c products related to Forms and Reports
I can’t exactly remember which document says “In-process reports server has better accountability against a standalone reports instance”. I have referred minimum couple of dozen 12c related documents and tens of blogs to setup stuffs. Without arguing whether in-process server or a standalone instance is better to cater the reports services, let me list the activities one have to perform in order to setup
Create a reports tools instance (Mandatory, if you are planning to use the same box for reports development)
Create a reports server instance (OPTIONAL, only if you want to host a standalone reports instance)
Start WLST(Weblogic Scripting Tool) console, and execute the below commands one after another (Make sure the node manager & the Weblogic admin server services are already started)
Once successfully completed, restart the WLS_REPORTS application using the weblogic admin console. Once bitten, twice shy…I always restart the weblogic admin server and other servers to make sure nothing is broken in between…(paranoid I must be)
Restarting the WLS_REPORTS server causes the weblogic server to configure the newly created instances of reports tools and reports instance. A successful completion let you
Start using the reports builder
Access the standalone reports server instance
You need minimal configurations for the standalone reports server instance. Just setup the reports (.rdf files) path, disable the security elements and you are online!
Assuming you have already configured the weblogic server components following the previous posts, switch to the reports instance configuration folder
Well, after dealing with 3 different versions of Forms & Reports 12c with Weblogic 12c, I found that 99.9% of the configurations for deploying Oracle Forms and Reports remain the same across versions. Hence instead of posting new threads towards the configurations, I will try to amend this thread with new instructions if any. Thank you (reader)
A week back I posted the procedures tested at my end (I’m excusing myself with this statement because 12c total setup could be a painful experience and may NOT be successful for many, even after following line by line instructions) here
This time I am going to list few instructions those will help you to deploy your existing forms & reports based applications to newly built 12c environment. The ONE pleasant surprise I came across during the deployment was, if your forms and reports were built and compiled used 11g R2 (not sure about 11g R1), no need to recompile them once again for the 12c deployment.
So last time we finished the topic discussing how to install and configure the 12c database, Weblogic Server, forms & reports and stopped at accessing the Oracle Enterprise Manager for Weblogic server.
If you are familiar with Weblogic Server 10 & Forms and reports 11gR2, creating a classic domain was much simpler compared to 12c. OPMN configurations were automated & once the relevant paths were setup, you are almost ready to start using the infrastructure for applications. However 12c requires more efforts from one to establish the same.
I’ll start with Oracle HTTP Server (OHS instance) that we created during the base_domain configurations. OPMN is not anymore used by Oracle 12c, hence the OHS.
As I always said, I’m not a weblogic guru, just another enthusiast who wants to try out newer products as a part of learning. Most of the stuffs I suggest here are “as how I managed to get it working”. Hence, if you find anything ridiculous or non-standard, please let me know through the comment section.
As you may already aware, forms and reports applications are deployed using own PORTs, for example WLS_FORMS server uses the port 9001 & WLS_REPORTS uses 9002 (default installation). However while you want to deploy an application, the users should be accessing both through a common interface, especially when the reports are called from forms using Web.Show_Document method. An example how the reports are called from a form using the above said method is like following:
“/reports/rwservlet?” assumes the servlet is called from the current root, for example, if you started the forms applications using the default deployment URL, it would look like the below
causing URL not found error because there are NO reports application deployments at http://rajesh-pc:9001/
The one possibility to address this would be by hardcoding the root part of the url, which I never tried. However, exposing the ports of your forms and reports application servers may not be a good idea. Here, OHS instance comes in picture.
All you need to do is to register the forms and reports applications with the OHS and once the OHS instance restarted, you can start calling both forms are reports through the common URL, for example like following
7777 is the default OHS instance port, which you can change to a free port according to your requirements. You may even use port 80 using OHS (I will not discuss about changing OHS port to 80, there are many decent posts already available all over internet)
Let’s start!
Update: 5th June 2016
You may enable the IPV6 after the installation and configuration by removing the registry dword & restarting the box. Using Weblogic console, point “Admin Server”, “WLS_FORMS” & “WLS_REPORTS” servers listen address to the host name of the box you are running them from.
In addition to changing the listening address, edit the host file of your box (X:\Windows\System32\drivers\etc” and add an entry like below
192.168.1.10 mybox.mydomain.xyz mybox
or
192.168.1.10 mybox
Note#1: IPV6 is becoming the standard now, however many of the Oracle products have serious issues handling the IPV6 stack & you may find reference towards inet4 references raised by java while checking the log files. So we will completely disable the IPV6 stack on our Windows 10 machine. Please read Microsoft documentations to understand what kind of troubles you may get subjected by disabling IPV6
Create a new reg_dword (32Bit) “DisabledComponents”
and just enter “FF” in the hexadecimal value column. Restart the computer
Note#2: If you created a Windows service for node manager using the Weblogic provided install service script, stop all WLS servers and stop the node manager service and delete the service from an elevate command prompt. I came across multiple issues related to java while using the Windows service created using the scripts.
We will use NSSM once again to create the node manager service, using the start node manager script you will find under $DOMAIN_HOME\bin folder
I’ve observed that most of null java exceptions were eliminated by creating the node manager service this way.
Note#3: Now we will setup a proper username and password for nodemanager because if you want to start the OHS instance manually later, you need to supply password (for the 1st time)
Lock & Edit the domain security values, please refer the image below for details
Provide a meaningful name for the node manager account and supply a password. I used the same password for the total 12c deployment, unless you are setting up a PRODUCTION instance, you may use the common password across the 12c instances for easy administration of objects when required. Shutdown the services (better)
Note#4: Once the node manager properties are changed, start the WLS admin server. Once a WLS classic domain is created, you MUST have a live database connectivity in order to start the WLS admin server. Hence make sure that before you will start the weblogic server, you can connect to the database that holds the repository information for the user domains. Start WLS_FORMS and WLS_REPORTS servers using the weblogic console to insure that the admin server can contact the node manager. The first instance of weblogic server start may take upto 8-10 minutes, so wait patiently
Note#5: Logon to Oracle Enterprise Manager console. If the servers are started properly, you will see “everything” green, else…
Note#6: Let us try to start the OHS instance for the 1st time, you can navigate to the OHS instance using the target navigation button, check the below image for more details
As I have already started my OHS instance I will see all details for the instance, please check the image below
If your OHS instance is not started yet, use the “Start up” button to start the instance. I had few failures, pointing towards JAVA while tried, most of them were related to the node manager, as described earlier by the beginning of this article.
Note#7: If you managed to start the OHS instance successfully, you have completed the 1st level of configurations for the application deployment. You can modify the listen address, port information etc using the OEM itself. Please check the below image for details. I will NOT try to get into the details of how to this time, though it is highly appealing, due to the fact that I need to stick to the topic (minimum once in a while)
Stop the OHS instance now. We need to tell the OHS instance, what exactly it is going to serve by modifying the configuration files. A bit of manual efforts are required as there are NO GUI provided by Oracle for such setups.
Move to your Oracle Home folder. I have installed Weblogic server in D:\Weblogic\Middleware folder, hence my Oracle home folder is
D:\Weblogic\Middleware\Oracle_Home\
(Adjust your paths accordingly)
Edit forms.conf file in the folder D:\Weblogic\Middleware\Oracle_Home\forms\templates\config\
By default this template file comes with commented examples, like following
You need to uncomment one of the blocks starting from <Location /forms> until </Location> & add properties specific to your deployment, for example, my computer’s name is “RAJESH-PC” and I am using default ports for both forms and reports applications, hence I have the properties set like following
Now we will edit the configuration file for reports
Switch to “D:\Weblogic\Middleware\Oracle_Home\reports\conf” folder & edit “reports_ohs.conf” and add a block like following (alter according to your setup)
Now the OHS instance know about the deployments and once after restarted, you can try to start the forms based application through the OHS instance, rather than calling it against the default port (9001)
Once the OHS instance is updated with the new information, try to start the OHS instance from a command prompt using storeUserConfig parameter
1st run, you will be prompted for node manager password, supply the password you have setup earlier and OHS instance should start without creating a fuzz in usual scenarios
In future if you want to start the OHS instance, unless made changes to the configurations, just run
Above concludes the 1st of level of configurations for Oracle forms based application. You can use Weblogic 12c Enterprise Manager to configure most of the forms environment related parameters like forms path and other, while I am yet to find out relevant configuration areas for reports. I’ve opened a thread with Oracle community inquiring the same and yet to receive any leads.
You can manually modify the formsweb.cfg & default.env files to start with as well
While forms based application hasn’t changed much (other than the OHS part), making the reports working for you could be really a painful experience.
Regardless whether you are going to use the in-process report server or a stand alone instance of the reports, many changes should be made to the configuration files, so that you can call the reports server from a Forms module
Generally we will be modifying n configuration files, I will try my level best to provide the exact locations for the files which you should change according to your installation preferences
rwservlet.properties – Servlet specific properties
rwserver.conf – Server properties
cgicmd.dat – key mapping file
1. As far you are using in-process reports server, nothing much to alter with “rwservlet.properties” file. Basically you should see entries like following in the opened file:
2. rwserver.conf (Please check the below image)
3. cgicmd.dat: Many values we supply to call a report using Web.Show_Document method could potentially expose vital information like the database details & many other. “cgicmd.dat” file helps us to map such values to keys and later use them wherever applicable. With this example, I will demonstrate, how the database username, password and service name are mapped using a key. Please check the image attached below
Once these configurations files are altered, please restart the WLS_REPORTS server using Weblogic admin console. You may optionally restart the WLS_FORMS server as well
Basically these many configuration should let you go online with your application. One of the pleasant stuffs about 12c forms and reports is, you don’t have to recompile the existing forms modules, just copy them to a new folder, update your formsweb.cfg and default.env files, restart the WLS_FORMS server and you are all set to go.
I’ve successfully configured a stand alone report server instance as well. I think I should separate it from this thread and post it as a fresh one to avoid confusions.
I been working from last few weeks to get these whole stuffs in a single place and cannot remember whether I’ve missed anything vital. If you get stuck anywhere, please let me know through the comment section and I will be more than glad to look into such.