Weblogic 12c | Admin Server will not start | ORA-28001 | ORA-28000

January 4, 2018

Hi guys

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

  3. DEV_IAU
  5. 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


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?

So my fresh rounds of google searching started and I landed on a page https://linecode-notes.com/2017/09/08/unable-to-start-the-admin-server-in-forms-12c-due-to-ora-28001/ while using Google search term “oracle weblogic 12c dev_stb password expired”

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


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!

Hope this post helps few out there!




Oracle 12c | Reports | Standalone server

January 14, 2016


Hi guys

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

  1. Create a reports tools instance (Mandatory, if you are planning to use the same box for reports development)
  2. 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)

connect("weblogic","password", "localhost:7001") 
createReportsToolsInstance(instanceName='rptools1', machine='AdminServerMachine') 
createReportsServerInstance(instanceName='repsvr_MYMACHINENAME', machine='AdminServerMachine') 

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

  1. Start using the reports builder
  2. 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

eg: D:\Weblogic\Middleware\Oracle_Home\user_projects\domains\base_domain\

Where repsvr_RAJESH-PC is the name of the reports instance I have created.


You need to modify the “rwserver.conf” file, please check the below image for details


Save the file and restart the WLS_REPORTS server, so that the last modifications are in place!

Now we have to start the reports instance.

Switch to DOMAIN_HOME\bin folder

eg: D:\Weblogic\Middleware\Oracle_Home\user_projects\domains\base_domain\bin

and run startComponent.cmd repsvr_RAJESH-PC

Please check the below image for details


Once the report server instance starts successfully, you are all set to.

Calling the new instance


That’s all folks, as you could see OHS automatically maps the new reports instance and directs the jobs to it.

for Windows7bugs


Oracle 12c | Forms & Reports | Configure for deployment(s)

January 13, 2016

Hello guys

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


and an attempt to call a report from one of the forms will generate an url like following


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   mybox.mydomain.xyz    mybox

or   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

regedit -> HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters

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)

Logon to Weblogic console @ http://localhost:7001/console

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 hold 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


(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

#<Location /forms>
#        SetHandler weblogic-handler
#        WebLogicHost host
#        WeblogicPort port

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

<Location /forms>
SetHandler weblogic-handler
WebLogicHost RAJESH-PC
WebLogicPort 9001

Once altered, copy forms.conf to OHS instance “moduleconf” folder. I have copied the file to following location: (Alter according to your setup)


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)

<Location /reports>
SetHandler weblogic-handler
WebLogicHost RAJESH-PC
WebLogicPort 9002

Copy the edited file to


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

D:\Weblogic\Middleware\Oracle_Home\user_projects\domains\base_domain\bin>startComponent.cmd ohs1 storeUserConfig


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

D:\Weblogic\Middleware\Oracle_Home\user_projects\domains\base_domain\bin>startComponent.cmd ohs1

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

Configuration files path


  1. rwservlet.properties – Servlet specific properties
  2. rwserver.conf – Server properties
  3. 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.

for Windows7bugs



Weblogic 12c | forms & reports 12c | Oracle database 12c

December 15, 2015

Update: I’m terribly sorry for the spellos starting with the title itself! No level of frustration with a product justify such mistakes ;)

Hi guys

Let me start the topic with a bold question, how many out there STILL believe that Oracle will do that “something” which will give the confidence to the existing Oracle developers that, there is a career growth still attached with Oracle forms & reports?

Oracle has totally lost (my personal opinion) it with Forms and reports, minimum from a developer’s perspectives. They made the installation and configuring of a development environment as complex as possible starting with 9i, which successfully continued with later versions. I’m a person with multi-domain oriented experiences those are not less than 15 years. I never found another IDE having such complexities to setup in a developer’s computer, as much with Oracle developer 11g and later.

In short, if a beginner wants to learn Oracle forms and reports development, he/she needs to spend hours, many times days until the environment could be set, which has become gravely disappointing with Oracle forms & reports 12c. While they have introduced a stand alone Forms installation that obviously could be installed without much troubles, setting up a whole infrastructure to develop, test forms and reports are far beyond ridiculousness!

I have just finished with my 1st WebLogic 12c setup and very soon post a detailed how to towards setting up something that doesn’t worth your efforts!


Stay tuned folks!

for Windows7bugs