This Blog is discontinued, its only read-only

Showing posts with label Oracle Fusion Middleware 12c. Show all posts
Showing posts with label Oracle Fusion Middleware 12c. Show all posts

Monday, August 24, 2020

Oracle Forms & Reports 12.2.1.4.0 on Oracle Linux 8 / Redhat 8

Oracle Forms & Reports 12.2.1.4.0 is officially supported and certified with Oracle Linux 8 and Redhat 8. But in case you want to install the Oracle Forms & Reports 12.2.1.4.0 you will see that you are running into an error while performing the prerequirement check.


#
Starting check : CertifiedVersions
Expected result: One of oracle-7, redhat-7, redhat-6, oracle-6, SuSE-11, SuSE-12, SuSE-15
Actual Result: redhat-8.2
Check complete. The overall result of this check is: Passed
CertifiedVersions Check: Success.

Starting check : Packages
Checking for binutils-2.23.52.0.1; found binutils-2.30-73.el8-x86_64.	Passed
Checking for compat-libcap1-1.10; Not found.	Failed
Checking for compat-libstdc++-33-3.2.3-x86_64; Not found.	Failed
Checking for libgcc-4.8.2-x86_64; found libgcc-8.3.1-5.el8-x86_64.	Passed
Checking for libstdc++-4.8.2-x86_64; found libstdc++-8.3.1-5.el8-x86_64.	Passed
Checking for libstdc++-devel-4.8.2-x86_64; found libstdc++-devel-8.3.1-5.el8-x86_64.	Passed
Checking for sysstat-10.1.5; found sysstat-11.7.3-2.el8-x86_64.	Passed
Checking for gcc-4.8.2; found gcc-8.3.1-5.el8-x86_64.	Passed
Checking for gcc-c++-4.8.2; found gcc-c++-8.3.1-5.el8-x86_64.	Passed
Checking for ksh-...; found ksh-20120801-254.el8-x86_64.	Passed
Checking for make-3.82; found make-1:4.2.1-10.el8-x86_64.	Passed
Checking for glibc-2.17-x86_64; found glibc-2.28-101.el8-x86_64.	Passed
Checking for glibc-devel-2.17-x86_64; found glibc-devel-2.28-101.el8-x86_64.	Passed
Checking for libaio-0.3.109-x86_64; found libaio-0.3.112-1.el8-x86_64.	Passed
Checking for libaio-devel-0.3.109-x86_64; found libaio-devel-0.3.112-1.el8-x86_64.	Passed
Checking for motif-2.3.4; found motif-2.3.4-16.el8-x86_64.	Passed
Check complete. The overall result of this check is: Failed

As you can see from above, the Oracle Installer is failing because of the missing packages compat-libcap1-1.10 and compat-libstdc++-33-3.2.3-x86_64.
These 2 packages can not be found in the Oracle Linux 8 and Redhat 8 distrubition, they have been removed since Release 8.

To resolve this problem, you will need to download the Patch 31190532 from My Oracle Support, transfer the patch to your target server, extract the patch somewhere and modify your Oracle Installer startup command as follows:

#
./fmw_12.2.1.4.0_fr_linux64.bin -prereqConfigLoc <Path_to_the_patch>/31190532/prereq_metadata/oracle.as.install.fr.prerequisite/prereq

and now the Oracle Installer will successfully pass the prerequirement checks:

#
Starting check : CertifiedVersions
Expected result: One of oracle-8, oracle-7, redhat-8, redhat-7, redhat-6, oracle-6, SuSE-11, SuSE-12, SuSE-15
Actual Result: redhat-8.2
Check complete. The overall result of this check is: Passed
CertifiedVersions Check: Success.

Starting check : Packages
Checking for binutils-2.23.52.0.1; found binutils-2.30-73.el8-x86_64.	Passed
Checking for libcap-2.25-9; found libcap-2.26-3.el8-x86_64.	Passed
Checking for libstdc++-8.2.1-3.5.0.1.el8-x86_64; found libstdc++-8.3.1-5.el8-x86_64.	Passed
Checking for libgcc-4.8.2-x86_64; found libgcc-8.3.1-5.el8-x86_64.	Passed
Checking for libstdc++-devel-4.8.2-x86_64; found libstdc++-devel-8.3.1-5.el8-x86_64.	Passed
Checking for sysstat-10.1.5; found sysstat-11.7.3-2.el8-x86_64.	Passed
Checking for gcc-4.8.2; found gcc-8.3.1-5.el8-x86_64.	Passed
Checking for gcc-c++-4.8.2; found gcc-c++-8.3.1-5.el8-x86_64.	Passed
Checking for ksh-...; found ksh-20120801-254.el8-x86_64.	Passed
Checking for make-3.82; found make-1:4.2.1-10.el8-x86_64.	Passed
Checking for glibc-2.17-x86_64; found glibc-2.28-101.el8-x86_64.	Passed
Checking for glibc-devel-2.17-x86_64; found glibc-devel-2.28-101.el8-x86_64.	Passed
Checking for libaio-0.3.109-x86_64; found libaio-0.3.112-1.el8-x86_64.	Passed
Checking for libaio-devel-0.3.109-x86_64; found libaio-devel-0.3.112-1.el8-x86_64.	Passed
Checking for motif-2.3.4; found motif-2.3.4-16.el8-x86_64.	Passed
Check complete. The overall result of this check is: Passed
Packages Check: Success.

Thursday, February 20, 2020

Cleanup Oracle Fusion Middleware 12c Repository manually

Currently I was cleaning up some of my Oracle Fusion Middleware Forms & Reports test and demo environments manually and wanted to setup them freshly.

As I was lazy, I didn't used the RCU (Repository Creation Utility) for the cleanup, I just did a manual drop user and drop tablespace and cleaned up my $DOMAIN_HOME.

In my case it was a Forms & Reports environment with the Prefix FR12213, so I manually dropped all the Repository Users starting with FR12213 and the corresponding tablespaces.

#
sqlplus / as sysdba

SQL> drop user FR12213_OPSS cascade;
SQL> drop user FR12213_STB cascade;
SQL> drop user FR12213_MDS cascade;
SQL> drop user FR12213_IAU_APPEND cascade;
SQL> drop user FR12213_IAU_VIEWER cascade;
SQL> drop user FR12213_IAU cascade;
SQL> drop user FR12213_WLS_RUNTIME cascade;
SQL> drop user FR12213_WLS cascade;
SQL> drop user FR12213_UMS cascade;

