How to Install Oracle Fusion Middleware 11g in Oracle Enterprise Linux.

How to install Oracle 11g Fusion Middleware in Oracle Enterprise Linux:


User is : root

When installation create partition named /data

copy the Server folder from media to /data/Server
copy the below files to /data  
jdk-6u45-linux-x64.bin
jre-6u45-linux-x64.bin
wls1035_generic.jar
ofm_frmrpts_linux_11.1.2.2.0_64_disk1_1of2.zip
ofm_frmrpts_linux_11.1.2.2.0_64_disk1_2of2.zip

Extract ofm_frmrpts_linux_11.1.2.2.0_64_disk1_1of2 and ofm_frmrpts_linux_11.1.2.2.0_64_disk1_2of2 to /data

Network Installation:

vi /etc/sysconfig/network-scripts/ifcfg-eth0

HWADDR=00:1C:C0:CD:3F:8C
BOOTPROTO=static
ONBOOT=yes
DEVICE=eth0
DHCPCLASS=
IPADDR=192.168.0.221
NETMASK=255.255.255.0
GATEWAY=192.168.0.86

service NetworkManager start

chkconfig NetworkManager on

service NetworkManager stop

service NetworkManager off

service NetworkManager stop

service NetworkManager off

service network restart

chkconfig network on

service network restart

chkconfig network on

nm-connection-editor

vi /etc/sysconfig/network

vi /etc/hosts

vi /etc/resolv.conf

hostname

ping

Yum Installation :

# cd /etc/yum.repos.d/

; change the location of files.

[ol6_base_media]
name=Oracle Linux 6 Update 5 Base Media
baseurl=file:///data/Server
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=1

yum install all

yum install libaio-devel -y
yum install sysstat -y
yum install openmotif -y
yum install openmotif22 -y

yum install *font*
yum install binutils-2.20.51.0.2-5.28.el6
yum install compat-libcap1-1.10-1
yum install compat-libstdc++-33-3.2.3-69.el6 for x86_64
yum install compat-libstdc++-33-3.2.3-69.el6 for i686
yum install gcc-4.4.4-13.el6
yum install gcc-c++-4.4.4-13.el6
yum install glibc-2.12-1.7.el6 for x86_64
yum install glibc-2.12-1.7.el6 for i686
yum install glibc-devel-2.12-1.7.el6 for i686
yum install libaio-0.3.107-10.el6
yum install libaio-devel-0.3.107-10.el6
yum install libgcc-4.4.4-13.el6
yum install libstdc++-4.4.4-13.el6 for x86_64
yum install libstdc++-4.4.4-13.el6 for i686
yum install libstdc++-devel-4.4.4-13.el6
yum install libXext for i686
yum install libXtst for i686
yum install openmotif-2.2.3 for x86_64
yum install openmotif22-2.2.3 for x86_64
yum install redhat-lsb-core-4.0-7.el6 for x86_64
yum install sysstat-9.0.4-11.el6
yum install uln-internal-setup-1.0.1-1.el6.noarch.rpm

yum install ksh*


yum install binutils -y
yum install compat-libcap1 -y
yum install compat-libstdc++-33 -y
yum install compat-libstdc++-33.i686 -y
yum install gcc -y
yum install gcc-c++ -y
yum install glibc -y
yum install glibc.i686 -y
yum install glibc-devel -y
yum install glibc-devel.i686 -y
yum install libaio -y
yum install libaio-devel -y
yum install libgcc -y
yum install libstdc++ -y
yum install libstdc++.i686 -y
yum install libstdc++-devel -y
yum install libXext.i686 -y
yum install libXtst.i686 -y
yum install openmotif -y
yum install openmotif22 -y
yum install sysstat -y
yum install ksh -y

Got to :

vi /etc/hosts

127.0.0.1      localhost localhost.localdomain localhost4 localhost4.localdomain4
192.168.0.221  ol6-forms.localdomain ol6-forms

