Part I: O/S Setup
Running Oracle Forms/Reports linux is completely impossible on any platform other then 64-bit Linux. Yes, the certification documentation may indicate you can run on 32-bit Linux; but in reality you can’t. That is because at their minimal configurations the process will consume 3 gig’s of RAM just sitting there idling. So given you can only allocate 4 gigs of RAM in 32 bit Linux you can see where the problem exists. If you dig deep in the Oracle documentation you actually find that they require 6 gig’s of RAM for a bare-bones system. With that in mind we have the following:
Red Hat Enterprise Linux 5.6 64-bit (RHEL)
4 Gig’s of RAM (You can squeeze by with 2 in DEV if need be)60 gigs of virtual storage mounted as /app/infra
1 virtual CPU
3 gigs of /tmp space (Necessary for web-logic to install)
3 gigs of swap space
The first action is to create a service account to own all of the software. We need to create the groups “dba” & “oinstall”. Next we need to create a user (which is “oracle” of course) to be granted access to those groups:
groupadd dba
groupadd oinstalluseradd –g dba –G oinstall oracle
passwd oracle
We also need to install a bunch of packages in RHEL to satisfy future dependence needs. This can be accomplished with the following yum command executed as root:
yum install binutils-2.* elfutils-libelf-0.* glibc-2.* glibc-common-2.* libaio-0.* libgcc-4.* libstdc++-4.* make-3.* compat-libstdc++-33* elfutils-libelf-devel-0.* glibc-devel-2.* gcc-4.* gcc-c++-4.* libaio-devel-0.* libstdc++-devel-4.* unixODBC-2.* unixODBC-devel-2.* sysstat-7 xhost xclock xdpyinfo libXp libXtst gdbm.i386* libXp*.i386*
Now we need to re-configure the server’s operational parameters to give the various fusion middleware components the resources it needs to operate. Your numbers will differ based upon your hardware specs, but in /etc/sysctl.conf you will need to change theses:
and append theses to the end of the file:
kernel.sem = 250 32000 100 128
net.core.rmem_default=4194304
net.core.rmem_max=4194304
net.core.wmem_default=262144
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65500
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
kernel.shmmni = 4096
followed by this command to make the kernel changes take-effect:
/sbin/sysctl -p
Next we need to modify /etc/security/limits.conf and append the following to the file:
oracle soft nproc 2047
oracle hard nproc 16384oracle soft nofile 1024
oracle hard nofile 65536
and append this to /etc/pam.d/login:
session required pam_limits.so
Since fusion middleware runs a jillion different process, which would take forever to correctly configure with SELinux, we disable SELinux by editing /etc/selinux/config and setting this:
SELINUX=disabled
Finally, at this point we should bounce the server. We have pushed through a lot of changes and a nice clean bounce is advisable before continuing. Also, because of the complexities associated with fussion middleware and the fact that we are installing all the infrastructure components on the same machine with same service account a robust profile for oracle is strongly recommend.
Part II: Install Web-logic
The biggest challenging in installing OAS 11g is locating the components you need to install! I strongly recommend you pull any software you need from edelivery.oracle.com. The downloads may be slow; but usually the organization format is much better and the usually have the install software installed followed by patchsets. Remember patchsets are cumulative in 11g so it is save to install the software and then install the highest patchset and you are good to go. Assuming we have the latest version of Weblogic, which at the time of this writing is 10.3.5, we can begin the install by unzipping the file and issuing this command::
java –jar –d64 wls1035_generic.jar
During the installation un-check the “Coherence” components and un-check the evaluation database and specify the following for the installation path: /app/mid/wl-home. At the end of the installation be sure to un-check launch startup screen: We will configure the domain at the same time we configure the forms/reports/discoverer components.
Part IV: Install Forms/Reports software
From edelivery.oracle.com download 11.1.1.2 & 11.1.1.4 Forms/Reports/Discover software. Once you have all the components downloaded unzip them and make sure the “Disk” directories are all in the same folder and sequential to each other (IE Disk1, Disk2, etc) Once that is done execute the “setup.exe” located in disk one. Use the following for the Oracle home location:
/app/mid/wl-home/as_1
Once the installer is finished repeat the process and install the 11.1.1.4 patchset.
Following the patchset install we need to install a one-off patch to deal with a specific error that impacts compling forms. Download patch 9473270 and install it with opatch following by the following series of commands:
Cd $ORACLE_HOME/forms/lib
make -f ins_forms.mk frmcmp_install
make –f ins_forms.mk frmbld_installmake –f ins_forms.mk frmcmpb_install
make –f ins_forms.mk frmweb_install
Which causes another series of problems that need to be fixed by following note 1218994.1 and relinkings the reports process.
Part V: Configure WebLogic and Forms/Reports stack
Once both the base install, and the patchset, have been installed we can now configure the software. To do this execute the following command:
ORACLE_HOME/bin/config.sh
This will begin the process to actually configure a running instances of the software. From the configuration menu select the following components:
- Oracle Forms
- Oracle Reports
- Oracle Forms Builder
- Oracle Reports Builder
- Oracle HTTP Server
/app/mid/wl-home/asinst
And the following for the domain name to something a bit more descriptive: FormsDomain
Once the software finishes configuring we can verify everything is operating correctly by logging into the domain control:
http://<hostname>:7001/console
Following the configuration of the software we need to setup a boot.properties file so we don’t have to specify weblogic credentials for the admin server and the various domain components. This can be accomplished by creating the boot.properties file in the following locations:
/app/mid/wl-home/user_projects/domains/FormsDomain/servers/AdminServer/security
/app/mid/wl-home/user_projects/domains/FormsDomain/servers/WLS_FORMS\security/app/mid/wl-home/user_projects/domains/FormsDomain/servers/WLS_REPORTS\security
The file format should be as follows:
username=weblogic
password=<password>The file will automatically encrypt itself on the next server startup and I recommend restarting the entire stack at this point to test the changes:
stopManagedWebLogic.sh WLS_FORMS
stopManagedWebLogic.sh WLS_REPORTSopmnctl stopall
stopWebLogic.sh
followed by:
startWebLogic.sh &
opmnctl startall
startManagedWebLogic.sh WLS_FORMS
startManagedWebLogic.sh WLS_REPORTS
Also, we can remove the default report server with the following command:
opmnctl deletecomponent -adminUsername weblogic -adminHost localhost -adminPort 7001 -oracleHome /app/mid/wl-home/as_1 -oracleInstance /app/mid/wl-home/asinst -instanceName asinst -componentName <report name> -componentType ReportsServerComponent
Part VI: Configure Web-Util
The components/configuration for web-util are mostly in place, but we need to copy the in the Jacob.jar file to $ORACLE_HOME/forms/java and Jacob.dll to $ORACLE_HOME/forms/webutil. Can't rember the exact URL, but make sure you dowload version 1.10.1 as specified in note 1137293.1
ln –s /etc/init.d/orainit K99orainit
#!/bin/sh
# description: webLogic adminServer and managedServer start scriptWLS_DOMAIN=FormsDomain
WLS_BASE=/app/mid/wl-home
WLS_HOME=${WLS_BASE}/user_projects/domains/$WLS_DOMAIN
WLS_NODE_HOME=${WLS_BASE}/wlserver/server/bin
WLS_OWNER=oracle
WLS_ADMIN_PORT=7001
WLS_ADMIN_LOGIN=weblogic
WLS_ADMIN_PWD=admin
WLS_LOG_START=${WLS_BASE}/logs/start.`date '+%d%m%y'`.log
WLS_LOG_STOP=${WLS_BASE}/logs/stop.`date '+%d%m%y'`.log
WLS_MANAGED_SERVER1=WLS_FORMS
export ORACLE_INSTANCE=/app/mid/wl-home/asinst
export ORACLE_HOME=/app/mid/wl-home/as_1
if [ ! -f $WLS_HOME/startWebLogic.sh ]
then
echo "WebLogic startup: cannot $WLS_HOME/startWebLogic.sh "exit
fi
startWeblogic()
{
#start node manager
su $WLS_OWNER -c "nohup $WLS_NODE_HOME/startNodeManager.sh > ${WLS_LOG_START} 2>&1 &"
sleep 10
#start admin server
su $WLS_OWNER -c "nohup $WLS_HOME/startWebLogic.sh >> ${WLS_LOG_START} 2>&1 &"
sleep 10
#start OHS proccess
su $WLS_OWNER -c "nohup ${ORACLE_HOME}/opmn/bin/opmnctl startall &"
sleep 30
#Start the rest of the IDM proccess
su $WLS_OWNER -c "nohup $WLS_HOME/bin/startManagedWebLogic.sh $WLS_MANAGED_SERVER1 >> $WLS_LOG_START 2>&1 &"
sleep 10}
stopWeblogic()
{
#Stop node manager
su $WLS_OWNER -c "nohup $WLS_NODE_HOME/stopNodeManager.sh > $WLS_LOG_STOP 2>&1 &"
sleep 10
#Stop managed nodes
su $WLS_OWNER -c "nohup $WLS_HOME/bin/stopManagedWebLogic.sh $WLS_MANAGED_SERVER1 t3://localhost:$WLS_ADMIN_PORT >> $WLS_LOG_STOP 2>&1 &"
sleep 10
#stop OHS proccess
su $WLS_OWNER -c "nohup ${ORACLE_HOME}/opmn/bin/opmnctl stopall &"sleep 30
#Stop admin serversu $WLS_OWNER -c "nohup $WLS_HOME/bin/stopWebLogic.sh >> $WLS_LOG_STOP 2>&1 &"
sleep 10
}
case "$1" in
'start')
startWeblogic;;
'stop')
stopWeblogic
;;
'restart')
stopWeblogic
startWeblogic
;;
*)
echo "Usage: $0 start|stop|restart"
exit 1
;;
esac
Finally, at long last you have finished setting up a forms instance. Remember the good old days of 10g when everything was done for you in one shot? L
No comments:
Post a Comment