SQL> drop tablespace FR12213_IAS_OPSS including content and datafiles;
SQL> drop tablespace FR12213_IAS_TEMP including content and datafiles;
SQL> drop tablespace FR12213_IAS_UMS including content and datafiles;
SQL> drop tablespace FR12213_IAU including content and datafiles;
SQL> drop tablespace FR12213_MDS including content and datafiles;
SQL> drop tablespace FR12213_STB including content and datafiles;
SQL> drop tablespace FR12213_WLS including content and datafiles;

After that I simply cleaned up the $DOMAIN_HOME and wanted to create the complete WebLogic Domain again including the run of the RCU, everything in silent mode.

While running the RCU following error came up:

#
Processing command line ....
Repository Creation Utility - Checking Prerequisites
Checking Global Prerequisites

ERROR - RCU-6016 Invalid prefix specified.
CAUSE - RCU-6016 The specified prefix already exists.
ACTION - RCU-6016 Specify another prefix.

ERROR - RCU-6091 Component validation failed.
CAUSE - RCU-6091 One or more component specific validation failed.
ACTION - RCU-6091 Check log for more details and fix the validation error.

After a bit of searching around and think, I came to the table SYSTEM.SCHEMA_VERSION_REGISTRY$

#
sqlplus / as sysdba
SQL> select distinct(MRC_NAME) from SYSTEM.SCHEMA_VERSION_REGISTRY$;

MRC_NAME
------------------------------
FR12213

SQL> delete from SYSTEM.SCHEMA_VERSION_REGISTRY$ where MRC_NAME = 'FR12213';
SQL> commit;

After deleting the corresponding rows in the SYSTEM.SCHEMA_VERSION_REGISTRY$ table, the silent execution of the RCU was running without any errors.
So don't forget to cleanup the SYSTEM.SCHEMA_VERSION_REGISTRY$ if you are performing a manual cleanup :-)

The above concept applies to any Oracle Fusion Middleware Component which is using Repository Users created by the RCU (SOA Suite, Forms & Reports and so on)


Friday, June 28, 2019

Oracle 19c Certified for Oracle Fusion Middleware 12.2.1.2.0 and 12.2.1.3.0

Since a few days Oracle updated the Certified Matrix for the Oracle Fusion Middleware Products concerning certified Oracle Databases.

Now Oracle 19c (19.3+) is certified with Oracle Fusion Middleware 12.2.1.2.0 and 12.2.1.3.0.

For example Oracle WebLogic Server 12.2.1.3.0 / 12.2.1.2.0 can use an Oracle 19c Database as target database for AppData, Repository Creation Utility (RCU) and WLS Features.



The same applies to Oracle Forms & Repors 12.2.1.3.0 / 12.2.1.2.0.



As well for Oracle SOA Suite 12.2.1.3.0 / 12.2.1.2.0



The complete certification matrix can be retrieved either in My Oracle Support https://support.oracle.com under the tab "Certifications" or on the Oracle Technical Resources (formerly Oracle Technology Network) website https://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.html



Wednesday, October 31, 2018

Oracle 18c Certification for Fusion Middleware 12c Release 2