If you are running Oracle Universal Installer on Linux x86 or Linux x86-64 operating systems,
you must modify the value

of the SHMMAX kernel parameter to avoid seeing errors generated by
the Oracle Universal Installer. To do so:

Change the value of SHMMAX to 4294967295 by including the following line in /etc/sysctl.conf:

vi /etc/sysctl.conf

kernel.shmmax = 4294967295

Activate the new SHMMAX setting by running the command:

/sbin/sysctl -p

Start the Oracle Universal Installer and install your software.

The Open File Limit on all UNIX and Linux operating systems should also be checked. The minimum Open File Limit should be 4096. The following examples are for Linux operating systems. Equivalent commands should be followed for other UNIX operating systems. You can see how many files are open with the following command:

/usr/sbin/lsof | wc -l

To check your open file limits, use the commands below.

For C-shell:

limit descriptors

For Bash:

ulimit -n

To change the open file limits, login as root and edit the /etc/security/limits.conf file. Look for the following two lines:

vi /etc/security/limits.conf

* soft  nofile  2048
* hard  nofile  2048


---- Firewall

service iptables stop
chkconfig iptables off

--- Disable filewall from system>Administrator>Firewall

----- SELinux

vi /etc/selinux/config

SELINUX=Permissive

setenforce Permissive.


Change the values from 2048 to 4096, then reboot the machine.

Create a new group and user.

groupadd -g 1000 oinstall
useradd -u 1100 -g oinstall oracle
passwd oracle

Create the directories in which the Oracle software will be installed.

mkdir -p /u01/app/oracle/middleware
chown -R oracle:oinstall /u01
chmod -R 775 /u01/

chown -R oracle:oinstall /data
chmod -R 775 /data


--Got to Oracle User :

Install the JDK:

cd /data
cp /data/jdk-6u45-linux-x64.bin /u01/app/oracle/middleware
cp /data/jre-6u45-linux-x64.bin /u01/app/oracle/middleware
cd /u01/app/oracle/middleware

./jre-6u45-linux-x64.bin
./jdk-6u45-linux-x64.bin

Append the following entries into the file:

vi /home/oracle/.bash_profile

export MW_HOME=/u01/app/oracle/middleware
export WLS_HOME=$MW_HOME/wlserver_10.3
export WL_HOME=$WLS_HOME
# Set to the appropriate JAVA_HOME.
#export JAVA_HOME=/usr/java/jdk1.6.0_33
#export JAVA_HOME=$MW_HOME/jrockit-jdk1.6.0_37-R28.2.5-4.1.0
export JAVA_HOME=$MW_HOME/jdk1.6.0_45
export PATH=$JAVA_HOME/bin:$PATH


Install Weblogic Server :

cd /data
/u01/app/oracle/middleware/jdk1.6.0_45/bin/java -Xmx1024m -jar wls1035_generic.jar

Domain Location:

/u01/app/oracle/middleware/user_projects/domains/base_domain
Admin Server URL: http://ol6-forms.localdomain:7001

cd /data

Now Install Oracle 11g Fusion Middlware :

chown -R oracle:oinstall /u01
chmod -R 775 /u01/

chown -R oracle:oinstall /data
chmod -R 775 /data

chown -R oracle:oinstall /home
chmod -R 775 /home


go to :   --- ofm11g is the folder where all 2 zip were unzipped.

---- Go to oracle user.

cd /data/ofm11g/Disk1

./runInstaller

Inventory Directory : /u01/app/oraInventory


Post-Installation :

Once the server is started you can access the administrator console using the

http://hostname:7001/console

Log in using the username and password of weblogic.


--------------------- Installation Complete.........................

------------ Post Installation .....................................



searching mechanism:

find $MW_HOME -name formsweb.cfg


configure tnsnames.ora

vi

/u01/app/oracle/middleware/asinst_1/config/tnsnames.ora

PADMA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.247)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = PADMA)
    )
  )

