Here is my experiences with installing Forms and Reports 11.1.2.2.0 on Red Hat 6 (64-bit) using Java 7.
Overview
- Documentation
- Download the software
- Prepare the OS
- Install Java
- Patch Java
- Install Weblogic server 10.3.6
- Install the latest Weblogic PSU
- Using WebLogic Server with JDK 7
- Install Forms/Reports version 11.1.2.2.0
- Patch Forms/Reports
- Configure Forms/Reports
- Homes overview
- Verifying the installation
- Missing boot.properties
- Moving Applications home
- Set Java memory parameters
- Node Manager default configuration
- Configure automatic start of the servers/processes
- Miscellaneous
- Configure OCM
Documentation
- Forms and Reports Download, Installation, and Configuration ReadMe
- FMW System Requirements and Specifications for Oracle Forms and Reports
- FMW Installation Guide for Oracle Forms and Reports
- FMW Release Notes for Oracle Forms and Reports
Download the software
- Java SE Development Kit 7 – latests update
- Weblogic 10.3.6
- Weblogic 10.3.6 January 2014 PSU 10.3.6.0.7 Patch 17572726 (FCX7)
- Forms and Reports 11gR2 (11.1.2.2.0) disk 1
- Forms and Reports 11gR2 (11.1.2.2.0) disk 2
- Latest version of the OCM
Please notice
- Before using the direkt download links to http://download.oracle.com you need to login in to the site and accept a License Agreement. It does not matter which product you choose.
Prepare the OS
I am using Red Hat 6 64-bit. Check the System Requirements for UNIX Operating Systems. Also check Special Startup Requirements for Linux x86 or Linux x86-64 Operating Systems in the same document.
The kernel must be 2.6.32-100.28.5.el6 or newer.
[root@wintermute ~]# uname -r 2.6.32-358.23.2.el6.x86_64
This should install the needed packages
yum install binutils.x86_64 -y -q yum install compat-libcap1.x86_64 -y -q yum install compat-libstdc++-33.x86_64 -y -q yum install compat-libstdc++-33.i686 -y -q yum install gcc.x86_64 -y -q yum install gcc-c++.x86_64 -y -q yum install glibc.x86_64 -y -q yum install glibc.i686 -y -q yum install glibc-devel.i686 -y -q yum install libaio.x86_64 -y -q yum install libaio-devel.x86_64 -y -q yum install libgcc.x86_64 -y -q yum install libstdc++.x86_64 -y -q yum install libstdc++.i686 -y -q yum install libstdc++-devel.x86_64 -y -q yum install libXext.i686 -y -q yum install libXtst.i686 -y -q yum install openmotif.x86_64 -y -q yum install openmotif22.x86_64 -y -q yum install redhat-lsb.x86_64 -y -q yum install sysstat.x86_64 -y -q yum install xorg-x11-utils.x86_64 -y -q
I don’t check the version of the packages since I am using the latest Red Hat 6 release and assumes that the packages exists in the right versions.
[root@wintermute ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 6.5 (Santiago)
Since we are going to use the Oracle HTTP Server we need to verify that NPTL is used as the default threads-implementation.
[root@wintermute ~]# getconf GNU_LIBPTHREAD_VERSION NPTL 2.12
We need to check that SHMMAX is high enough for the Oracle Universal Installer.
[root@wintermute ~]# /sbin/sysctl -a | grep shmmax kernel.shmmax = 68719476736
Here we are OK. If your are not you must change this in /etc/sysctl.conf.
Since we use OPMN we need to insert the ip and hostname in the /etc/hosts file.
10.10.10.10 wintermute.theheat.dk wintermute
Change the open file limits in /etc/security/limits.conf to whatever is appropriate for you environment.
sed -i '/.*End of file/d' /etc/security/limits.conf echo "* soft nofile 65536" >> /etc/security/limits.conf echo "* hard nofile 65536" >> /etc/security/limits.conf echo "# End of file" >> /etc/security/limits.conf cat /etc/security/limits.conf
Create user, group and directories:
groupadd oinstall useradd -g oinstall -G oinstall oracle passwd oracle mkdir -p /u01/app/oracle/product mkdir -p /u01/tmp chown -R oracle:oinstall /u01/app/ chmod -R 775 /u01/app/ chown -R oracle:oinstall /u01/tmp/ chmod -R 775 /u01/tmp/
Set the umask for the oracle user. If you don’t want to set it in the .bash_profile at least set it manually when installing the software as suggested by Oracle.
su - oracle echo "umask 027" >> .bash_profile cat .bash_profile
Enabling Unicode Support in the .bash_profile for the oracle user. This is probably not needed. I picked it up in a MOS note for some FMW product, but I can’t find the note again 🙂
su - oracle echo "export LANG=\"en_US.UTF-8\"" >> .bash_profile cat .bash_profile
Install Java
tar xf jdk-7u51-linux-x64.tar.gz mv jdk1.7.0_51 /u01/app/oracle/product/.
I always create a softlink to the JDK and reference it everywhere. It makes is easier when you later have to upgrade java.
cd /u01/app/oracle/product ln -s jdk1.7.0_51 java_current
Test it.
[oracle@wintermute product]$ java_current/bin/java -version java version "1.7.0_51" Java(TM) SE Runtime Environment (build 1.7.0_51-b13) Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
Patch Java
Make sure that you always use that latest version of Java. Java is now part of the Oracle CPU patch program.
Install Weblogic server 10.3.6
Take care when downloading the wls1036_generic.jar file since some browsers will rename it to wls1036_generic.zip.
/u01/app/oracle/product/java_current/bin/java -jar \ -Djava.io.tmpdir=/u01/tmp wls1036_generic.jar -log=wls_install.log
-Djava.io.tmpdir is only needed if there is not enough tmp space.
Below I have ignored the screens where you can sign up for security updates etc.
Always install as little as possible. No examples, evaluation database and no Coherence unless you need it.
Here the Java soft link is “ignored” so we have to fix this later.
The Java soft link was “ignored” so we have to fix this:
cd /u01/app/oracle/product/forms112 grep -R jdk1.7.0_51 * find . -type f -exec sed -i "s/\/u01\/app\/oracle\/product\/jdk1.7.0_51/\/u01\/app\/oracle\/product\/java_current/g" {} \;
Install the latest Weblogic PSU
Oracle releases quarterly security updates. You can read more about CPU, SPU, PSU and BP patches here.
Weblogic 10.3.6 January 2014 PSU 10.3.6.0.7 Patch 17572726 (FCX7).
Make sure all WebLogic servers are stopped and remove any previously applied PSUs and associated overlay patches.
mkdir /u01/app/oracle/product/forms112/utils/bsu/cache_dir unzip p17572726_1036_Generic.zip cp FCX7.jar /u01/app/oracle/product/forms112/utils/bsu/cache_dir/. cp patch-catalog_20741.xml /u01/app/oracle/product/forms112/utils/bsu/cache_dir/patch-catalog.xml ls /u01/app/oracle/product/forms112/utils/bsu/cache_dir
Make sure that the patch-catalog_20741.xml is renamed to patch-catalog.xml!
cd /u01/app/oracle/product/forms112/utils/bsu/ ./bsu.sh -prod_dir=/u01/app/oracle/product/forms112/wlserver_10.3 \ -patchlist=FCX7 -verbose -install
Verify that the patch is installed.
. /u01/app/oracle/product/forms112/wlserver_10.3/server/bin/setWLSEnv.sh java weblogic.version
For example.
[oracle@wintermute ~]$ java weblogic.version WebLogic Server 10.3.6.0.7 PSU Patch for BUG17572726 Wed Nov 20 09:54:42 IST 2013 WebLogic Server 10.3.6.0 Tue Nov 15 08:52:36 PST 2011 1441050
Using WebLogic Server with JDK 7
When you use Java 7 you should read Using WebLogic Server with JDK 7.
You need to copy some jar files from the WebLogic installation to the Java installation.
mkdir /u01/app/oracle/product/java_current/jre/lib/endorsed cd /u01/app/oracle/product/forms112/modules cp javax.annotation_1.0.0.0_1-0.jar /u01/app/oracle/product/java_current/jre/lib/endorsed cp javax.xml.bind_2.1.1.jar /u01/app/oracle/product/java_current/jre/lib/endorsed cp javax.xml.ws_2.1.1.jar /u01/app/oracle/product/java_current/jre/lib/endorsed ls /u01/app/oracle/product/java_current/jre/lib/endorsed
I have no idea why we need those jars but remember to also copy them whenever you update/reinstall Java.
Install Forms/Reports version 11.1.2.2.0
Unzip the install kits.
unzip ofm_frmrpts_linux_11.1.2.2.0_64_disk1_1of2.zip unzip ofm_frmrpts_linux_11.1.2.2.0_64_disk1_2of2.zip
Start the installer.
cd Disk1 ./runInstaller -jreLoc /u01/app/oracle/product/java_current/jre
Below I have ignored the screens where you can sign up for security updates etc.
su - cd /u01/app/oracle/oraInventory ./createCentralInventory.sh
Output.
Setting the inventory to /u01/app/oracle/oraInventory Setting the group name to oinstall Creating the Oracle inventory pointer file (/etc/oraInst.loc) Changing permissions of /u01/app/oracle/oraInventory to 770. Changing groupname of /u01/app/oracle/oraInventory to oinstall. The execution of the script is complete
Notice that Forms and Reports are being installed in MIDDLEWARE_HOME/fr_binaries.
If you press Save you will be prompted for a place to save a response file you can use for silent installation.
su - cd /u01/app/oracle/product/forms112/fr_binaries ./oracleRoot.sh
There is no output from the script.
If you press Save you will be prompted for a place to store a file with information about the installation.
It contains this.
Type: Oracle Forms and Reports Installation Installed Applications Forms Reports Forms Builder Reports Builder Installed System Components OHS EM Agent
cd /u01/app/oracle/product/forms112 find . -type f -exec sed -i "s/\/u01\/app\/oracle\/product\/jdk1.7.0_51/\/u01\/app\/oracle\/product\/java_current/g" {} \;
Patch Forms/Reports
We have already applied the latest PSU for the WebLogic Server.
Oracle does not release proactive patches for Forms/Reports like PSU and BP patches, but they do provide SPU security patches. Currently there are non for this version, but there are 4 for 11.1.2.1. You should make sure you check for SPU patches each quarter from the CPU patch program.
I could not find any Interim patches a.k.a. One-Off patches. Make sure you check the release notes for patches. It is also a good idea to check the Recommended Patch Advisor on MOS.
If you are installing a patch make sure you always install the latest version of opatch from MOS before patching.
Configure Forms/Reports
The CONFIG_JVM_ARGS is set to speed things up if the system is low on entropy.
export CONFIG_JVM_ARGS="-Djava.security.egd=file:/dev/./urandom" cd /u01/app/oracle/product/forms112/fr_binaries/bin ./config.sh
Below I have ignored the screens where you can sign up for security updates etc.
Here we select “Configure for Deployment”. Among other things this also mean the domain is configured to run in Production Mode. This is a WebLogic server thing. Make sure you understand the difference between Production Mode and Development Mode.
In Forms 11g R1 you domain had to be placed in MIDDLEWARE_HOME/user_projects/domains. This has been fixed in R2 so now we can place it away form the software installation, as is best practice.
A Forms/Reports installation uses more that 10 different ports. If you want to decide which ports are used you can copy the Disk1/stage/Response/staticports.ini somewhere an edit it. You just need to “add” the ports you want to change to the file.
If you press Save you will be prompted for a place to save a response file you can use for silent installation.
If you press Save Installation Configuration you can save a file that contains this:
Type: Oracle Forms and Reports Installation Configuration Options Middleware Home Location: /u01/app/oracle/product/forms112 Oracle Home Location: /u01/app/oracle/product/forms112/fr_binaries Oracle Instance Location: /u01/app/oracle/product/forms112/instances/FRinst Oracle Instance: FRinst Domain Option: Create Domain Domain Name: FormsReports Domain Home: /u01/app/oracle/domains/FormsReports Domain Host Name: wintermute Domain Port No: 7001 User Name: weblogic Automatic Port Detection: false Administrator Console: http://wintermute:7001/console EM Console: http://wintermute:7001/em EMAgent URL: http://wintermute:5155/emd/main Forms URL: http://wintermute:8888/forms/frmservlet Reports URL: http://wintermute:8888/reports/rwservlet
Normally when you are finished with configuring a FMW domain, no processes are running. Forms/Reports works a bit different, so here everything should be up and running.
Have a look.
ps -ef | grep oracle
While it is nice and helpful that the domain configuration wizard has configured the Node Manager and started everything up, it is not without problems. In the following sections we will verify the installation and fix a couple of problems.
Homes overview
There is a wealth of homes in this installation:
Application Home | /u01/app/oracle/applications/FormsReports |
Domain Home | /u01/app/oracle/domains/FormsReports |
Instance Home | /u01/app/oracle/product/forms112/instances/FRinst |
Middleware Home | /u01/app/oracle/product/forms112 |
Oracle Common Home | /u01/app/oracle/product/forms112/oracle_common |
Oracle Home | /u01/app/oracle/product/forms112/fr_binaries |
Weblogic Server Home | /u01/app/oracle/product/forms112/wlserver_10.3 |
For more information check the Oracle Fusion Middleware Installation Planning Guide.
Verifying the Installation
You should have 4 WebLogic processes, an Admin Server, two Managed Servers and a Node Manager.
Here is the output from a bash script that lists running WebLogic Servers and Node Managers.
################################################################################ # WebLogic Servers # <owner> <domain> <server> <pid> <ports> ################################################################################ oracle FormsReports AdminServer 26915 7001 oracle FormsReports WLS_FORMS 3277 9001 oracle FormsReports WLS_REPORTS 27859 9002 ################################################################################ # Node Managers # <owner> <mw_home> <pid> <port> ################################################################################ oracle /u01/app/oracle/product/forms112 23674 5556
You should also have some system component processes.
cd /u01/app/oracle/product/forms112/instances/FRinst/bin ./opmnctl status -l
For example.
Processes in Instance: FRinst ------------------------+-------------------+-----+------+----------+-------+----------+----- ias-component | process-type | pid|status| uid |memused| uptime |ports ------------------------+-------------------+-----+------+----------+-------+----------+----- emagent_FRinst | EMAGENT |18737|Alive |957811805 | 63884|215:32:43 |N/A RptSvr_wintermute_FRinst| ReportsServerComp~|18736|Alive |957811804 | 63884|215:32:43 |N/A ohs1 | OHS |18735|Alive |957811803 | 384152|215:32:43 |https:8889,https:8890,http:8888
Verify that you can use the different URLs (Screenshots):
Administration Server Console – http://wintermute:7001/console
Enterprise Manager Console – http://wintermute:7001/em
Enterprise Manager Agent – http://wintermute:5155/emd/main
Oracle Forms – http://wintermute:8888/forms/frmservlet
Oracle Reports – http://wintermute:8888/reports/rwservlet
If you are not sure which ports are used check this file: /u01/app/oracle/product/forms112/fr_binaries/install/portlist.ini
#Sun Feb 09 18:30:56 CET 2014 OPMN_LOCAL_PORT=6700 OHS_LISTEN_PORT=8888 WLS_FORMS_PORT=9001 OHS_SSL_PORT=8890 OHS_PROXY_PORT=8889 WLS_REPORTS_PORT=9002 OPMN_REQUEST_PORT=6702 OPMN_REMOTE_PORT=6701 DOMAIN_PORT=7001 NODE_MANAGER_PORT=-1 EMAGENT_PORT=5155
Missing boot.properties
The domain configuration wizard has configured the domain to use a Node Manager. The Node Manager can help you stop/start the WebLogic Servers in the domain and also monitor if a server is crashed and need restarting. If you stop the two Managed Servers and the Admin Server via the Admin Console you have to use the Node Manager to start them again.
You can do it via WLST.
. /u01/app/oracle/product/forms112/wlserver_10.3/server/bin/setWLSEnv.sh java weblogic.WLST -skipWLSModuleScanning nmConnect(username='weblogic', password='welcome1', domainName='FormsReports', domainDir='/u01/app/oracle/domains/FormsReports', nmType='ssl', port='5556', host='wintermute') nmStart('AdminServer')
But it does not work here. When we try we get “Authentication for user denied” in the log file. The reason is that we are missing a boot.properties file.
When you start a WebLogic server you must be authenticated to be allowed to start the server. When you start the Admin Server as a foreground process via the startWebLogic.sh script you will be prompted to input an username and password. This is normally not desirable, so you can instead create a boot.properties file with the username and password. When you create a domain in Development Mode via the Config wizard the file will automatically be created for you. But if you use Production Mode it will not, so we have to create it ourself.
mkdir /u01/app/oracle/domains/FormsReports/servers/AdminServer/security cd /u01/app/oracle/domains/FormsReports/servers/AdminServer/security echo "username=weblogic" >> boot.properties echo "password=welcome1" >> boot.properties cat boot.properties
The file will be encrypted first time it is used.
You can also check this tutorial from the Oracle Learning Library.
Now you should be able to start the Admin Server and the Managed Servers via the Node Manager.
Moving Applications home
As already mentioned, Forms 11g R1 domains had to be placed in MIDDLEWARE_HOME/user_projects/domains. While this has been fixed so you can input the location of your domains in the domain configuration wizard, applications home is still default created in MIDDLEWARE_HOME/user_projects/applications. You cannot change the location in the wizard as you can for other FMW products. It is a simple procedure to move it though. Before executing the below you must first stop all the 3 WebLogic Servers.
cd /u01/app/oracle/product/forms112/user_projects mv applications /u01/app/oracle/. rm -rf /u01/app/oracle/product/forms112/user_projects
Now you need to change source-path for the em.ear in the config.xml in /u01/app/oracle/domains/FormsReports/config.
<app-deployment> <name>em</name> <target>AdminServer</target> <module-type>ear</module-type> <source-path>/u01/app/oracle/applications/FormsReports/em.ear</source-path> <deployment-order>400</deployment-order> <security-dd-model>DDOnly</security-dd-model> <staging-mode>nostage</staging-mode> </app-deployment>
You also need to change APPLICATIONS_DIRECTORY in DOMAIN_HOME/bin/setDomainEnv.sh.
APPLICATIONS_DIRECTORY="/u01/app/oracle/applications/FormsReports"
Now you can start the WebLogic Servers up again and should be able to access the Enterprise Manager Console at http://wintermute:7001/em.
Set Java memory parameters
You can set the Java memory parameters in several ways. I normal do this in DOMAIN_HOME/bin/setDomainEnv.sh
Development Mode
# ************************************************************************* # lorenzenp Begin # ************************************************************************* if [ "${SERVER_NAME}" = "" ] ; then SERVER_NAME="AdminServer" export SERVER_NAME fi if [ "${SERVER_NAME}" = "AdminServer" ] ; then USER_MEM_ARGS="-Xms256m -Xmx768m -XX:MaxPermSize=350m -Djava.security.egd=file:/dev/./urandom" elif [ "${SERVER_NAME}" = "WLS_FORMS" ] ; then USER_MEM_ARGS="-Xms768m -Xmx1024m -XX:MaxPermSize=350m -Djava.security.egd=file:/dev/./urandom" elif [ "${SERVER_NAME}" = "WLS_REPORTS" ] ; then USER_MEM_ARGS="-Xms768m -Xmx1024m -XX:MaxPermSize=350m -Djava.security.egd=file:/dev/./urandom" fi # ************************************************************************* # lorenzenp End # *************************************************************************
Production Mode
# ************************************************************************* # lorenzenp Begin # ************************************************************************* if [ "${SERVER_NAME}" = "" ] ; then SERVER_NAME="AdminServer" export SERVER_NAME fi if [ "${SERVER_NAME}" = "AdminServer" ] ; then USER_MEM_ARGS="-Xms256m -Xmx768m -XX:MaxPermSize=350m" elif [ "${SERVER_NAME}" = "WLS_FORMS" ] ; then USER_MEM_ARGS="-Xms1024m -Xmx1024m -XX:MaxPermSize=350m" elif [ "${SERVER_NAME}" = "WLS_REPORTS" ] ; then USER_MEM_ARGS="-Xms1024m -Xmx1024m -XX:MaxPermSize=350m" fi # ************************************************************************* # lorenzenp End # *************************************************************************
In Development Mode I have added a parameter to take care of any entropy problems.
In Production Mode -Xms and -Xmx should always contain the same value for Managed Servers.
Every FMW product seems to have it’s own twist on setting Java parameters. For Forms you need to remove the below entries from setDomainEnv.sh.
If you don’t the memory parameters will be set several times. You can use “ps -ef | grep oracle” to check if they are set correct.
Node Manager default configuration
The Node Manager has been configured by the domain configuration wizard. This is nice but I have some issues with the way it has been done.
When you access the Node Manager you need to authenticate via a username/password. Default the WebLogic Server users are stored in the build-in LDAP server. The Node Manager user is not a WebLogic Server user and is not stored in the LDAP. When the Admin Server needs to access the Node Manager it uses the username and password stored in the DOMAIN_HOME/config/config.xml file.
The Node Manager will verify the provided username and password against the nm_password.properties file in DOMAIN_HOME/config/nodemanager.
The domain configuration wizard we used to create the domain has created a LDAP user and a Node Manager user. They have the same user name and password. This can be bit difficult to figure out for new users. I believe that they should not have the same username or password, so I always change the Node Manager username and password.
The domain configuration wizard has configured the Node Manager to use SSL/TLS to protect the communication to the Node Manager. A Self-signed SSL certificate is used. I don’t like this. Either you use real certificates or you do not use SSL. I therefore normally remove SSL from the Node Manager.
The main Node Manager configuration is stored in the nodemanager.properties file in /u01/app/oracle/product/forms112/wlserver_10.3/common/nodemanager.
I normally change 3 default settings.
CrashRecoveryEnabled=false JavaHome=/u01/app/oracle/product/jdk1.7.0_51/jre ListenAddress=
To this.
CrashRecoveryEnabled=true JavaHome=/u01/app/oracle/product/java_current/jre ListenAddress=localhost
This should do it.
cd /u01/app/oracle/product/forms112/wlserver_10.3/common/nodemanager sed -i 's/CrashRecoveryEnabled=false/CrashRecoveryEnabled=true/g' nodemanager.properties sed -i 's/JavaHome=.*/javaHome=\/u01\/app\/oracle\/product\/java_current\/jre/g' nodemanager.properties sed -i 's/ListenAddress=.*/ListenAddress=localhost/g' nodemanager.properties cat nodemanager.properties
CrashRecoveryEnabled controls if the Node Manager will try to restart a WebLogic servers after a system crash, for example if the Linux server boots. I do not understand why it is default set to false. I always change it to true.
I normally set ListenAddress=localhost unless it is for a WebLogic cluster where I set it to the server name.
Configure automatic start of the servers/processes
Forms/Reports uses both Java and system components. The Java components are controlled via the Node Manager and the system components via the OPMN. The OPMN is an Oracle legacy thing. I will be replaced by the Node Manager in the next main FMW release. We need a couple of scripts to start the components when the server boots. Here are two simple examples.
/etc/init.d/formsNodeManager
/etc/init.d/opmn
Add them.
su - cd /etc/init.d chkconfig --add formsNodeManager chkconfig --level 35 formsNodeManager on chkconfig --list formsNodeManager chkconfig --add opmn chkconfig --level 35 opmn on chkconfig --list opmn
Boot the server and check if everything starts up.
Notice that the Node Manager will only start a WebLogic server after a boot if CrashRecoveryEnabled is true and if the WebLogic servers was in the RUNNING state before the boot. The WebLogic server also had to be started by the Node Manager before the boot. If you for example manually start a WebLogic server via the startWebLogic.sh script and them boot the server, the Node Manager has not saved the servers state and will not try to start it up. If you stop a WebLogic server via the Admin Console and boot the server, the Node Manager will not try to start the WebLogic servers since it was in the SHUTDOWN state before the boot.
Miscellaneous
You should audit the Logging settings for the domain and the servers to make sure log rotation is configured.
You should configure Configuration Archiving for the domain.
For development servers it is a good idea to change Max Restarts Within Interval.
If you use you own jar files or third-party jars like Jacob you need to sign them and change the manifest. Have a look at this post.
Have a look at Oracle Fusion Middleware Securing a Production Environment for Oracle WebLogic Server 11g. It is of cause only the top of the iceberg but is a start
Configure OCM
If your servers has access to the Internet OCM will automatically download the latest version. If not you should download it yourself and install it manually.
. /u01/app/oracle/domains/FormsReports/bin/setDomainEnv.sh export ORACLE_HOME=/u01/app/oracle/product/forms112/utils export JAVA_HOME=/u01/app/oracle/product/java_current cd $ORACLE_HOME/ccr/bin ./setupCCR -s 12345678 nobody@cgi.com DK
Verify that it is working:
cd $ORACLE_HOME/ccr/bin ./emCCR start ./emCCR status ./emCCR -register test ./emCCR -verbose test ./emCCR register ./emCCR collect ./emCCR upload ./emCCR disable_target
Feedback
If you feel that I am missing something or find mistakes please tell me. I always want to learn!
{ 25 comments }
I am working on Oracle linux server 6.5. I have successfully installed WebLogic Server 10.3.5.0 and Oracle Forms and Reports 11gR2 (11.1.2.2.0) but when i am trying to configure it I am getting following error.
Creating a new AdminServer Object …
AdminServer port is 7001
Starting the domain …
oracle.as.provisioning.util.ConfigException:
Error while starting the domain.
Cause:
An error occurred while starting the domain.
Action:
See logs for more details.
at oracle.as.provisioning.util.ConfigException.createConfigException(ConfigException.java:123)
at oracle.as.provisioning.weblogic.ASDomain.startDomain(ASDomain.java:3180)
at oracle.as.provisioning.weblogic.ASDomain.startDomain(ASDomain.java:3043)
at oracle.as.provisioning.engine.WorkFlowExecutor._startAdminServer(WorkFlowExecutor.java:1645)
at oracle.as.provisioning.engine.WorkFlowExecutor._createDomain(WorkFlowExecutor.java:635)
at oracle.as.provisioning.engine.WorkFlowExecutor.executeWLSWorkFlow(WorkFlowExecutor.java:391)
at oracle.as.provisioning.engine.Config.executeConfigWorkflow_WLS(Config.java:866)
at oracle.as.install.classic.ca.standard.StandardWorkFlowExecutor.execute(StandardWorkFlowExecutor.java:65)
at oracle.as.install.classic.ca.standard.AbstractProvisioningTask.execute(AbstractProvisioningTask.java:26)
at oracle.as.install.classic.ca.standard.StandardProvisionTaskList.execute(StandardProvisionTaskList.java:61)
at oracle.as.install.classic.ca.ClassicConfigMain.doExecute(ClassicConfigMain.java:124)
at oracle.as.install.engine.modules.configuration.client.ConfigAction.execute(ConfigAction.java:375)
at oracle.as.install.engine.modules.configuration.action.TaskPerformer.run(TaskPerformer.java:88)
at oracle.as.install.engine.modules.configuration.action.TaskPerformer.startConfigAction(TaskPerformer.java:105)
at oracle.as.install.engine.modules.configuration.action.ActionRequest.perform(ActionRequest.java:15)
at oracle.as.install.engine.modules.configuration.action.RequestQueue.perform(RequestQueue.java:96)
at oracle.as.install.engine.modules.configuration.standard.StandardConfigActionManager.start(StandardConfigActionManager.java:186)
at oracle.as.install.engine.modules.configuration.boot.ConfigurationExtension.kickstart(ConfigurationExtension.java:81)
at oracle.as.install.engine.modules.configuration.ConfigurationModule.run(ConfigurationModule.java:86)
at java.lang.Thread.run(Thread.java:662)
Caused by: oracle.as.provisioning.util.ConfigException:
Error while starting the domain.
Cause:
Starting the Admin_Server timed out.
Action:
See logs for more details.
at oracle.as.provisioning.util.ConfigException.createConfigException(ConfigException.java:123)
at oracle.as.provisioning.weblogic.ASDomain.startDomain(ASDomain.java:3150)
… 18 more
oracle.as.provisioning.exception.ASProvisioningException
at oracle.as.provisioning.engine.Config.executeConfigWorkflow_WLS(Config.java:872)
at oracle.as.install.classic.ca.standard.StandardWorkFlowExecutor.execute(StandardWorkFlowExecutor.java:65)
at oracle.as.install.classic.ca.standard.AbstractProvisioningTask.execute(AbstractProvisioningTask.java:26)
at oracle.as.install.classic.ca.standard.StandardProvisionTaskList.execute(StandardProvisionTaskList.java:61)
at oracle.as.install.classic.ca.ClassicConfigMain.doExecute(ClassicConfigMain.java:124)
at oracle.as.install.engine.modules.configuration.client.ConfigAction.execute(ConfigAction.java:375)
at oracle.as.install.engine.modules.configuration.action.TaskPerformer.run(TaskPerformer.java:88)
at oracle.as.install.engine.modules.configuration.action.TaskPerformer.startConfigAction(TaskPerformer.java:105)
at oracle.as.install.engine.modules.configuration.action.ActionRequest.perform(ActionRequest.java:15)
at oracle.as.install.engine.modules.configuration.action.RequestQueue.perform(RequestQueue.java:96)
at oracle.as.install.engine.modules.configuration.standard.StandardConfigActionManager.start(StandardConfigActionManager.java:186)
at oracle.as.install.engine.modules.configuration.boot.ConfigurationExtension.kickstart(ConfigurationExtension.java:81)
at oracle.as.install.engine.modules.configuration.ConfigurationModule.run(ConfigurationModule.java:86)
at java.lang.Thread.run(Thread.java:662)
Caused by: oracle.as.provisioning.exception.ASProvWorkflowException: Error Executing workflow.
at oracle.as.provisioning.engine.WorkFlowExecutor._createDomain(WorkFlowExecutor.java:686)
at oracle.as.provisioning.engine.WorkFlowExecutor.executeWLSWorkFlow(WorkFlowExecutor.java:391)
at oracle.as.provisioning.engine.Config.executeConfigWorkflow_WLS(Config.java:866)
… 13 more
I am new in Oracle forms and report.. Please help.
Peter. Great post. It has been very helpful.
I have followed every step in your instructions however I get a failure on the installation of the step creating reports server components during the configuration process. This happens on a fresh install.
The inventory log the inventory log: /oracle/oraInventory/logs/install….
has the last lines of:
[2014-04-29T12:00:44.129+03:00] [as] [TRACE:16] [] [oracle.as.config] [tid: 44] [ecid: 0000KMgS8vUFCCWFLzzG8A1JNp4w00000Z,0] [SRC_CLASS: oracle.as.config.utl.FileUtil] [SRC_METHOD: isWebsphereEnabled] Java property is not defined. isWebsphereEnabled=false
[2014-04-29T12:00:44.130+03:00] [as] [TRACE:16] [] [oracle.as.config] [tid: 44] [ecid: 0000KMgS8vUFCCWFLzzG8A1JNp4w00000Z,0] [SRC_CLASS: oracle.as.config.utl.FileUtil] [SRC_METHOD: isWebsphereEnabled] Java property is not defined. isWebsphereEnabled=false
[2014-04-29T12:00:44.131+03:00] [as] [TRACE:16] [] [oracle.as.config] [tid: 44] [ecid: 0000KMgS8vUFCCWFLzzG8A1JNp4w00000Z,0] [SRC_CLASS: oracle.as.config.utl.FileUtil] [SRC_METHOD: isWebsphereEnabled] Java property is not defined. isWebsphereEnabled=false
[2014-04-29T12:00:44.132+03:00] [as] [TRACE:16] [] [oracle.as.config] [tid: 44] [ecid: 0000KMgS8vUFCCWFLzzG8A1JNp4w00000Z,0] [SRC_CLASS: oracle.as.config.impl.OracleASInstanceProvisioner] [SRC_METHOD: directoryIsPopulated] directoryIsPopulated found unexcluded file/dir: /oracle/Oracle/Middleware/asinst_1/FRComponent
[2014-04-29T12:00:44.132+03:00] [as] [TRACE:32] [] [oracle.as.config] [tid: 44] [ecid: 0000KMgS8vUFCCWFLzzG8A1JNp4w00000Z,0] [SRC_CLASS: oracle.as.config.impl.OracleASInstanceProvisioner] [SRC_METHOD: calcDirectoryStatus] Oracle Instance directory status: INSTANCE
Apparently this is the same issue as seen here: https://community.oracle.com/thread/3553308
Any further assistance would be greatly appreciated.
Hi John,
Hmm not sure what is happening here. What is in your /etc/hosts?
Regards Peter
Hi Peter,
My /etc/hosts file has my IP address (from ifconfig) and my hostname from the command hostname. This is on the last line of the /etc/hosts/ file.
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
I receive no errors until the very last part of the “Configuration Progress” after running through the “Configure for Deployment” process. Specifically it fails on one of the very last steps “Creating Reports Server Components”.
here is my /etc/hosts file
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
123.34.56.789 myhostnamehere
Hi Peter,
Your comment to check the etc file was correct. Somehow I placed the wrong hostname in the file. I fixed that error and now everything is working properly.
Great Article. Very helpful.
Hi Peter,
First of all my hearty congratulations for a wonderful aricle. It was my first install into deploying forms and reports and you made it look easy. You writing is like reading a book with lots of links and notes for a noob like me to understand whats weblogic and fusion middleware is all about. Although, i faced few issues, i was able to overcome them in the last 2 days. It took me 2 days from scratch to build OS and complete the installation. I installed forms/reports server on OEL 32 bit 6.5 on my win 7 64 bit laptop with oracle virtual box. You did an amazing job in adding your experience about low entropy and startup. Now that i am done with this, i was looking for a blog on how to deploy forms/reports. May be you should consider writing one. So here are some of the issues i faced and the resolution.
Versions:
Weblogic 10.3
Fusion Middleware: 11.1.2
1) During configuration, opmnctl startproc ias-component failed:
Error message in logfile $MW_HOME//diagnostics/logs/ReportsServerComponent/ReportsServer__/rwserver_diagnostic.log:
Broadcasting is disabled. Please enable cosnaming for Reports discovery.
Command that caused this error:
/u01/app/oracle/product/FormsReports/Oracle_FRHome1/perl/bin/perl /u01/app/oracle/product/FormsReports/instances/FRInst1/bin/opmnctl startproc ias-component=RptSvr_reportserver_FRInst1
Fix:
Fixed by SELinux turned off
# service iptables save
# service iptables stop
# chkconfig iptables off
Hit retry on the GUI.
2) Fixing boot.properties for managed servers:
I created file /u01/app/oracle/domains/FormsReports/servers/AdminServer/security/boot.properties and put in the username/password as you did. But for the managed servers to work without asking password, i had to do the following:
cd /u01/app/oracle/domains/FormsReports/servers/WLS_FORMS/security/
ln -s /u01/app/oracle/domains/FormsReports/servers/AdminServer/security/boot.properties
cd /u01/app/oracle/domains/FormsReports/servers/WLS_REPORTS/security/
ln -s /u01/app/oracle/domains/FormsReports/servers/AdminServer/security/boot.properties
3) nmServerStatus(‘WLS_FORMS’) and nmServerStatus(‘WLS_REPORTS’) show status unknown
This is due to the fact that the managed servers were not started from node manager but from the admin console. So the initial properties file were missing.
Error:
weblogic.management.ManagementException: Booting as admin server, but servername, WLS_REPORTS, does not match the admin server name, AdminServer
Reference:
http://www.weblogic-tips.com/2012/02/18/starting-managed-servers-without-an-administration-server-using-node-manager-and-wlst/
https://community.oracle.com/thread/1107204?start=0&tstart=0
Fix:
source ~oracle/.profile ; source ${WL_HOME}/server/bin/setWLSEnv.sh
java weblogic.WLST -skipWLSModuleScanning
print ‘START NODE MANAGER’;
startNodeManager(verbose=’true’, NodeManagerHome=nodemanagerhomelocation, ListenPort=’5556′, ListenAddress=’reportserver’);
print ‘CONNECT TO NODE MANAGER’;
nmConnect(username=’weblogic’, password=’password’, domainName=’FormsReports’, domainDir=’/u01/app/oracle/domains/FormsReports’, nmType=’ssl’, port=’5556′, host=’reportserver’)
print ‘START ADMIN SERVER’;
nmStart(‘AdminServer’);
nmServerStatus(‘AdminServer’);
print ‘START MANAGED SERVER’;
nmStart(‘WLS_FORMS’)
nmServerStatus(‘WLS_FORMS’)
print ‘CONNECT TO ADMIN SERVER’;
connect(‘weblogic’,’password’,’t3://reportserver:7001′)
print ‘START MANAGED SERVER’;
start(‘WLS_REPORTS’,’Server’)
nmServerStatus(‘WLS_REPORTS’)
nmKill(‘WLS_REPORTS’);
nmKill(‘WLS_FORMS’);
From now on, nmStart(‘WLS_REPORTS’) should also work fine.
Well keep up your good work. Thank you.
Thanks for your comments nisusa
Is there a way you can updload an virtual instance of any OS with oracle form and reports ? I’ve tried to install it multiple times without success and a need to learn form and reports for next wednesday
Sorry that is not possible.
Hi John
This document was extremely helpful. Many things have changed since OFM 11.1.1.6 and your document got me through some much of the process. Thank you for a well written document.
I have just one question. What does the $LD_LIBRARY_PATH setting for the linux x86-64 need to be? i have an existing WLS/OFM on a linux x86 server and the value is set to
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:$ORACLE_HOME/jdk/jre/lib/i386:$ORACLE_HOME/jdk/jre/lib/i386/server:$ORACLE_HOME/jdk/jre/lib/i386/native_threads
i do not see anything like that on this server. Any suggestions as to what it might be if it is needed at all?
thank you
Hi,
LD_LIBRARY_PATH does not need to be set for Forms/Reports to work. I would remove it.
Regards Peter
This article is very good. I did followed this article without missing any steps to upgrade Form&Report from relase-1 to relase-2 and got successful.
Many thanks for a such clear steps.
H Peter,
As others have already said, great article. Very informative and helpful for a newbie like me.
I am building two servers and want the name of the ias-component (eg. RptSvr_wintermute_FRinst) for the reports server to be the same on both servers? By default the server name is used. Do you know if there is a way to change that name at the time of install or after install? The forms and reports application I am using uses the reports server name in a configuration table so they can run reports. Therefore, I need the name of the component to be the same on both machines (primary, failover).
Thanks,
Bobby
Hi Bobby,
Sorry I don’t know.
Regards Peter
Hi Pete,
Thanks for this. I have installed all this without any (well, not much) difficulty. I have 2 Vms – 1 with Oracle 11g DB, and the second with this weblogic/forms/reports . I want to create a small test form and run that and connect to a database table in VM1. Is there any tutorials on how to do this?
Kind Regards,
Ash
Hi Ash,
Sorry I do not know of such a tutorials.
Regards Peter
Hi Bobby,
You cannot have two reports with the same name on the same subnet.
Because reports uses multicast, and the name needs to be unique.
You can create and delete reports using command like “opmnctl create component ….”.
To solve the problem to have the same reports name on both servers, you can use ” reports_servermap”.
Regards
Hi Pete,
have you ever done Forms/reports 11.1.1.7 (with ohs/web cache) upgrade to 11gR2? or do you know who did this? Thanks.
Regards,
Leo
Hi Leo,
No I have not tried it.
Regards Peter
Hi Peter,
Thank you very much for this post. I was trying to install oracle forms11g in linux oracle but at the end of the installation creation of domain was failed. I followed your step and now successfully installed.
Thanks again.
Regards.
Hi peter
I am very much thankful for you useful information i install to many time weblogic.
With regards
Abdulwajid khan
Muchas gracias por la informaciĂłn.
Good useful guide. Thanks.
Dear Peter,
May Thanks for your support document to installed the oracle weblogic server forms and reports configure, kindly provide the SSO configuration.
I really appreciate your help and support.
With regards
Abdulwajid khan
Comments on this entry are closed.