Since a few days the Certification Matrix for Oracle Fusion Middleware 12c Release 2 (12.2.1.x) was updated within Oracle Technology Network, now Oracle 18c (18.1 on Exadata and 18.3 on On-Premise) is certified and supported as Target Database for RCU (Repository Creation Utility and as Application Datasource.

Certification Matrix for Fusion Middleware 12.2.1.2.0: https://www.oracle.com/technetwork/middleware/fusion-middleware/documentation/fmw-122120-certmatrix-3254735.xlsx



Certification Matrix for Fusion Middleware 12.2.1.3.0: https://www.oracle.com/technetwork/middleware/fmw-122130-certmatrix-3867828.xlsx


In My Oracle Support under the Certification Tab, the new Certification for Oracle Database 18c (18.1 on Exadata and 18.3 on On-Premise) is not yet updated.

See for example the Certification for SOA Suite 12.2.1.2.0


See for example the Certification for SOA Suite 12.2.1.3.0


I have created a Support Request with My Oracle Support for that and according to My Oracle Support, the Certification Matrix on Oracle Technology Network is correct and therefore Oracle 18c (18.1 on Exadata and 18.3 on On-Premise) is fully supported and certified with Oracle Fusion Middleware 12c Release 2


Wednesday, September 6, 2017

Starting and Stopping Oracle Reports Servers with WLST

Normally people are using to start and stop their Oracle Reports Servers the by Oracle provided scripts startComponent.sh and stopComponent.sh in the $DOMAIN_HOME/bin.

The problem with this set of scripts is, that they really take long time to complete and you need to execute it for each Reports Server:
cd $DOMAIN_HOME/bin
# Lets measure the time
time ./startComponent.sh rep_server1
Starting system Component rep_server1 ...

Initializing WebLogic Scripting Tool (WLST) ...

Welcome to WebLogic Server Administration Scripting Shell

Type help() for help on available commands

Reading domain from /u00/app/oracle/user_projects/domains/demo_domain
 
Connecting to Node Manager ...
<Sep 6, 2017 8:45:02 PM CEST> <Info> <Security> <BEA-090905> <Disabling the CryptoJ JCE Provider self-integrity check for better startup performance. To enable this check, specify -Dweblogic.security.allowCryptoJDefaultJCEVerification=true.> 
<Sep 6, 2017 8:45:02 PM CEST> <Info> <Security> <BEA-090906> <Changing the default Random Number Generator in RSA CryptoJ from ECDRBG128 to HMACDRBG. To disable this change, specify -Dweblogic.security.allowCryptoJDefaultPRNG=true.> 
<Sep 6, 2017 8:45:02 PM CEST> <Info> <Security> <BEA-090909> <Using the configured custom SSL Hostname Verifier implementation: weblogic.security.utils.SSLWLSHostnameVerifier$NullHostnameVerifier.> 
Successfully Connected to Node Manager.
Starting server rep_server1 ...
Successfully started server rep_server1 ...
Successfully disconnected from Node Manager.

Exiting WebLogic Scripting Tool.

Done

real   0m22.784s
user   0m37.029s
sys    0m2.065s

As you can see, the time to startup a single Oracle Reports Server can be up to 22 seconds (depending on your server, might be a bit lesser or more) and on top the execution for the startComponent.sh is only for one Oracle Reports Server, so in case you have multiple Oracle Reports Servers, you need to execute the startComponent.sh for each Reports Server . . .

With a simple Python Script for WLST you can perform the startup task much quicker and you can perform within one execution of my Python Script multiple startups and shutdowns for several Oracle Reports Servers.

You will need files for that:
  • domain.properties: which contains the required connect informations for the Node Manager and a comma separated list of your Oracle Reports Servers
  • start_stop_reports.py: a Python Script with named arguments to start or stop your provided Reports Servers within the domain.properties file
domain.properties:
# Replace with your Port of Node Manager
nm.port=5556
# Replace with your Hostname
nm.host=localhost
# Replace with your Password
nm.password=welcome1
# Replace with your Username
nm.username=nodemanager
# Replace your Domain Name
domain.name=demo_domain
# Replace your Domain Home
domain.home=/u00/app/oracle/user_projects/domains/demo_domain
# Replace with your Reports Server Name
reports.servers=rep_server1,rep_server2,rep_server3

start_stop_reports.py:
# ============================================================
#
# Script: start_stop_reports.py
#
# Author: Dirk Nachbar, http://dirknachbar.blogpost.com
#
# Purpose: Start / Stop Script for a list of Oracle Reports Servers
#
# ============================================================

import sys
import re
import os
from datetime import datetime
from java.io import File
from java.io import FileOutputStream
from java.io import FileInputStream
 
func=''
propfile=''
 
def helpUsage():
   print 'Usage: start_stop_reports.py [-help]'
   print '      [-function] provide function either start or stop'
   print '      [-propfile] provide the property file'
   exit()
 
for i in range(len(sys.argv)):
   if sys.argv[i] in ("-help"):
           helpUsage()
   elif sys.argv[i] in ("-function"):
           if i+1 < len(sys.argv):
                   func = sys.argv[i+1]
   elif sys.argv[i] in ("-propfile"):
           if i+1 < len(sys.argv):
                   propfile = sys.argv[i+1]
 
if len(func)==0 or len(propfile)==0:
   print 'Missing required arguments (-func, -propfile)'
   print ' '
   helpUsage()
 
# Load Connection Properties
propInputStream = FileInputStream(propfile)
configProps = Properties()
configProps.load(propInputStream)
nmPort=configProps.get("nm.port")
nmHost=configProps.get("nm.host")
nmPassword=configProps.get("nm.password")
nmUser=configProps.get("nm.username")
domainName=configProps.get("domain.name")
domainHome=configProps.get("domain.home")
reportsServers=configProps.get("reports.servers")
 
# Connect to Node Manager
nmConnect(nmUser, nmPassword, nmHost, nmPort, domainName, domainHome, 'ssl')
 
# Perform startup of defined Oracle Reports Servers
if func=="start":
   print 'Starting configured Reports Servers'
   for repserver in reportsServers.split(','):
      print 'Starting Reports Server: ' +repserver
      nmStart(serverName=repserver, serverType='ReportsServerComponent')
 
# Perform stop of defined Oracle Reports Servers
if func=="stop":
   print 'Stopping configured Reports Servers'
   for repserver in reportsServers.split(','):
      print 'Stopping Reports Server: ' +repserver
      nmKill(serverName=repserver, serverType='ReportsServerComponent')


The execution of the script is really straight forward:
Usage: start_stop_reports.py [-help]
      [-function] provide function either start or stop
      [-propfile] provide the property file


# Just call the script with wlst and provide the required parameters
# e.g. for starting all defined Reports Servers (rep_server1,rep_server2,rep_server3)

$ORACLE_HOME/oracle_common/common/bin/wlst.sh start_stop_reports.py -func start -propfile domain.properties

# e.g. for stopping all defined Reports Servers (rep_server1,rep_server2,rep_server3)

$ORACLE_HOME/oracle_common/common/bin/wlst.sh start_stop_reports.py -func stop -propfile domain.properties


Now let's see how long it will take to startup 3 Oracle Reports Servers with my above solution:
# Let's measure the time to execute
time $ORACLE_HOME/oracle_common/common/bin/wlst.sh start_stop_reports.py -func start -propfile domain.properties
Initializing WebLogic Scripting Tool (WLST) ...

Welcome to WebLogic Server Administration Scripting Shell

Type help() for help on available commands

Connecting to Node Manager ...
<Sep 6, 2017 9:15:17 PM CEST> <Info> <Security> <BEA-090905> <Disabling the CryptoJ JCE Provider self-integrity check for better startup performance. To enable this check, specify -Dweblogic.security.allowCryptoJDefaultJCEVerification=true.> 
<Sep 6, 2017 9:15:17 PM CEST> <Info> <Security> <BEA-090906> <Changing the default Random Number Generator in RSA CryptoJ from ECDRBG128 to HMACDRBG. To disable this change, specify -Dweblogic.security.allowCryptoJDefaultPRNG=true.> 
<Sep 6, 2017 9:15:17 PM CEST> <Info> <Security> <BEA-090909> <Using the configured custom SSL Hostname Verifier implementation: weblogic.security.utils.SSLWLSHostnameVerifier$NullHostnameVerifier.> 
Successfully Connected to Node Manager.
Starting configured Reports Servers
Starting Reports Server: rep_server1
Starting server rep_server1 ...
Successfully started server rep_server1 ...
Starting Reports Server: rep_server2
Starting server rep_server2 ...
Successfully started server rep_server2 ...
Starting Reports Server: rep_server3
Starting server rep_server3 ...
Successfully started server rep_server3 ...

real   0m13.602s
user   0m22.066s
sys    0m0.915s

As you can see with my solution, you will need only 13 seconds to startup three Oracle Reports Servers and thats just with one command instead of calling startComponent.sh or stopComponent.sh three times and each execution takes around 22 seconds.


Thursday, August 31, 2017

WebLogic Server 12.2.1.3.0 - First Look

Since last night the latest release of the Oracle WebLogic Server 12.2.1.3.0 is available.

I have already installed and configured the latest release, the installation process remains the same as in the previous release, so nothing really new.

The Configuration Wizard ($ORACLE_HOME/oracle_common/common/bin/config.sh) got a new cool neat feature. On the screen 2 of the Configuration Wizard (Templates), you will find a Filter Templates option. In this Filter Templates you can type in the Template you are searching for, which is really useful when you got a fully installed Oracle Fusion Middleware Product like SOA Suite and the Template list is really long.



When you apply a filter (it must only be a part of the string) like "Coher", you available Templates will be aligned accordingly.


The WebLogic Server Console remains the same as the previous releases, there are on the first look no changes and new sections.

Also a cool new feature is within the Data Sources (Active Grid Link AGL), that you can use now an alias from a referenced tnsnames.ora file.
You will need to the set the following system property "-Doracle.net.tns_directory=<path to your tnsnames.ora&gt" in which you point to the directory in which your tnsnames.ora is located. In the tnsnames.ora you just define as usual your tnsnames alias.

Furthermore you should have a closer look on the "What's New in Oracle WebLogic Server 12.2.1.3.0" documentation (http://docs.oracle.com/middleware/12213/wls/NOTES/whatsnew.htm#NOTES107), specially the Section "Patch Set 3". Under Deprecated Features you will find following:


JMS resource adapters will be removed in the next release of Oracle WebLogic Server, which might be 12.2.1.4.0 or 12.3.1.0.0 !

Wednesday, August 30, 2017

Oracle Fusion Middleware 12.2.1.3.0 available

Since today the latest release of the Oracle Fusion Middleware Stack is available for download under Oracle Technology Network.

The latest release of the Fusion Middleware Stack 12.2.1.3.0 contains various products:

Oracle WebLogic Server 12.2.1.3.0 can be found under http://www.oracle.com/technetwork/middleware/weblogic/downloads/index.html



Oracle Forms & Reports  12.2.1.3.0 can be found under http://www.oracle.com/technetwork/developer-tools/forms/downloads/index.html



Oracle SOA Suite 12.2.1.3.0 can be found under http://www.oracle.com/technetwork/middleware/soasuite/downloads/index.html



Oracle Traffic Director 12.2.1.3.0 can be found under http://www.oracle.com/technetwork/middleware/otd/downloads/index.html



JDeveloper 12.2.1.3.0 can be found under http://www.oracle.com/technetwork/middleware/otd/downloads/index.html


And there is a lot more ...

The complete documentation set for the latest Oracle Fusion Middleware 12.2.1.3.0 Release can be found under http://docs.oracle.com/en/middleware/fusion-middleware/index.html



Happy download and testing :-)

Tuesday, June 6, 2017

Find all configured SystemComponents in Oracle Fusion Middleware - The RESTFul way

Today, just a quick post on how to find all your configured System Components within an Oracle Fusion Middleware / Oracle WebLogic Server Environment.

Let's say you are having an Oracle Forms & Reports Environment based on an Oracle WebLogic Server. Within your environment you have configured various so called System Components, and you need to know all the names and the corresponding System Component Type, like:
  • Oracle HTTP Server (OHS)
  • Oracle Reports Standalone Servers
  • Oracle Forms
With the Oracle WebLogic Server RESTFul Management Services you are able to list them all by name and including the type of System Component.

Simply run following cURL command against your WebLogic Server hosting your Oracle Fusion Middleware Components:

# Align the password of your Oracle WebLogic User
# Align the hostname and port of your WebLogic Server
curl \
--user weblogic:Oracle12c \
-H X-Requested-By:MyClient \
-H Accept:application/json \
-H Content-Type:application/json \
-d "{
     fields: [ 'name' ], links: [],
      children: {
         systemComponents: {
             fields: [ 'name' , 'componentType'],
             links: []
                            }
                 }
}" -X POST http://localhost:7001/management/weblogic/latest/domainConfig/search