vi /u01/app/oracle/middleware/user_projects/domains/ClassicDomain/servers/WLS_FORMS/tmp/_WL_user/formsapp_11.1.2/wb1h9f/config/formsweb.cfg

start weblogic server
/u01/app/oracle/middleware/user_projects/domains/ClassicDomain/startWebLogic.sh

start Node Manager

/u01/app/oracle/middleware/wlserver_10.3/server/bin/startNodeManager.sh

start weblogic forms and reports from http://192.168.0.221:7001/console



The following scripts are usefull :

The following scripts are useful. They assume a Boot Identity File has been created for the AdminServer and the WLS_FORMS and WLS_REPORTS managed servers.
export MW_HOME=/u01/app/oracle/middleware
export WLS_HOME=$MW_HOME/wlserver_10.3
export WL_HOME=$WLS_HOME
export FR_HOME=$MW_HOME/Oracle_FRHome1
export FR_INST=$MW_HOME/asinst_1

# Start NodeManager
nohup $WLS_HOME/server/bin/startNodeManager.sh > /dev/null 2>&1 &

# Start WebLogic Domain
nohup $MW_HOME/user_projects/domains/ClassicDomain/bin/startWebLogic.sh > /dev/null 2>&1 &

sleep 60

# Start the managed Servers
nohup $MW_HOME/user_projects/domains/ClassicDomain/bin/startManagedWebLogic.sh WLS_FORMS > /dev/null 2>&1 &
nohup $MW_HOME/user_projects/domains/ClassicDomain/bin/startManagedWebLogic.sh WLS_REPORTS > /dev/null 2>&1 &

sleep 60

# Start anything remaining using OPMN
$FR_INST/bin/opmnctl startall


# Stop anything remaining using OPMN
$FR_INST/bin/opmnctl stopall

# Stop the managed Servers
$MW_HOME/user_projects/domains/ClassicDomain/bin/stopManagedWebLogic.sh WLS_FORMS
$MW_HOME/user_projects/domains/ClassicDomain/bin/stopManagedWebLogic.sh WLS_REPORTS

# Stop WebLogic Domain
$MW_HOME/user_projects/domains/ClassicDomain/bin/stopWebLogic.sh
The basic URLs of importance are shown below. Ports may vary between installations.
•    http://localhost:7001/console (Console)
•    http://localhost:7001/em (Enterprise Manager)
•    http://localhost:9001/forms/frmservlet (Forms Base URL)
•    http://localhost:9002/reports/rwservlet (Reports Base URL)
•    http://localhost:8888/forms/frmservlet (Base HTTP URL you would normally use to initiate Forms and Reports)
•    https://localhost:8890/forms/frmservlet (Base HTTPS URL you would normally use to initiate Forms and Reports)


$ # Start NodeManager
$ nohup $WLS_HOME/server/bin/startNodeManager.sh > /dev/null 2>&1 &


$ # Start WebLogic
$ nohup $MW_HOME/user_projects/domains/mydomain/startWebLogic.sh > /dev/null 2>&1 &
$ # or
$ nohup $MW_HOME/user_projects/domains/mydomain/bin/startWebLogic.sh > /dev/null 2>&1 &

$ # Stop WebLogic
$ $MW_HOME/user_projects/domains/mydomain/bin/stopWebLogic.sh


$ # Start Managed Server
$ nohup $MW_HOME/user_projects/domains/mydomain/bin/startManagedWebLogic.sh AdminServer > /dev/null 2>&1 &

$ # Stop Managed Server
$ $MW_HOME/user_projects/domains/mydomain/bin/stopManagedWebLogic.sh AdminServer


$ # Start the configuration wizard
$ $WLS_HOME/common/bin/config.sh


Applying Patch Set Updates (PSUs):

The patch set updates (PSUs) come with a "README.txt" file that explains how to apply the patches. You should always follow the patch note, but the basic format is

typically as follows.

Unzip the patch into the correct location.
$ mkdir -p $MW_HOME/utils/bsu/cache_dir
$ cd $MW_HOME/utils/bsu/cache_dir
$ unzip /tmp/p14736139_1036_Generic.zip

