Monday, September 13, 2010

R12

To start MWA on R12
cd $ADMIN_SCRIPTS_HOME
./mwactlwrpr.sh start sysadmin/pwd

STOP
cd $ADMIN_SCRIPTS_HOME
./mwactlwrpr.sh stop sysadmin/pwd

Log Directories:
mwa.logdir= $INST_TOP/logs

CFG file:
$INST_TOP/admin/install/mwa.cfg

telnet hostname 10803


Parameter for auto compilation of jsp in R12
change s_jsp_main_mode justrun to recompile

Default env file in R12
$ORA_CONFIG_HOME/10.1.2/forms/server/default.env
on 11i
$ORACLE_HOME/forms60/server/default.env


R12 version checks

## Collect the Apache version
echo ""*****Apache Version*****""
$IAS_ORACLE_HOME/Apache/Apache/bin/httpd -v
echo "" ""
## Collect perl version
echo ""*****perl version******""
$IAS_ORACLE_HOME/perl/bin/perl -v|grep built
echo "" ""
## Collect Java version
echo ""******Java Version******""
sh -c ""`awk -F= '$1 ~ /^JSERVJAVA.*$/ {print $2}' $ADMIN_SCRIPTS_HOME/java.sh` -version;""
echo "" ""
## Collect client JRE version
echo ""*****Client JRE version*****""
cat $FORMS_WEB_CONFIG_FILE|grep sun_plugin_version| cut -c 1-35
echo "" ""
## Collect Forms version
echo ""*****Forms Version*****""
$ORACLE_HOME/bin/frmcmp_batch|grep Forms| grep Version
echo "" ""
## Collect PL/SQL Version
echo ""*****PL/SQL Version****""
$ORACLE_HOME/bin/frmcmp_batch|grep PL/SQL|grep Version
echo "" ""
## Collect Forms communication mode
echo ""****Forms Communication Mode****""
cat $FORMS_WEB_CONFIG_FILE|grep serverURL=
echo ""If the serverURL parameter has no value then Forms is implemented in socketmode else it is servlet