{
    "name": "FRDEVEL",
    "systemComponents": {"items": [
        {
            "componentType": "FORMS",
            "name": "forms1"
        },
        {
            "componentType": "OHS",
            "name": "ohs1"
        },
        {
            "componentType": "ReportsToolsComponent",
            "name": "reptools1"
        },
        {
            "componentType": "ReportsServerComponent",
            "name": "rep_server1"
        },
        {
            "componentType": "ReportsServerComponent",
            "name": "rep_server2"
        }
    ]}


Unfortunately you can not filter over componentType, as this is not a collection and therefor a query restriction on the componentType will be ignored :-(

This method is a bit quicker then going through your $DOMAIN_HOME/system_components folder and get all your configured System Components.


Wednesday, May 31, 2017

How to install and configure Oracle Forms & Reports 12c fully unattended - Part 1

Today, I will have a novelty on my blog. This blogpost is driven by a joint venture between 3 consultants based in 2 countries (Switzerland and Germany) and working for 3 different consulting companies (Robert Crames = Edorex, Jan-Peter Timmermann = AuraPlayer and myself = Trivadis).

As we three consultants, Robert Crames (https://robertcrames.blogspot.ch), Jan-Peter Timmermann (https://jan-peter.me ) and myself are intensively working with Oracle Fusion Middleware Products, which also covers Oracle Forms & Reports, we’re stumbling over following problem with Oracle Forms & Reports 12c:

  • Missing possibility during the WebLogic Domain creation for Forms & Reports to use a “record” Feature
Different contacts with Oracle and researches within My Oracle Support, confirmed that the “record” feature is no longer available within Oracle Forms & Reports 12c.
Therefore, in case you will have to create on several servers Oracle Forms & Reports environments, you will need a lot of patience while clicking through the Configuration Wizard for WebLogic Domain creation. So automation is quite impossible for a complete installation and configuration ☹

So, the joint venture (Robert, Jan-Peter and myself) we were pooling our knowledge and created a script set for “How to install and configure an Oracle Forms & Reports 12c environment completely unattended and silent”.

Here I will present the first part:
  • Installation of JDK
  • Installation of Oracle WebLogic Server Infrastructure 12.2.1.2.0
  • Installation of Oracle Forms & Reports 12.2.1.2.0
The above steps are requiring following files:
  • setLocalEnv.sh
    • here we define all necessary values for the installation, e.g. ORACLE_BASE, JDK Release, ORACLE_HOME and so on
  • silent_jdk.sh
    • installs under the Oracle Software Owner a private JDK
  • silent_wls_infra.sh
    • Install the Oracle WebLogic Server Infrastructure 12.2.1.2.0
    • Requires setLocalEnv.sh, oraInst.loc and response_file_wls_infra.rsp
  • silent_forms.sh
    • Installs the Oracle Forms & Reports 12.2.1.2.0 over the prior installed Oracle WebLogic Server Infrastructure
    • Requires setLocalEnv.sh, oraInst.loc and response_file_forms.rsp
Place the following files all under one directory, e.g. /u00/app/oracle/install.


Download the required Oracle Software Installation sources and place them as well in the same directory as the script set
First lets have a quick look on the setLocalEnv.sh. I will just explain the for now required variables, the remaining variables will be described in Robert’s Blogpost

For the first steps, we need to have a look on following environment variables in the setLocalEnv.sh
  • JDK_SOURCE: here we define the JDK installation source file (tar.gz)
  • JDK_REL: is the JDK Release, the syntax is for JDK 8 = 1.8.0_<updateversion>
  • ORACLE_BASE: defines our ORACLE_BASE
  • INT_ORACLE_HOME: defines our target ORACLE_HOME
  • The remaining variables will be explained in Robert's second Blogpost
# Location to the directory in which the create Domain scripts are residing
export SCRIPT_HOME=$PWD

export JDK_SOURCE=jdk-8u131-linux-x64.tar.gz
export JDK_REL=1.8.0_131

# Directories
export ORACLE_BASE=/appl/oracle
export INT_ORACLE_HOME=$ORACLE_BASE/product/fmw-fr-12.2.1.2.0
export WL_HOME=$INT_ORACLE_HOME/wlserver
export WLST_HOME=$INT_ORACLE_HOME/oracle_common/common/bin
export MW=$INT_ORACLE_HOME
export DOMAIN_BASE=$ORACLE_BASE/user_projects/domains
export APPLICATION_BASE=$ORACLE_BASE/user_projects/applications
export APP_VZ=$APPLICATION_BASE

# install forms true / false
export FORMS12C=true
# install reports true / false
export REPORTS12C=true
# install OHS true / false
export WEBTIER12C=true
export OHS_COMPONENTNAME=ohs1
export OHS_LISTENPORT=7777
export OHS_SSLPORT=4443

# Domain specific
export TEMPLATE=$WL_HOME/common/templates/wls/wls.jar
export DOMAIN_NAME=FRTEST

# AdminServer
export AS_NAME=FRTESTAdminServer
export ADM_USER=weblogic
export ADM_PWD=welcome1
export ADMINPORT=7001 
export ADMINPORTSSL=7101
export AS_HOST=`hostname -f`

# Name and Port for the Forms Managed Server
export FORMS_MS_NAME=MS_FORMS
export FORMS12C_MS_PORT=9001

# Name and Port for the Reports Managed Server
export REPORTS_MS_NAME=MS_REPORTS
export REPORTS12C_MS_PORT=9002

# Move Reports Application into WLS_FORMS (true or false)
export REPORTS_IN_FORMS=false

# NodeManager
export NM_LISTENADDRESS=`hostname -f`
export NM_TYPE=SSL
export NM_PORT=5556
export NM_USERNAME=nodemanager
export NM_PWD=welcome1

# Repository Connect
export DBUSER=sys
export DBPWD=
export DBROLE=SYSDBA
export COMPONENTPWD=
export SCHEMA_PREFIX=$DOMAIN_NAME
export DB_HOST=
export DB_PORT=
export DB_SERVICE=
export DB_OMF=true
export DB_USER_PW=welcome1
export PWDFILE=$SCRIPT_HOME/passwords.txt

The first script to execute is the silent_jdk.sh, this script simply unpacks the JDK under the defined $ORACLE_BASE/product/jdk$JDK_REL
silent_jdk.sh

#!/bin/bash
#=====================================================================
#
# $Id: silent_jdk.sh $
#
# PURPOSE: Script to install JDK
#
# PARAMETERS: none
#
# NOTES:   setLocalEnv.sh must be present and aligned
#
# AUTHOR:  Dirk Nachbar, https://dirknachbar.blogspot.com
#
# MODIFIED:
#
#
#=====================================================================

source setLocalEnv.sh

mkdir -p ${ORACLE_BASE}/product/
cp ${JDK_SOURCE} ${ORACLE_BASE}/product/
cd ${ORACLE_BASE}/product/
gunzip ${JDK_SOURCE}
JDK_TAR=${JDK_SOURCE::-3}
tar -xvf ${JDK_TAR}
rm ${ORACLE_BASE}/product/${JDK_TAR}


The next step is to install the Oracle WebLogic Server Infrastructure 12.2.1.2.0, here we are using the silent installation option with a response file and an oraInst.loc file

silent_wls_infra.sh

#!/bin/bash
#=====================================================================
#
# $Id: silent_wls_infra.sh $
#
# PURPOSE: Script to install WebLogic Infrastructure
#
# PARAMETERS: none
#
# NOTES:   setLocalEnv.sh must be present and aligned
#
# AUTHOR:  Dirk Nachbar, https://dirknachbar.blogspot.com
#
# MODIFIED:
#
#
#=====================================================================

source setLocalEnv.sh

export JAVA_HOME=${ORACLE_BASE}/product/jdk${JDK_REL}
export PATH=$JAVA_HOME/bin:$PATH

java -jar fmw_12.2.1.2.0_infrastructure.jar -silent -responseFile ${SCRIPT_HOME}/response_file_wls_infra.rsp -jreLoc ${JAVA_HOME} -invPtrLoc ${SCRIPT_HOME}/oraInst.loc


The referenced response file for the silent_wls_infra.sh Installation script looks as follows
response_file_wls_infra.rsp

[ENGINE]
#DO NOT CHANGE THIS.
Response File Version=1.0.0.0.0
[GENERIC]
#Set this to true if you wish to skip software updates
DECLINE_AUTO_UPDATES=true
#My Oracle Support User Name
MOS_USERNAME=
#My Oracle Support Password
MOS_PASSWORD=<SECURE VALUE>
#If the Software updates are already downloaded and available on your local system, then specify the path to the directory where these patches are available and set SPECIFY_DOWNLOAD_LOCATION to true
AUTO_UPDATES_LOCATION=
#Proxy Server Name to connect to My Oracle Support
SOFTWARE_UPDATES_PROXY_SERVER=
#Proxy Server Port
SOFTWARE_UPDATES_PROXY_PORT=
#Proxy Server Username
SOFTWARE_UPDATES_PROXY_USER=
#Proxy Server Password
SOFTWARE_UPDATES_PROXY_PASSWORD=<SECURE VALUE>
#The oracle home location. This can be an existing Oracle Home or a new Oracle Home
ORACLE_HOME=/appl/oracle/product/fmw-fr-12.2.1.2.0
#Set this variable value to the Installation Type selected. e.g. Fusion Middleware Infrastructure, Fusion Middleware Infrastructure With Examples.
INSTALL_TYPE=Fusion Middleware Infrastructure
#Provide the My Oracle Support Username. If you wish to ignore Oracle Configuration Manager configuration provide empty string for user name.
MYORACLESUPPORT_USERNAME=
#Provide the My Oracle Support Password
MYORACLESUPPORT_PASSWORD=<SECURE VALUE>
#Set this to true if you wish to decline the security updates. Setting this to true and providing empty string for My Oracle Support username will ignore the Oracle Configuration Manager configuration
DECLINE_SECURITY_UPDATES=true
#Set this to true if My Oracle Support Password is specified
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
#Provide the Proxy Host
PROXY_HOST=
#Provide the Proxy Port
PROXY_PORT=
#Provide the Proxy Username
PROXY_USER=
#Provide the Proxy Password
PROXY_PWD=<SECURE VALUE>
#Type String (URL format) Indicates the OCM Repeater URL which should be of the format [scheme[Http/Https]]://[repeater host]:[repeater port]
COLLECTOR_SUPPORTHUB_URL=

The referenced oraInst.loc file for the silent_wls_infra.sh Installation script looks as follows
oraInst.loc
inst_group=oinstall
inventory_loc=/u00/app/oracle/oraInventory

The last step is to install the Oracle Forms & Reports 12.2.1.2.0 components over the prior installed Oracle WebLogic Server Infrastructure 12.2.1.2.0.
With this step is one speciality, I am replacing the originally provided frmconfighelper.sh script with my modified version described in my Blogpost https://dirknachbar.blogspot.ch/2017/05/oracle-forms-12c-frmconfighelper.html

For this installation step we are using the silent_forms.sh, which is referencing a corresponding response file and the same oraInst.loc as we used before for the Oracle WebLogic Server Infrastructure installation

silent_forms.sh

#!/bin/bash
#=====================================================================
#
# $Id: silent_forms.sh $
#
# PURPOSE: Script to install Oracle Forms and Reports
#           on top of existing WebLogic Server Infrastructure Installation
#
# PARAMETERS: none
#
# NOTES:   setLocalEnv.sh must be present and aligned
#          Modified frmconfighelper.sh will be provided
#                   with more functions
#
# AUTHOR:  Dirk Nachbar, https://dirknachbar.blogspot.com
#
# MODIFIED:
#
#
#=====================================================================

source setLocalEnv.sh

export JAVA_HOME=${ORACLE_BASE}/product/jdk${JDK_REL}

./fmw_12.2.1.2.0_fr_linux64.bin -silent -responseFile ${SCRIPT_HOME}/response_file_forms.rsp -jreLoc ${JAVA_HOME} -invPtrLoc ${SCRIPT_HOME}/oraInst.loc

mv ${MW}/forms/provision/frmconfighelper.sh ${MW}/forms/provision/frmconfighelper.sh.org
cp ${SCRIPT_HOME}/frmconfighelper.sh ${MW}/forms/provision/
chmod +x ${MW}/forms/provision/frmconfighelper.sh


The referenced response file response_file_forms.rsp for the silent_forms.sh Installation script looks as follows

[ENGINE]
#DO NOT CHANGE THIS.
Response File Version=1.0.0.0.0
[GENERIC]
#Set this to true if you wish to skip software updates
DECLINE_AUTO_UPDATES=true
#My Oracle Support User Name
MOS_USERNAME=
#My Oracle Support Password
MOS_PASSWORD=<SECURE VALUE>
#If the Software updates are already downloaded and available on your local system, then specify the path to the directory where these patches are available and set SPECIFY_DOWNLOAD_LOCATION to true
AUTO_UPDATES_LOCATION=
#Proxy Server Name to connect to My Oracle Support
SOFTWARE_UPDATES_PROXY_SERVER=
#Proxy Server Port
SOFTWARE_UPDATES_PROXY_PORT=
#Proxy Server Username
SOFTWARE_UPDATES_PROXY_USER=
#Proxy Server Password
SOFTWARE_UPDATES_PROXY_PASSWORD=<SECURE VALUE>
#The oracle home location. This can be an existing Oracle Home or a new Oracle Home
ORACLE_HOME=/u00/app/oracle/product/fmw-fr-12.2.1.2.0
#Set this variable value to the Installation Type selected as either Standalone Forms Builder OR Forms and Reports Deployment
INSTALL_TYPE=Forms and Reports Deployment

Putting all together, just create all the above described files into one directory on your Linux Server, e.g. /u00/app/oracle/install. Make the *.sh scripts executable (chmod +x *.sh) and execute them in following order:
cd /u00/app/oracle/install
chmod +x *.sh
./silent_jdk.sh
./silent_wls_infra.sh
./silent_forms.sh

Now, you have the base for the next steps, described by Robert Crames in his Blogpost http://robertcrames.blogspot.ch/2017/05/how-to-install-and-configure-oracle.html

After you are done with reading and applying Robert’s Part, stay tuned for my next Blogpost “How to automate Multiple Managed Servers for Oracle Forms”


Tuesday, November 8, 2016

Running Oracle HTTP Server 12c with Privileged Port

In some cases you need to configure a privileged port (less than 1024, typically port 80) within your Oracle HTTP Server 12c Instance.

At first create your Oracle HTTP Server Instance with the wlst tool:

cd $ORACLE_HOME/oracle_common/common/bin
./wlst.sh
Initializing WebLogic Scripting Tool (WLST) ...

Welcome to WebLogic Server Administration Scripting Shell

Type help() for help on available commands
#
# Connect to the WebLogic Domain with your weblogic user,
# password and correct host and port
#
wls:/offline>connect('weblogic','welcome01', 'localhost:7001')
Connecting to t3://localhost:7001 with userid weblogic ...
Successfully connected to Admin Server "FRAdminServer" that belongs to domain "fr_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.

#
# Provide a unique name for the instanceName and
# provide the Machine Name of your WebLogic Server Domain
# The Machine Name be found within the WebLogic Server Console
# under "Environment / Machine"
#
wls:/fr_domain/serverConfig/> ohs_createInstance(instanceName='ohs2', machine='AdminServerMachine')
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
OHS instance "ohs2" was successfully created.
wls:/fr_domain/serverConfig/> exit()

As next navigate to your $DOMAIN_HOME/config/fmwconfig/components/OHS/instances/<Your_OHS_InstanceName>/ directory and modify the httpd.conf file as follows:

# Search for the Listen Directive and align to port 80
Listen 80

The next step will be to change the permissions of the $ORACLE_HOME/ohs/bin/launch executable, login as root user to your Server and perform following steps

# Do a backup copy of the current launch executable
cd $ORACLE_HOME/ohs/bin
cp -p launch launch.org
# Change ownership to root
chown root launch
# Change permissions to 4750
chmod 4750 launch
ls -la launch
-rwsr-x---. 1 root oinstall 34073 Oct  5  2015 launch

Now we can start the Oracle HTTP Server Instance, connect as oracle user to your server and perform following steps:

cd $DOMAIN_HOME/bin
# Start the above created Oracle HTTP Server Instance
# First time startup use the option "storeUserConfig"
# and provide the Node Manager password
# Afterwards you will not be prompted again,
# when you startup your Oracle HTTP Server Instance
#
./startComponent.sh ohs2 storeUserConfig
Starting system Component ohs2 ...

Initializing WebLogic Scripting Tool (WLST) ...

Welcome to WebLogic Server Administration Scripting Shell

Type help() for help on available commands

Reading domain from /u00/app/oracle/user_projects/domains/fr_domain
. . .
. . .
Successfully Connected to Node Manager.
Starting server ohs2 ...
Successfully started server ohs2 ...
Successfully disconnected from Node Manager.

Exiting WebLogic Scripting Tool.

Done

Now your Oracle HTTP Server Instance is using a privileged port under UNIX.

Important Notice : If you are running multiple Oracle HTTP Server Instances from one ORACLE_HOME, lets say ohs1 Instance is running on a non privileged port 7777 and ohs2 is running on a privileged port 80, both Oracle HTTP Server Instances are running under root !!! As there is only one launch executable which is now under ownership root.

Thursday, November 3, 2016

Modify Fusion Middleware Enterprise Manager Inactivity Timeout

Are you tired of the 45 minutes default inactivity timeout setting of the Oracle Fusion Middleware Enterprise Manager?



You can simply set the inactivity timeout by modifying the emoms.properties file of the Oracle Fusion Middleware Enterprise Manager.

Connect to your server with the oracle installation user and navigate to your $DOMAIN_HOME/config/fmwconfig/servers/<AdminServerName>/applications/em/META-INF directory and open the emoms.properties file.
Check if the parameter oracle.sysman.eml.maxInactiveTime is set, if yes modify the provided values to your desired time in minutes. In case the parameter is not set in your emoms.properties file, simply add it, set your desired Inactivity Timeout value in minutes.

Below an example for an Inactivity Timeout for 3 hours

oracle.sysman.eml.maxInactiveTime=180

After restart your WebLogic AdminServer and that's all.

This method will work for Oracle Fusion Middleware 11g and 12c.

Monday, August 29, 2016

Oracle Forms Stand-alone Application Launcher (FSAL)

Since Oracle Forms 12c its possible to start your Oracle Forms without invoking a browser, this is called Oracle Forms Stand-alone Application Launcher (FSAL).

As pre requirement you will need either a JRE or JDK on your desktop, which should execute the Oracle Forms.

For this new Feature Oracle has integrated a short description Website within your installed and configured Oracle Forms & Reports Server 12c. The description website can be reached under following URL http://<your_server>:<port>/forms/html/fsal.html



Simply access this website from your desktop and download the frmsal.jar file to your desktop.

On your server hosting the Oracle Forms & Reports Server, access the formsweb.cfg and search for the section [standalone] or create a new section with a unique name.

[oracle@server] cd $DOMAIN_HOME/config/fmwconfig/servers/WLS_FORMS/applications/formsapp_12.2.1/config
[oracle@server] vi formsweb.cfg
-- Snippet from formsweb.cfg
[standaloneapp]
# Note: baseSAAfile must end with .txt
baseSAAfile=basesaa.txt
# definition of colorScheme
colorScheme=blaf
# My Start Form
form=t1.fmx
# fsalcheck parameter specifies whether to perform checksum comparison
# of Forms stand-alone app launcher or not. When it is enabled, it triggers
# the comparison at server. The checksum of FSAL at client machine will be
# compared with the checksum of FSAL archived at the server repository.
fsalcheck=true

After you have modified or created your own section for the FSAL, get back to your desktop, open a command prompt and navigate to the directory in which you have placed the frmsal.jar file. From there make sure that you have the java binary in your PATH and execute following command

java -jar frmsal.jar -url "http://<your_server>:<your_port>/forms/frmservlet?config=standaloneapp" -t 10000

You can also define within the parameter -url various options, e.g. .../forms/frmservlet?config=standaloneapp&colorScheme=teal

Depending on your formsweb.cfg section configuration you might see the typical login dialog.



or you will access directly your Oracle Forms Application.



And everything without any browser :-)

Monday, August 15, 2016

Oracle Reports 12c - The missing configuration steps

Oracle Forms & Reports 12c is released since a quite long time and I had now some chance to have a more detailed look on the Oracle Reports 12c component.

After you have successfully installed and configured the Oracle Forms & Reports 12c, you might find out that your Oracle Reports 12c is not working ... because its not yet configured, even you completed the Configuration Assistent successfully :-)

The following steps are describing the necessary tasks for Linux.

There some steps to take as "Post-Configuration":

  1. Create a Reports Tool Instance
  2. Create a Reports Server Instance
  3. if you are running under Linux 7 (either Oracle Enterprise Linux or RedHat) fix libXm.so.3 issue
  4. Adjust the Application Roles within your WebLogic Server Domain

Create a Reports Tool Instance

connect to your Linux server as oracle user and create the necessary Reports Tool Instance via WLST

[oracle@server] cd $ORACLE_HOME/oracle_common/common/bin
[oracle@server] ./wlst.sh
# replace the password with your password and verify if port 7001 is your Admin Server Port
wls:/offline> connect('weblogic','password','localhost:7001')
wls:/fr_domain/serverConfig/> createReportsToolsInstance(instanceName='reptools1',machine='AdminServerMachine')
wls:/fr_domain/serverConfig/> exit()

The above execution of the createReportsToolsInstance command will create under your DOMAIN_HOME following subdirectories:

  • reports/bin
  • reports/cache
  • reports/fonts
  • reports/plugins
  • reports/server
as next step we can create our Reports Server.

Create a Reports Server Instance

connect to your Linux server as oracle user and create the necessary Reports Server Instance via WLST

[oracle@server] cd $ORACLE_HOME/oracle_common/common/bin
[oracle@server] ./wlst.sh
# replace the password with your password and verify if port 7001 is your Admin Server Port
wls:/offline> connect('weblogic','password','localhost:7001')
wls:/fr_domain/serverConfig/> createReportsServerInstance(instanceName='rep_server1',machine='AdminServerMachine')
wls:/fr_domain/serverConfig/> exit()



libXm.so.3 Problem

in case you are using an Oracle Enterprise Linux 7 or RedHat 7, you need to fix a small libXm.so.3 problem. Oracle Reports is looking for the libXm.so.3, but under OEL 7 and RH7 you will find only a libXm.so.4
Simply perform following steps as root user on your Linux server

[root@server] cd /usr/lib64
[root@server] ls libXm.so*
libXm.so.4  libXm.so.4.0.4
[root@server] ln -s /usr/lib64/libXm.so.4 libXm.so.3

Startup your Reports Server Instance

since we have created the Reports Server Instance by attaching to the NodeManager, you must make sure that the NodeManager is up and running and than perform following steps:

[oracle@server] cd $DOMAIN_HOME/bin
[oracle@server] ./startComponent.sh rep_server1
. . .
Successfully Connected to Node Manager.
Starting server rep_server1 ...
Successfully started server rep_server1 ...
Successfully disconnected from Node Manager.

Exiting WebLogic Scripting Tool.

Done

Adjust the Application Roles within your WebLogic Server Domain

At first you need to login to the Fusion Middleware Enterprise Manager, normally http://<your_server_name>:7001/em and access under the menu "Security / Application Roles"


Within the Application Roles option chose from the drop down menu the option reports, than click on the arrow button, mark the line with the Role Name RW_ADMINISTRATOR and finally click the Edit button to modify the selected role



Under "Edit Application Role : RW_ADMINISTRATOR" use the Add button


In the Add Principal screen, select under the option Type "User", click the arrow button and mark the line with the Principal "weblogic" and proceed with the button OK



The last OK button will redirect you to the Application Roles screen, there simply click the OK button on the top right corner, when everything works fine you will get following Information


Now, you are able to access the Reports Status URLs by providing the username and password of the weblogic user

For Example
  • http://<your_server_name>:9002/reports/rwservlet/showenv?server=rep_server1
  • http://<your_server_name>:9002/reports/rwservlet/getserverinfo?server=rep_server1





Thursday, April 19, 2012

Oracle Traffic Director available for download

During the official announcement of Oracle WebLogic Server 12c on 1st December 2011, Oracle also announced the new Oracle Traffic Director.

Oracle Traffic Director 11g is a high-performance caching HTTP proxy server. It is designed to take advantage of the unique engineered systems features of Oracle's Exalogic computing platform, providing a highly-available, on-board load-balancing reverse proxy for Oracle Fusion Middleware and Applications

Today I saw, that the Oracle Traffic Director 11.1.1.6.0 is available for Linux x86-64 in Oracle TechNet:


The Software can be found under: http://www.oracle.com/technetwork/java/webtier/downloads/traffic-director-1373931.html
The Oracle Traffic Director Documentation can be found under: http://docs.oracle.com/cd/E23389_01/index.htm

Thursday, March 15, 2012

Long live Oracle Forms - New Statement of Direction

Oracle (Grant Ronald) published today (15th March 2012) an updated Statement of Direction for Oracle Forms and Reports.

The major statement within this Statement of Direction is:

Oracle has no plan to discontinue support of Oracle Forms. Furthermore, a new version of Forms, Oracle Forms 12c, is planned for delivery as a component of Oracle Fusion Middleware 12c.
Thats really a clear and positive statement from Oracle :-)

 
The complete Statement of Direction can be found under following link: http://www.oracle.com/technetwork/issue-archive/2010/toolssod-3-129969.pdf

Lets wait for Oracle Forms & Reports 12c :-)

Sunday, December 11, 2011

Oracle WebLogic Server 12c (12.1.1) for download available

Since Friday 9th December 2011 the latest release of the Oracle WebLogic Server 12c (12.1.1) is available for download in the Oracle Technology Network under following link: http://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-main-097127.html

Following Versions are available:
  • Installer with Oracle WebLogic Server 12c, Oracle Coherence and Oracle Enterprise Pack for Eclipse (for Linux x86 with JVM 32bit, Windows x86 with JVM 32bit and Mac OS X with 32bit)
  • Installer with Oracle WebLogic Server 12c and Oracle Coherence (for Linux x86 with JVM 32bit, Windows 32bit with JVM 32bit and a generic version for 64bit platforms)
  • Zip Distribution with Oracle WebLogic Server 12c only intended for WebLogic Server development only (for Linux, Windows and Mac OS X)


The documentation for the new Oracle WebLogic Server 12c (12.1.1) can be found under following Link: http://docs.oracle.com/cd/E24329_01/index.htm