Apply the patch.

$ cd $MW_HOME/utils/bsu
$ ./bsu.sh -install -patch_download_dir=$MW_HOME/utils/bsu/cache_dir -patchlist=HYKC -prod_dir=$WLS_HOME

If you get conflicts, you may have to remove previous patches, before attempting to apply the patch again.

$ cd $MW_HOME/utils/bsu
$ ./bsu.sh -remove -patchlist=ABCD -prod_dir=$WLS_HOME

$ ./bsu.sh -install -patch_download_dir=$MW_HOME/utils/bsu/cache_dir -patchlist=HYKC -prod_dir=$WLS_HOME

After the patch is successfully applied, restart all WebLogic servers.
Check the version.

$ . $WLS_HOME/server/bin/setWLSEnv.sh
$ java weblogic.version

WebLogic Server 10.3.6.0.3 PSU Patch for BUG14736139 Fri Nov 23 10:16:54 IST 2012
WebLogic Server 10.3.6.0  Tue Nov 15 08:52:36 PST 2011 1441050

Use 'weblogic.version -verbose' to get subsystem information


Others Configurations :

Environment Variable Settings:

The basic WebLogic environment variable settings are described in the installation guides, but the following list accounts for most of the scenarios you are likely to come across on the server, including forms compilation from the command line. Remember to adjust the FORMS_PATH and TWO_TASK variables as required.

# Middleware

export MW_HOME=/u01/app/oracle/middleware
export WLS_HOME=$MW_HOME/wlserver_10.3
export WL_HOME=$WLS_HOME
export ORACLE_HOME=$MW_HOME/Oracle_FRHome1
export ORACLE_INSTANCE=$MW_HOME/asinst_1
export FR_HOME=$ORACLE_HOME
export FR_INST=$ORACLE_INSTANCE
export DOMAIN_HOME=$MW_HOME/user_projects/domains/ClassicDomain
export JAVA_HOME=$MW_HOME/jrockit-jdk1.6.0_37-R28.2.5-4.1.0

# Forms compilation

export PATH=.:$FR_HOME/bin:$FR_HOME/forms/mesg:$PATH
export LD_LIBRARY_PATH=$FR_HOME/jdk/jre/lib/amd64/native_threads:$FR_HOME/jdk/jre/lib/amd64:$FR_HOME/lib:$FR_HOME/jdk/jre/lib/amd64/server
export FORMS_BUILDER_CLASSPATH=$FR_HOME/jlib/
export FORMS_PATH=[*** add the path to your forms ***]
export REPORTS_PATH=[*** add the path to your reports here ***]
#export TWO_TASK=ORCL
export TNS_ADMIN=$FR_HOME/network/admin
export TERM=vt220
export ORACLE_TERM=$TERM


# Reports Server :

# Reports server: Adjust as required to allow forms to get the reports server name
# using "tool_env.getvar('REPORTS_SERVER_NAME', v_rep_server);"

export REPORTS_SERVER_NAME=rep_wls_reports_ol6-forms_asinst_1

I tend to use FR_HOME and FR_INST in place of ORACLE_HOME and ORACLE_INSTANCE as I think they are more descriptive. It's worth setting both as many documents don't follow my preference.

A number of the sections below assume these environment variables have been set.

Configuration Files :

Many of the 11gR2 Forms and Reports Services configuration files are the same as those in AS10g, but their locations differ. It is often easier to find things by searching below the $MW_HOME, as shown below.

$ find $MW_HOME -name formsweb.cfg

formsweb.cfg :

The files I tend to visit the most are listed below. formsweb.cfg: Definitions of individual configurations. 

$DOMAIN_HOME/config/fmwconfig/servers/WLS_FORMS/applications/formsapp_11.1.2/config/formsweb.cfg


default.env: Runtime environment parameter definitions.

$DOMAIN_HOME/config/fmwconfig/servers/WLS_FORMS/applications/formsapp_11.1.2/config/default.env