R12 form and pll compilation
$ORACLE_HOME/bin/frmcmp_batch module=$AU_TOP/forms/US/WMSLABEL.fmb userid=APPS/***** output_file=$WMS_TOP/forms/US/WMSLABEL.fmx module_type=form batch=yes compile_all=special

$ORACLE_HOME/bin/frmcmp_batch module=$AU_TOP/resource/CSCHTAB.pll userid=APPS/***** output_file=$AU_TOP/resource/CSCHTAB.plx module_type=library batch=yes compile_all=special


Version checks in 11i and r12

How to find Apps Version (11i/R12/12i)
Connect to database as user apps
SQL> select release_name from apps.fnd_product_groups;
Output like 12.0.4 or 11.5.10.2

Web Server/Apache or Application Server in Apps 11i/R12
Log in as Application user, set environment variable and run below query $IAS_ORACLE_HOME/Apache/Apache/bin/httpd -version
Output for 11i should be like
Server version: Oracle HTTP Server Powered by Apache/1.3.19 (Unix)
Server built: Jan 26 2005 11:06:44 (iAS 1.0.2.2.2 rollup 5)

Output for R12 should be like
Server version: Oracle-Application-Server-10g/10.1.3.0.0Oracle-HTTP-Server
Server built: Dec 4 2006 14:44:38

Forms & Report version (aka developer 6i) in 11i >> Log in as Application user, set environment variable and run below query
$ORACLE_HOME/bin/f60run | grep Version | grep Forms

output like
Forms 6.0 (Forms Runtime) Version 6.0.8.25.2 (Production)
Check fourth character in version 25 which means Forms 6i patchset 16 (25-9)

Forms & Report version in R12/12i Log in as Application user, set environment variable and run below query
$ORACLE_HOME/bin/rwrun | grep Release
or rwrun help=yes | grep Release
Output should be like
Report Builder: Release 10.1.2.2.0
You can safely ignore warnings

Oracle Jinitiator in 11i/R12/12i >>

Log in as Application user, set environment variable and run below query
grep jinit_ver_comma $CONTEXT_FILE

(Default is Java Plug-In for R12/12i )

Oracle Java Plug-in in 11i/R12/12i >>

Log in as Application user, set environment variable and run below query
grep plugin $CONTEXT_FILE


File Version on file system
adident Header filename
or
strings file_name | grep Header

Here adident is AD Utility (Oracle Apps) and strings is Unix utility

Version of pld file
*.pld are source code of *.pll which are inturn source of *.plx. *.pll is in $AU_TOP/resource and to find its version check

adident Header $AU_TOP/resource/.pll
IGSAU012.pll:
$Header IGSAU012.pld 115.1.115100.1 2004/04/01 05:40:18 appldev ship $

or
strings $AU_TOP/resource/.pll | grep -i header

FDRCSID(’$Header: IGSAU012.pld 115.1.115100.1 2004/04/01 05:40:18 appldev ship $’);

OA Framework Version
http:// hostname.domainName:port/OA_HTML/OAInfo.jsp (Only for 11i); Log in as Application user, set environment variable and run below query

adident Header $FND_TOP/html/OA.jsp
adident Header $OA_HTML/OA.jsp

output for both should look like
$Header OA.jsp 115.60 2006/03/31 00:47:28 atgops1 noship $

120.21 means OA Framework Version (coming soon..)
115.60 means OA Framework Version (coming soon..)
115.56 means OA Framework Version (coming soon..)
115.36 means OA Framework Version 5.7
115.27 means OA Framework Version 5.6E
115.26 means OA Framework Version 5.5.2E

OA.jsp Version OA Framework Version ARU Patch Number
115.56 5.10 Patch:3875569.
115.36 5.7 Patch:2771817.
115.27 5.6 Patch:2278688.


Discoverer Version for 11i (3i or 4i)
Log in as Application user, set environment variable and run below query
$ORACLE_HOME/bin/disc4ws | grep -i Version

Discoverer Version for 11i or R12 (10g AS)
Check under Application Server Section as 10g AS Discoverer is on standalone

Workflow Version with Apps
Connect to Database as apps user
SQL> select TEXT Version from WF_RESOURCES where NAME = ‘WF_VERSION’;
Output like 2.6.0 means workflow version 2.6.0

Oracle Single Sign On
Connect to database which holds SSO repository
SQL>select version from orasso.wwc_version$;

Oracle Internet Directory
There are two component in OID (Software/binaries & Schema/database)

To find software/binary version

$ORACLE_HOME/bin/oidldapd -version
output should look like

oidldapd: Release 10.1.4.0.1 - Production on thu sep 11 11:08:12 2008
Copyright (c) 1982, 2006 Oracle. All rights reserved.

To find Schema Version/ database use

ldapsearch -h -p -D “cn=orcladmin” -w “” -b “” \
-s base “objectclass=*” orcldirectoryversion

and output should be like

version: 1
dn:
orcldirectoryversion: OID 10.1.4.0.1

or run following query in database
SQL> select attrval from ods.ds_attrstore where entryid = 1 and attrname = ‘orcldirectoryversion’;

Output should be like OID 10.1.4.0.1

Application Server
Oracle Application Server (Prior to Oracle WebLogic Server)
If application server is registered in database (Portal, Discoverer) check from database
SQL> select * from ias_versions;
or
SQL>select * from INTERNET_APPSERVER_REGISTRY.SCHEMA_VERSIONS;

OC4J (Oracle Container for J2EE)
Set ORACLE_HOME
cd $ORACLE_HOME/j2ee/home
java -jar oc4j.jar -version

Oracle Portal
SQL> select version from portal.wwc_version$;

Database Component

I) Oracle Database

To find database version
SQL> select * from v$version;
or
All component version in database

$ORACLE_HOME/OPatch/opatch lsinventory -detail

Oracle Enterprise Manager
Metalink Note 605398.1 How to to find the version of the main EM components

Unix Operating System

Solaris -> cat /etc/release
Red Hat Linux -> cat /etc/redhat-release

Checking whether Forms Socket or Forms Servlets are used
Look for the line in jserv.conf file
#ApJServGroup FormsGroup 1 1 /u02/oracle/visora/iAS/Apache/Jserv/etc/forms.properties
If using servlets this line will be uncommented.
Check the appsweb.cfg under OA_HTML/bin for the following line
if using Servlets this line will be uncommented.
; serverURL=/forms/formservlet
If the serverURL is uncommented and set, then you are using Forms Servlets.
Otherwise, you are using the Socket connection mode.


Middle/Application Tier Scripts in R12
-------------------------------------------------

Scripts for Application Tier services in R12 are located in "Install_base/inst/apps/$CONTEXT_NAME/admin/scripts"
where CONTEXT_NAME is of format SID_HOSTNAME

i) adstrtal.sh
Master script to start all components/services of middle tier or application tier. This script will use Service Control API to start all services which are enabled after checking them in context file (SID_HOSTNAME.xml or CONTEXT_NAME.xml)

ii) adstpall.sh
Master script to stop all components/services of middle tier or application tier.

iii) adalnctl.sh
Script to start / stop apps listener (FNDFS and FNDFS). This listener will file will be in 10.1.2 ORACLE_HOME (i.e. Forms & Reports Home)
listener.ora file will be in $INST_TOP/apps/$CONTEXT_NAME/ora/10.1.2/network/admin directory
(Mostly similar to one in 11i with only change in ORACLE_HOME i.e. from 8.0.6 to 10.1.2 )

iv) adapcctl.sh
Script to start/stop Web Server or Oracle HTTP Server. This script uses opmn (Oracle Process Manager and Notification Server) with syntax similar to opmnctl [startstop]proc ohs
like opmnctl stopproc ohs .



(In 11i this script directly used to call apachectl executable but now calls opmnctl which in turn calls apachectl. In 11i web server oracle home was 1.0.2.2.2 but in R12 its 10.1.3)

v) adcmctl.sh
Script to start / stop concurrent manager, Similar to one in 11i. (This script in turn calls startmgr.sh )

vi) adformsctl.sh
Script to start / stop Forms OC4J from 10.1.3 Oracle_Home. This script will also use opmnctl to start/stop Forms OC4J like
opmnctl stopproc type=oc4j instancename=forms

vii) adformsrvctl.sh
This script is used only if you wish to start forms in socket mode. Default forms connect method in R12 is servlet.
If started this will start frmsrv executable from 10.1.2 Oracle_Home in Apps R12


viii) adoacorectl.sh
This script will start/stop oacore OC4J in 10.1.3 Oracle_Home. This scripts will also use opmnctl (similar to adapcctl & adformsctl) to start oacore instance of OC4J like
opmnctl startproc type=oc4j instancename=oacore

ix) adoafmctl.sh
This script will start/stop oafm OC4J in 10.1.3 Oracle_Home. This scripts will also use opmnctl (similar to above) to start oacore instance of OC4J like
opmnctl startproc type=oc4j instancename=oafm

x) adopmnctl.sh
This script will start/stop opmn service in 10.1.3 Oracle_Home. opmn will control all services in 10.1.3 Oracle_Home like web server or various oc4j instances. If any services are stopped abnormally opmn will/should start them automatically.

xi) jtffmctl.sh
This script will be used to start/stop one to one fulfilment server.

xii) mwactl.sh
To start / stop mwa telnet server where mwa is mobile application.


R12 - log files information
A. Startup/Shutdown Log files for Application Tier in R12

Instance Top is new TOP added in R12 (to read more click here)

–Startup/Shutdown error message text files like adapcctl.txt, adcmctl.txt…
$INST_TOP/apps/$CONTEXT_NAME/logs/appl/admin/log

–Startup/Shutdown error message related to tech stack (10.1.2, 10.1.3 forms/reports/web)
$INST_TOP/apps/$CONTEXT_NAME/logs/ora/ (10.1.2 & 10.1.3)
$INST_TOP/apps/$CONTEXT_NAME/logs/ora/10.1.3/Apache/error_log[timestamp]
$INST_TOP/apps/$CONTEXT_NAME/logs/ora/10.1.3/opmn/ (OC4J~…, oa*, opmn.log)$INST_TOP/apps/$CONTEXT_NAME/logs/ora/10.1.2/network/ (listener log)
$INST_TOP/apps/$CONTEXT_NAME/logs/appl/conc/log (CM log files)

B. Log files related to cloning in R12

Preclone log files in source instance
i) Database Tier - /$ORACLE_HOME/appsutil/log/$CONTEXT_NAME/(StageDBTier_MMDDHHMM.log)

ii) Application Tier - $INST_TOP/apps/$CONTEXT_NAME/admin/log/ (StageAppsTier_MMDDHHMM.log)

Clone log files in target instance

Database Tier - $ORACLE_HOME/appsutil/log/$CONTEXT_NAME/ApplyDBTier_.log
Apps Tier - $INST_TOP/apps/$CONTEXT_NAME/admin/log/ApplyAppsTier_.log

—–
If your clone on DB Tier fails while running txkConfigDBOcm.pl (Check metalink note - 415020.1)
During clone step on DB Tier it prompts for “Target System base directory for source homes” and during this you have to give like /base_install_dir like ../../r12 and not oracle home like ../../r12/db/tech_st_10.2.0
—–

C. Patching related log files in R12

i) Application Tier adpatch log - $APPL_TOP/admin/$SID/log/
ii) Developer (Developer/Forms & Reports 10.1.2) Patch - $ORACLE_HOME/.patch_storage
iii) Web Server (Apache) patch - $IAS_ORACLE_HOME/.patch_storage
iv) Database Tier opatch log - $ORACLE_HOME/.patch_storage

D. Autoconfig related log files in R12
i) Database Tier Autoconfig log :
$ORACLE_HOME/appsutil/log/$CONTEXT_NAME/MMDDHHMM/adconfig.log
$ORACLE_HOME/appsutil/log/$CONTEXT_NAME/MMDDHHMM/NetServiceHandler.log

ii) Application Tier Autoconfig log - $INST_TOP/apps/$CONTEXT_NAME/admin/log/$MMDDHHMM/adconfig.log

Autoconfig context file location in R12 - $INST_TOP/apps/$CONTEXT_NAME/appl/admin/$CONTEXT_NAME.xml

E. Other log files in R12
1) Database Tier
1.1) Relink Log files :
$ORACLE_HOME/appsutil/log/$CONTEXT_NAME /MMDDHHMM/ make_$MMDDHHMM.log

1.2) Alert Log Files :
$ORACLE_HOME/admin/$CONTEXT_NAME/bdump/alert_$SID.log

1.3) Network Logs :
$ORACLE_HOME/network/admin/$SID.log

1.4) OUI Logs :
OUI Inventory Logs :
$ORACLE_HOME/admin/oui/$CONTEXT_NAME/oraInventory/logs

2) Application Tier
$ORACLE_HOME/j2ee/DevSuite/log
$ORACLE_HOME/opmn/logs
$ORACLE_HOME/network/logs

Tech Stack Patch 10.1.3 (Web/HTTP Server)
$IAS_ORACLE_HOME/j2ee/forms/logs
$IAS_ORACLE_HOME/j2ee/oafm/logs
$IAS_ORACLE_HOME/j2ee/oacore/logs
$IAS_ORACLE_HOME/opmn/logs
$IAS_ORACLE_HOME/network/log
$INST_TOP/logs/ora/10.1.2
$INST_TOP/logs/ora/10.1.3
$INST_TOP/logs/appl/conc/log
$INST_TOP/logs/appl/admin/log


Instance Home Directory Structure

$INST_TOP/admin/scripts ($ADMIN_SCRIPTS_HOME): All AD scripts are located here
$INST_TOP/appl ($APPL_CONFIG_HOME) : For standalone envs, this is set to $APPL_TOP
$INST_TOP/appl/fnd/12.0.0/secure FND_SECURE: The dbc file is located here
$INST_TOP/appl/admin All the env config files are located here
$INST_TOP/certs SSL Certificates go here
$INST_TOP/logs LOG_HOME: Central log file location. All log files are placed here (except adconfig)
$INST_TOP/logs/ora ($ORA_CONFIG_HOME)
$INST_TOP/logs/ora/10.1.2 ‘C’ Oracle home config, Contains tnsnames and forms listener servlet config files
$INST_TOP/logs/ora/10.1.3 Apache & OC4J config home, Apache, OC4J and opmn. This is the ‘Java’ oracle home configuration for OPMN, Apache and OC4J
$INST_TOP/pids Apache/Forms server PID files are located here
$INST_TOP/portal Apache’s DocumentRoot folder


Admin node parameters
Provide the values required for creation of the new APPL_TOP Context file.

Target hostname (virtual or normal) [servername1]:

Target system database SID : TEST

Target system database server node [servername1] :

Target system base directory for source homes : /d01/oratst

Target system base directory for instance homes [/d01/oratst/inst] :

Target system service groups - Enable Root Service [disabled] :

Target system service groups - Enable Web Entry Point Services [disabled] :

Target system service groups - Enable Web Application Services [disabled] :

Target system service groups - Enable Batch Processing Services [enabled] :

Target system service groups - Enable Other Services [disabled] :

Do you want to preserve the Display set to cosxaor0k:0.0 (y/n) [y] ? :

Clone Context uses the same port pool mechanism as the Rapid Install.
Once you choose a port pool, Clone Context will validate the port availability.

Enter the port pool to be used for the target system node [0-99] :
1

Checking the port pool 1
done: Port Pool 1 is free
Report file located at /d01/oratst/inst/apps/TEST_servername1/admin/out/portpool.lst
Complete port information available at /d01/oratst/inst/apps/TEST_servername1/admin/out/portpool.lst

UTL_FILE_DIR on database tier consists of the following directories.

1. /d01/oratst/inst/apps/TEST_servername1/appltmp
2. /usr/tmp
3. /d02/oratst/db/tech_st/10.2.0/appsutil/outbound/TEST_servername1
4. /d02/oratst/db/tech_st/10.2.0/appsutil/outbound/TEST_servername1
5. /usr/tmp
Choose a value which will be set as APPLPTMP value on the target node [1] : 2


Web node parameters
Provide the values required for creation of the new APPL_TOP Context file.

Target hostname (virtual or normal) [servername1] :

Target system domain name : domainname

It is recommended that your inputs are validated by the program.
However you might choose not to validate your inputs under following circumstances:
-If cloning a context on source system for a remote system.
-If cloning a context on a machine where the ports are taken and you do not want to shutdown the services at this point.
-If cloning a context but the database it needs to connect is not available.

Do you want the inputs to be validated (y/n) [n] ? : y

Target system service groups - Enable Root Service [disabled] : enabled

Target system service groups - Enable Web Entry Point Services [disabled] : enabled

Target system service groups - Enable Web Application Services [disabled] : enabled

Target system service groups - Enable Batch Processing Services [enabled] : disabled

Target system service groups - Enable Other Services [disabled] : enabled

Do you want to preserve the Display set to cosxaor0k:0.0 (y/n) [y] ? : n

Target system Display [servername1:0.0] :

RC-00217: Warning: Configuration home directory (s_config_home) evaluates to /d01/oratst/inst/apps/TEST_servername1. A directory with this name already exists and is not empty.

Do you want to continue (y/n) ? Type y to continue with current value of Configuration home. Type n to abort. : y
Database port is 1522

Do you want the the target system to have the same port values as the source system (y/n) [y] ? :
Complete port information available at /d01/oratst/apps/apps_st/comn/clone/bin/out/TEST_servername1/portpool.lst

UTL_FILE_DIR on database tier consists of the following directories.

1. /d01/oratst/inst/apps/TEST_servername1cosxaor0k/appltmp
2. /usr/tmp
3. /d02/oratst/db/tech_st/10.2.0/appsutil/outbound/TEST_servername1
4. /d02/oratst/db/tech_st/10.2.0/appsutil/outbound/TEST_servername1
5. /usr/tmp
Choose a value which will be set as APPLPTMP value on the target node [1] : 2


Services
(new concept introduced in R12) define the set of processes that will be started on each application node. These services can be activated or deactivated on a specific application tier/node.


Type of Application Services
Application tier processes are broadlyclassified in to five type of Services

i) Root Service - Oracle Process Manager and Notification (OPMN) is part of Oracle Application Server 10G R2/R3. OPMN is used for inter process communication (between OC4J, HTTP Server), death detection and start/stop of Services for 10g R3.

ii) Web Entry Point Services - HTTP Server is part of Oracle Application Server 10G R3 and built on Apache (aka Oracle Apache. All web request to R12 first hit HTTP Server.

iii) Web Application Services - OACORE OC4J, Forms OC4J, OAFM OC4J - These are set of 3 OC4J (Oracle Container for J2EE) to run application.

iv) Batch Processing Services - This set of service consist of Apps Listener (FNDFS & FNDSM), Concurrent Manager, Fulfillment Server and Interaction Server

v) Other Services - Oracle Forms Service, Forms Metric Client/Server and Mobile Web Application (MWA)Service


Process—> Services –> StartupScript –>Context parameter
a) Oracle Process Manager - Root Service - adopmnctl.sh- s_root_status, s_opmnstatus
b) Oracle HTTP Server - Web Entry Point Service - adapcctl.sh- s_web_entry_status, s_oacorestatus
c) OACORE OC4J - Web Application Services - adoacorectl.sh- s_web_applications_status s_oacorectrl
d) FORMS OC4J - Web Application Services - adformsctl.sh- s_web_applications_status, s_formsstatus
e) OAFM OC4J - Web Application Services - adoafmctl.sh- s_web_applications_status, s_oafmstatus
f) Concurrent Manager - Batch Processing Service - adcmctl.sh- s_batch_status, s_concstatus
g) Apps Listener - Batch Processing Service - adalnctl.sh- s_batch_status, s_tnsstatus
h) Interaction Center (ICSM) - Batch Processing Service - ieoicsm.sh- s_batch_status, s_icsmctrl
i) Fulfillment Server - Batch Processing Service - jtffmctl.sh- s_batch_status, s_jtffsstatus
j) Forms Server - Other Service - adformsrvctl.sh- s_other_service_group_status , s_formsserver_status
k) Metric Client - Other Service - adfmcctl.sh- s_other_service_group_status , s_metcstatus
l) Metric Server - Other Service - adfmsctl.sh- s_other_service_group_status , s_metsstatus
m) Mobile Web Application (MWA) - Other Service - mwactlwrpr.sh- s_other_service_group_status , s_mwastatus


Important:
1) When you select Root services, Web Services are automatically selected i.e. First three Services Root, Web Entry Point and Web Application Services can only be enabled or disabled together.
If you want Web Entry Point Services, Web Application Services, and Root Services to be installed on different nodes then use autoconfig after installation.

2. In R12 with introduction of Services there is NO concept of Forms node or Web Node.

3. With default installation all services Root, Web Entry Point, Web Application Services, Batch Processing and Otherservices are enabled.

406558.1 Configuring Applications Node Services in Oracle Applications Release 12 (Metalink Note)
Chapter2 of "Oracle® Applications Installation Guide: Using Rapid Install Release 12" at http://download.oracle.com/docs/cd/B40089_10/current/acrobat/120oaig.pdf


JSP in R12
Here is the explaination why we need to compile jsp when ever we clear JCache.Here clearing JCache means removing class files from JSP pages which will be there under the directory called $COMMON_TOP/_pages.

So in Release 11i when ever we clear the JCache and after bouncing apache, new class files are created automatically when the JSP page is called from a browser session and JSP was rendered fine.
But incase of  Release 12 it's observed that when calling the JSP no class file is created in the diretciry $COMMON_TOP/_pages so we need to create it manually. We have an alternative method, but it is not recommended.

An alternative is to change the value for the main_mode parameter to recompile (instead of justrun)
This can be achieved with the following steps

Use the Context editor to change the value for "s_jsp_main_mode" in the .xml file used by autoconfig and change value from justrun to recompile
Run Autoconfig to propagate the changes to the configuration files
Verify that now the $INST_TOP/ora/10.1.3/j2ee/oacore/application-deployments/oacore/html/orion-web.xml  has
   
      
         main_mode
         recompile
      

   
Test the scenario failing before.
See that now a new _.class is created when the JSP page is called.
For production environment the manual 'ojspcompile.pl' method is recommended for the following reasons

With 'justrun' a fixed set of JSP is used which can not change due to maintenance actions. With 'recompile' the JSP pages replacing exsiting ones will recompile automatically while environment is up-and-running. This may lead to errors for the users when compilation fails or different version of the JSP being used within a single session.
Using 'justrun' skips the check if compilation is needed and therefor improves performance

No comments: