smonitorr CD User’s G...

Here is my experiences with installing Forms and Reports 11.1.2.2.0 on Red Hat 6 (64-bit) using Java 7.
Documentation
Download the software
Please notice
Before using the direkt download links to
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 . Also check
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
that NPTL is used as the default threads-implementation.
[root@wintermute ~]# getconf GNU_LIBPTHREAD_VERSION
to check that SHMMAX is high enough for the Oracle Universal Installer.
[root@wintermute ~]# /sbin/sysctl -a | grep shmmax
kernel.shmmax =
Here we are OK. If your are not you must change this in /etc/sysctl.conf.
Since we use OPMN we
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
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
[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 .
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 .
Weblogic 10.3.6 January 2014 PSU 10.3.6.0.7 Patch
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 p6_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 BUG Wed Nov 20 09:54:42 IST 2013
WebLogic Server 10.3.6.0
Tue Nov 15 08:52:36 PST
Using WebLogic Server with JDK 7
When you use Java 7 you should read .
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.
./runInstaller -jreLoc /u01/app/oracle/product/java_current/jre
Below I have ignored the screens where you can sign up for security updates etc.
cd /u01/app/oracle/oraInventory
./createCentralInventory.sh
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.
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 Builder
Reports Builder
Installed System Components
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
for the WebLogic Server.
Oracle does not release proactive patches for Forms/Reports like PSU and BP patches, but they do provide
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
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 .
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 . 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 .
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 .
Verifying the Installation
You should have 4 WebLogic processes, an Admin Server, two Managed Servers and a Node Manager.
Here is the output from
that lists running WebLogic Servers and Node Managers.
################################################################################
# WebLogic Servers
################################################################################
FormsReports
AdminServer
FormsReports
FormsReports
WLS_REPORTS
################################################################################
# Node Managers
################################################################################
/u01/app/oracle/product/forms112
You should also have some
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
|18737|Alive | |
RptSvr_wintermute_FRinst| ReportsServerComp~|18736|Alive | |
|18735|Alive | | :32:43 |https:8889,https:8890,http:8888
Verify that you can use the different URLs (Screenshots):
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 . 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
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
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
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&
# *************************************************************************
# lorenzenp End
# *************************************************************************
Production Mode
# *************************************************************************
# lorenzenp Begin
# *************************************************************************
if [ &${SERVER_NAME}& = && ] ; then
SERVER_NAME=&AdminServer&
export SERVER_NAME
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&
# *************************************************************************
# lorenzenp End
# *************************************************************************
In Development Mode I have added a parameter to take care of any .
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
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=
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
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 . 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.
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
for the domain.
For development servers it is a good idea to change .
If you use you own jar files or third-party jars like
you need to sign them and change the manifest. Have a look at this .
Have a look at . 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
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
If you feel that I am missing something or find mistakes please tell me. I always want to learn!
Leave a Comment

我要回帖

更多关于 monitor cd user 的文章

 

随机推荐