tnsnames.ora:

$FR_HOME/network/admin/tnsnames.ora
$FR_INST/config/tnsnames.ora

dads.conf: Database Access Descriptor (DAD) defintions.

$FR_INST/config/OHS/ohs1/mod_plsql/dads.conf

fmrweb.res: Key definition file for webforms.

$FR_INST/config/FormsComponent/forms/admin/resource/US/fmrweb.res

I usually make one of the "tnsnames.ora" files a symbolic link to the other, so I don't accidentally get them out of sync. A fuller list of configuration files can be seen here. A couple of the important files are described below.

formsweb.cfg

The "formsweb.conf" file is one of the most important configuration files as it allows you to define multiple configurations, or environments, within a single software installation. You can see a copy of the default "formsweb.cfg" file here.

Typically, each separate environment will have it's own section in the "formsweb.conf" file, where environment-specific settings are placed. You only need to specify a value in a Named Configuration if it differs from that in the default configuration. For example, a named configuration might be simple, like the following.

[myapp]
form=MyDefaultForm.fmx
pageTitle=My Application Title
width=1024
height=768
separateFrame=true
imageBase=codebase
archive=frmall.jar,my_icons.jar
envFile=/path/to/myapp.env

Note. The "archive" entry includes the "my_icons.jar", which assumes you have placed you icons in this JAR file and the JAR file is placed in the "$FR_HOME/forms/java" directory.

A very useful entry is the "envFile" parameter, that can associate an environment file with a named configuration. This allows each named configuration run with a unique set of environment variables, including the FORMS_PATH variable amongst others. Any custom environment files should be derived from the "default.env" file, described below.

Changes to this file to not require a restart of any components. The changes can be done directly to the file, or through Enterprise Manager.

default.env

The "default.env" file defines the forms runtime parameters for a specific environment. All custom environment files should be derived from this file. You can see and example of the "default.env" file here.

Environment variables specified in an ".env" file override existing environment settings. If an environment variable is not defined in the ".env" files, the value from the session that started the server process will be used.

Changes to these ".env" files do not require a restart of any components. The changes can be done directly to the file, or through Enterprise Manager. Note. It's is worth explicitly setting the NLS_LANG environment variable in the ".env" file to match the NLS details of the database the forms connect to, thereby removing any implicit character conversions.


NLS_LANG=AMERICAN_AMERICA.AL32UTF8

Compiling Forms:

Forms, menus and libraries are compiled using the frmcmp.sh or frmcmp_batch.sh scripts. You can find these in the "$FR_INST/bin/" directory. Running the command without any parameters displays the usage information. Some examples of the basic syntax are shown below.


$ export DISPLAY=mypc:0.0
$ $FR_INST/bin/frmcmp.sh module=myform.fmb module_type=form userid=scott/tiger

$ $FR_INST/bin/frmcmp_batch.sh myform.fmb scott/tiger module_type=form batch=yes output_file=myform.fmx compile_all=special

Remember, frmcmp.sh requires and X Server, so you will need to SSH tunnel (ssh -X oracle@server) or set your DISPLAY environment variable (export DISPLAY=mypc:0.0). You can easily script the compilation of all your forms-related objects, as shown by the following script.



#!/bin/bash

export FORMS_PATH=/path/to/my/forms
export DB_USER=scott
export DB_PASSWD=tiger
export DB_SERVICE=ORCL

# Libraries

for FILE in `ls $FORMS_PATH/*.pll`; do
  OUTPUT=${FILE/pll/plx}
  echo "$FILE -> $OUTPUT"
  $FR_INST/bin/frmcmp_batch.sh $FILE $DB_USER/$DB_PASSWD@$SERVICE \
    module_type=library batch=yes output_file=$OUTPUT compile_all=special
done

# Menus

for FILE in `ls $FORMS_PATH/*.mmb`; do
  OUTPUT=${FILE/mmb/mmx}
  echo "$FILE -> $OUTPUT"
  $FR_INST/bin/frmcmp_batch.sh $FILE $DB_USER/$DB_PASSWD@$SERVICE \
    module_type=menu batch=yes output_file=$OUTPUT compile_all=special
done

# Forms

for FILE in `ls $FORMS_PATH/*.fmb`; do
  OUTPUT=${FILE/fmb/fmx}
  echo "$FILE -> $OUTPUT"
  $FR_INST/bin/frmcmp_batch.sh $FILE $DB_USER/$DB_PASSWD@$SERVICE \
    module_type=form batch=yes output_file=$OUTPUT compile_all=special
done

Forms Builder

If you have set the environment variables described above, using the X Server based Forms builder should be as simple as issuing the frmbld command.
$ export DISPLAY=mypc:0.0
$ frmbld &

OR

$ $FR_INST/bin/frmbld.sh &

Compiling Reports

Reports are compiled using the rwconverter.sh script. You can find this in the "$FR_INST/config/reports/bin/" directory. Running the command without any parameters displays the GUI screen. An example of the command line syntax is shown below.

$ $FR_INST/config/reports/bin/rwconverter.sh userid=scott/tiger batch=yes \source=myreport.rdf stype=rdffile dtype=repfile overwrite=yes compile_all=yes


Reports Builder:

If you have set the environment variables described above, using the X Server based Reports builder should be as simple as runing the rwbuilder.sh command.

$ export DISPLAY=mypc:0.0
$ $FR_INST/config/reports/bin/rwbuilder.sh &


Webutil Configuration
•    Download the "jacob.jar" (v1.14.3) file from http://sourceforge.net/projects/jacob-project/files/jacob-project/1.14.3/.
•    Unzip the contents of the file.
•    Copy the "jacob.jar" to the "$FR_HOME/forms/java" directory.
•    Copy the "jacob-1.14.3-x86.dll" to the "$FR_HOME/forms/webutil/win32" directory.
•    Copy the "jacob-1.14.3-x64.dll" to the "$FR_HOME/forms/webutil/win64" directory.
•    Sign the "jacob.jar" file. (See below)
•    Add "$FR_HOME/forms/java/frmall.jar" to the CLASSPATH entry in the "default.env" file. This should be done with Enterprise Manager, but it works fine if you manually edit the file. If you use custom environment files, you should add it to those also.
•    Add "frmwebutil.jar" and "jacob.jar" to the "WebUtilArchive" entry in the "formsweb.cfg" file for any configurations that require it, for example.
•    WebUtilArchive=frmwebutil.jar,jacob.jar
•    WebUtilLogging=off
•    WebUtilLoggingDetail=normal
•    WebUtilErrorMode=Alert
•    WebUtilDispatchMonitorInterval=5
•    WebUtilTrustInternal=true
•    WebUtilMaxTransferSize=16384
•    baseHTML=webutilbase.htm
baseHTMLjpi=webutiljpi.htm
•    After making changes, restart the WLS_FORMS managed server and OPMN.
•    # Stop
•    $FR_INST/bin/opmnctl stopall
•    $MW_HOME/user_projects/domains/ClassicDomain/bin/stopManagedWebLogic.sh WLS_FORMS
•    # Start
•    nohup $MW_HOME/user_projects/domains/ClassicDomain/bin/startManagedWebLogic.sh WLS_FORMS > /dev/null 2>&1 &
$FR_INST/bin/opmnctl startall

Additional configuration is possible by editing the "$FR_INST/config/FormsComponent/forms/server/webutil.cfg" file.

Jar File Security Warning Hangs

Unsigned or self-signed jar files cause a browser security warning dialog to appear.

On some clients the behavior of this dialog is rather erratic, sometimes hanging and preventing you from taking the appropriate action. This seems to relate to two MOS notes.

•    Form Hangs When Acknowledging Security Warning - The application's digital signature cannot be verified [ID 1328039.1]
•    Windows Java Client Hangs On Accepting Not Verified Signature Of jar Files When SeparateFrame=True [ID 1173365.1]

The solution is to alter the order of the Jar files set by the "archive" and/or "WebUtilArchive" entries in the "formsweb.cfg" file. In the case of the "jacob.far" file, if you have it listed in the "archive" parameter, you will probably need to make the following change.

#Before
archive=frmall.jar,jacob.jar

#After
archive=jacob.jar,frmall.jar
If you have instead listed it in the "WebUtilArchive" parameter, you will probably need to make the following change.

#Before
WebUtilArchive=frmwebutil.jar,jacob.jar

#after
WebUtilArchive=jacob.jar,frmwebutil.jar
You should not need to restart any services for this to take effect.

Sign JAR Files
Edit the "$FR_INST/bin/sign_webutil.sh" file, setting the appropriate values. If you want to generate a new certificate and keystore you must enter the following

information, adjusted as desired.

DN_CN="myserver.example.com"
DN_OU="My Department"
DN_O="My Company"
DN_L="My City"
DN_ST="My State"
DN_C=GB

KEYSTORE_PASSWORD=password1
JAR_KEY_PASSWORD=password1
VALIDDAYS=3600

If you created a keystore for securing your managed servers, you can reuse that by editing the following settings to match the details of your existing keystore.
KEYSTORE=/home/oracle/keystore/identity.jks
KEYSTORE_PASSWORD=password1
JAR_KEY=selfsigned
JAR_KEY_PASSWORD=password1

Issue to the following command to sign the specified JAR file. In this case it is the jacob.jar file.
$ $FR_INST/bin/sign_webutil.sh $FR_HOME/forms/java/jacob.jar

If you attempt to re-sign a JAR file that is already signed, it will contain multiple signatures in the "META-INF" directory, which will probably result in the following error.

sun.security.validator.ValidatorException: PKIX path validation failed:
  java.security.cert.CertPathValidatorException: signature check failed
To fix this, unpack the JAR, remove the signatures from the "META-INF" directory and re-pack the JAR. The following example shows how this can be done for the :

"jacob.jar" file.
mkdir $FR_HOME/forms/java/temp
cd $FR_HOME/forms/java/temp

export MYJAR=jacob.jar
unzip ../$MYJAR
rm -f META-INF/*.SF META-INF/*.DSA  META-INF/*.MF
# You may need to remove more, so visually check.
$JAVA_HOME/bin/jar -cvf $MYJAR *
mv $MYJAR ..
rm -Rf *

cd ..
rmdir $FR_HOME/forms/java/temp
Once you've stripped the signatures from the JAR file you will need to resign it.
I've combined this method, along with the signing of the JAR file into following script, which I save as "resign_jars.sh".
mkdir $FR_HOME/forms/java/temp
cd $FR_HOME/forms/java/temp

function sign_jar {
  export MYJAR=$1
  unzip ../$MYJAR
  rm -f META-INF/*.SF META-INF/*.DSA META-INF/*.MF
  # You may need to remove more, so visually check.
  $JAVA_HOME/bin/jar -cvf $MYJAR *
  mv $MYJAR ..
  rm -Rf *
  $FR_INST/bin/sign_webutil.sh $FR_HOME/forms/java/$MYJAR
}

sign_jar frmall.jar
sign_jar frmgeneric_laf.jar
sign_jar frmmain.jar
sign_jar frmoracle_laf.jar
sign_jar frmresources.jar
sign_jar frmwebutil.jar
sign_jar jacob.jar

# Add any custom JARs into the list.
# sign_jar images.jar

cd ..
rmdir $FR_HOME/forms/java/temp
This will strip and resign any JAR file passed as a parameter to the "sign_jar" function.
REP-52262: Diagnostic output is disabled.
Reports 11.1.2.1 turns off the diagnostics output by default. If you need to turn it on, do the following.
Edit the "$DOMAIN_HOME/config/fmwconfig/servers/WLS_REPORTS/applications/reports_11.1.2/configuration/rwservlet.properties" file as follows.
# From
<inprocess>yes</inprocess>

# To
<inprocess>yes</inprocess>

<webcommandaccess>L2</webcommandaccess>
Restart WLS_REPORTS server.
Once you have finished testing, you will probably want to remove the new entry and restart the WLS_REPORTS server. In-Process Reports Server not Starting Properly. After a clean start of the Forms and Reports Services, the in-process reports server should start automatically on the first attempt to run a report. In practice, this

does not seem to happen. There are a number of ways to kick the in-process reports server into touch.
The "startserver" URL can be used to start the in-process reports server. Adding the following commands to the end of your startup script will start make sure it starts as expected.
sleep 600 curl http://localhost:8888/reports/rwservlet/startserver > /dev/null 2>&1 &
If you have enabled the diagnostics pages (discussed earlier), any call to a diagnostics page will start the in-process reports server. Adding the following commands to the end of your startup script will start make sure it starts as expected.


sleep 600
curl http://localhost:8888/reports/rwservlet/getserverinfo > /dev/null 2>&1 &
You can also start the process using the Reports application page in Oracle Enterprise Manager. Either use the "Monitoring > Start Reports Application" option or the

"Administration > Start In-process Reports Server" option.
Key Mappings
The shortcut keys used by Forms can be altered by editing the key mapping resource file for your specific language. The default US/English language uses one of the

following resource files, depending on the character set being used.
$FR_INST/config/FormsComponent/forms/admin/resource/US/fmrweb.res
$FR_INST/config/FormsComponent/forms/admin/resource/US/fmrweb_utf8.res
A description of key mappings can be found here.

eports Fonts

The fonts available for the Reports server are defined in the following files.

$FR_INST/config/FRComponent/frcommon/guicommon/tk/admin/uifont.ali
$FR_INST/config/FRComponent/frcommon/guicommon/tk/admin/uiprint.txt
$FR_INST/config/FRComponent/frcommon/guicommon/tk/admin/PPD/screenprinter.ppd
The fonts referenced in these configuration files must be present in the following directory.
$FR_HOME/guicommon/tk/admin/AFM
After making any changes, restart the Forms and Reports Services.
SSL Configuration
SSL configuration of Forms and Reports Services can seem a little tricky as there are a number of different elements to consider, including:
•    The AdminServer, WLS_FORMS and WLS_REPORTS managed servers. Explained here.
•    The JAR files used by the Forms and Reports Services. Explained here.
•    The Oracle HTTP Server (OHS). See below.

To configure the Oracle HTTP Server (OHS), do the following steps, which assume you have already configured the managed servers for SSL using a keystore as described

here.

Create a new wallet.
cd ~/keystore
$MW_HOME/oracle_common/bin/orapki wallet create -wallet ./ -pwd password1 -auto_login
Load the contents of the previously created keystore into the new wallet.
$MW_HOME/oracle_common/bin/orapki wallet jks_to_pkcs12 -wallet ./ -pwd password1 \
  -keystore identity.jks -jkspwd password1
Edit the "$FR_INST/config/OHS/ohs1/ssl.conf" file, altering the path to the wallet as shown below.
#Path to the wallet
#SSLWallet  "${ORACLE_INSTANCE}/config/${COMPONENT_TYPE}/${COMPONENT_NAME}/keystores/default"

SSLWallet  "/home/oracle/keystore"

Restart the Oracle HTTP Server.
$FR_INST/bin/opmnctl restartproc process-type=OHS
The Oracle HTTP Server is now using the certificate in the wallet to support HTTPS traffic.




Muhammad Abdullah Al Noor

Muhammad Abdullah Al Noor, An Oracle Apex Consultants and founder of Noors Technology (www.noorstech.com). Core Expertise : Database Administration, Oracle Forms and Reports Development, Oracle Apex Application Designer and Development, Linux Professional etc. Also the owner of TrainerBD Training and OraDemy E-Learning. WhatsApp +8801790721177

Post a Comment

Previous Post Next Post