Thursday 27 June 2013

What is SOA?

SOA stands for Service-Oriented Architecture.
SOA is not a tool like eclipse,netbeansturbo c etc.
SOA is not a protocol like http,ftp etc.
SOA is not a RBC call.
SOA is not contain clasess and objects.

SOA
=====
Its an  Architectural style (or) methodology.

it is a process of making two software to talk to each other (or) collection of services talking to each other.
Software example:java,.net and cobol etc.

Services: Self contained business function communicated using messages.


What is Web Service ?


Web service is a piece of code which is available on web (internet). That code of piece can be developed in any language (java, .net etc). A client invokes the web service by sending xml message and it wait for xml response (synchronously or asynchronously).


What is WSDL ?
WSDL stands for Web Services Description Language
WSDL is a document written in XML. The document describes a Web service. It specifies the location of the service and the operations (or methods) the service exposes.

 What is XML Schema ?
An XML Schema describes the structure of an XML document.

What is SOAP ?

SOAP is a simple XML-based protocol to let applications exchange information over HTTP.
Or more simply ,SOAP is a protocol for accessing a Web Service.



What is role of Mediator?

Oracle Mediator provides a lightweight framework to mediate between various components within a composite application. Oracle Mediator converts data to facilitate communication between different interfaces exposed by different components that are wired to build a SOA composite application.

Difference between Mediator & OSB? 

OSB is all together different tool which is used for integration like SOA but the main purpose of OSB is to route the information and same we can do with mediator. The main difference two is, we go for Mediator when we want to route information between different components inside composite and go for OSB when we want to route the information between composites. Mediator is used light weight mediation and OSB is used for heavy weight mediation.



Types of Adapters ?

Transactional & Non- Transactional Adapter 
Transactional : Database, JMS, AQ, MQ adapters
Non- Transactional: File & FTP adapter


Types of Rejection Message Handler ?
 
Web Service Handler
Custom Java Handler
JMS Queue
File

How to check java/forms/pl sql/apache/workflow and jre version In oracle application R12 ?



1)How to check my java version in R12 EBS?
[applmgr@apps US]$ $ORACLE_HOME/jdk/bin/java -fullversion
java full version "1.4.2_14-b05"
[applmgr@apps US]$

2)How to check my forms version in R12 ebs?

[applmgr@apps ~]$ $ORACLE_HOME/bin/frmcmp_batch|grep Forms| grep Version
Forms 10.1 (Form Compiler) Version 10.1.2.3.0 (Production)
[applmgr@apps ~]$


3)How to check my Apache version in R12 EBS?

[applmgr@apps ~]$ $IAS_ORACLE_HOME/Apache/Apache/bin/httpd -version
Server version: Oracle-Application-Server-10g/10.1.3.4.0 Oracle-HTTP-Server
Server built:   Jul  7 2008 14:58:00
[applmgr@apps ~]$

4)How to check my pl/sql version in R12 EBS?

[applmgr@apps ~]$ $ORACLE_HOME/bin/frmcmp_batch|grep PL/SQL|grep Version
PL/SQL Version 10.1.0.5.0 (Production)
[applmgr@apps ~]$

5)How to check my jre version R12 EBS?

[applmgr@apps ~]$ cat $FORMS_WEB_CONFIG_FILE|grep sun_plugin_version

sun_plugin_version=1.6.0_07

[applmgr@apps ~]$


6)How to find workflow version in oracle apps R12?

SQL> select TEXT from WF_RESOURCES where
NAME='WF_VERSION';  2

TEXT
--------------------------------------------------------------------------------
2.6.0

How to apply a patch in oracle ebs R12?


check patch is applied or not if not download from metalink
===========================================================
select bug_number,creation_date from apps.ad_bugs where bug_number='&bug_number';

check how many langagues are installed
=======================================

col LANGUAGE_CODE for a20
col NLS_LANGUAGE for a20
select NLS_LANGUAGE,LANGUAGE_CODE,INSTALLED_FLAG from apps.fnd_languages where INSTALLED_FLAG in('B','I');
NLS_LANGUAGE LANGUAGE_CODE INS
-------------------- -------------------- ---
AMERICAN US B
BRAZILIAN PORTUGUESE PTB I

OR
cd $AU_TOP/forms

Invalid objects before applying the patch
======================================
select count(*) from dba_objects where status='INVALID';
25

Backuping the invalids object before applying the patch if needed.
=================================================================
create table dba_objects_18apr2013 AS select * from dba_objects where status='INVALID';

if you have multiple patches Please merge it by using below command
====================================================================
Go to patch directory and create below directories
cd /u01/ebsapp/patches/CHGER0214234
mkdir before after
chmod 777 *
Now merge patch using below command
===================================
You should fire this command from CHGER0214234.

ls -trl /u01/ebsapp/patches/CHGER0214234/before/*.zip|awk '{print $NF}' > patch_list

admrgpch -s before -d after -merge_name 0214234 -manifest patch_list

above command merge the patch and go to after directory you will find merge driver file.

send outage communication/Put mail to business
so that they will get to know instance went down
for patching.
============================================
Bring down middle tier/apps tier services
11i==============>cd $COMMON_TOP/admin/scripts/$CONTEXT_NAME
r12==============>cd $INST_TOP/admin/scripts
ps -fu applmgr|grep -i http


if it is shared application file system
========================================
you have to bring down admin tier service i.e, concurrent node it depends on business requirement.
ps -fu applmgr|grep -i FND|wc -l

if processes not went down do kill processes and proceed ahead
===============================================================
kill -9 procid

Enable the maintanace mode
===========================
sqlplus -s apps/******** @$AD_TOP/patch/115/sql/adsetmmd.sql ENABLE

To check maintanace mode enable or not use below query
=======================================================
select fnd_profile.value('APPS_MAINTENANCE_MODE') from dual;


Now fire adpatch from VNC server as its process will be created on the server.
You can also use putty session but this process will run at client side.Putty
session will be inactive after 30 mins.if your patch taking more than 30 mins
your session will gone.you have to start adpatch from the start.

So its better practice to use VNC.




FIRE :adpatch
as adpatch will ask for some questions like logfile name,system,apps,ORACLE_HOME,number worker,driver file
once the patch is applied successfully.Please check the logfile for errors and warnings.

To check adpatch log
cd $APPL_TOP/admin/$TWO_TASK/log.


grep -i errors $APPL_TOP/admin/$TWO_TASK/log/0214234.log
grep -i warnings $APPL_TOP/admin/$TWO_TASK/log/0214234.log
grep -i failed $APPL_TOP/admin/$TWO_TASK/log/0214234.log

Please check whether patch is applied or not.
===============================================
select bug_number,creation_date from ad_bugs where bug_number='5968480';
BUG_NUMBER CREATION_DATE
------------------------------ ---------------
14072764 18-APR-12

Disable the maintainance mode
=========================================
sqlplus -s apps/****** @$AD_TOP/patch/115/sql/adsetmmd.sql DISABLE


To check maintanace mode enable or not use below query
=======================================================
select fnd_profile.value('APPS_MAINTENANCE_MODE') from dual;




Up the DT services and then AT services
======================================
11i==============>cd $COMMON_TOP/admin/scripts/$CONTEXT_NAME
R12==============>cd $INST_TOP/admin/scripts (OR) $ADMIN_SCRIPTS_HOME

do sanity check and release instance for user access .
http://appoltp.user.com:8011/OA_HTML/AppsLocalLogin.jsp
In sanity check you will sumbit below to requests

Go to System adminstrator --->Request--->Run

1)Active User =====>Check View LOG/vIEW OUT
2)Active Responsiblity ===>Check View LOG/vIEW OUT


Invalid objects after applying the patch
=========================================
SQL> select count(*) from dba_objects where status='INVALID';
COUNT(*)
----------
16
Backuping the invalids object after applying the patch
====================================================
SQL> create table dba_objects_18apr2012_after AS select * from dba_objects where status='INVALID';
Table created.


To find new invalid objects
============================
SQL> select count(1) from dba_objects where object_id not in (select object_id from dba_objects_18apr2013) and status='INVALID';
COUNT(1)
----------
0
SQL>


***************************************************************
Happy reading !!!!!!!

Monday 24 June 2013

To Check The Techstack Component Versions (Forms, Http Server, JDK, Framework, Database, etc) [ID 601736.1]


apptest@ctssd $ $ADPERLPRG $FND_TOP/patch/115/bin/TXKScript.pl \
> -script=$FND_TOP/patch/115/bin/txkInventory.pl -txktop=$APPLTMP \
> -contextfile=/ebstest/erpapp/inst/apps/ebstest_apptest/appl/admin/ebstest_apptest.xml \
> -appspass=b011yw00d \
> -outfile=$APPLTMP/Report_App_Inventory.html
*** ALL THE FOLLOWING FILES ARE REQUIRED FOR RESOLVING RUNTIME ERRORS
*** STDOUT = /ebstest/erpapp/inst/apps/ebstest_apptest/logs/appl/rgf/TXK/txkInventory_Thu_Jun_20_09_40_51_2013_stdout.log

Reportfile /ebstest/erpapp/inst/apps/ebstest_apptest/appltmp/Report_App_Inventory.html generated successfully.
you have mail
apptest@ctssd $ 

"VIEWER - CANT GET TEMP NAME" in Oracle application R12.


Facing issue in R12 instance.

When i try to open "View Log" from "Concurrent Requests", face the following error -
"VIEWER - CANT GET TEMP NAME".




















When i checked parameters in xml file "/" is missing tmp parameters.


appdev@ctssd $ egrep -i 's_jsp_main_mode|s_applptmp|s_appltmp' $CONTEXT_FILE

recompile
/ebsdev/erpapp/comn/admin
ebsdev/erpapp/comn/temp
ebsdev/erpapp/comn/temp

appdev@ctssd $

Cause:Entries in xml file is wrong for two parameters s_applptmp and s_appltmp.If you observe "/" is missing before instance name i.e,(ebsdev)



Solution:

1)stop appliction service
2)make changes in xml file as / is missing
3)Run autoconfig.
4)if it is R12 instance move persistance
5)start application service and re test issue.Issue will be fixed.















"afdbprf.sh" Exception occurred: java.sql.SQLException: Listener refused the connection with the following error: ORA-12505, TNS:listener does not currently know of SID given in connect descriptor



oradev@cstsd $ adautocfg.sh
Enter the APPS user password:
The log file for this session is located at: /u01/oracle/10.2.0/appsutil/log/ebsdev_ebsdev/06180805/adconfig.log

AutoConfig is configuring the Database environment...

AutoConfig will consider the custom templates if present.
Using ORACLE_HOME location : /u01/oracle/10.2.0
Classpath : /u01/oracle/10.2.0/jdk/jre/lib/rt.jar:/u01/oracle/10.2.0/jdk/lib/dt.jar:/u01/oracle/10.2.0/jdk/lib/tools.jar:/u01/oracle/10.2.0/jdbc/lib/ojdbc14.jar:/u01/oracle/10.2.0/appsutil/java/xmlparserv2.zip:/u01/oracle/10.2.0/appsutil/java:/u01/oracle/10.2.0/jlib/netcfg.jar:/u01/oracle/10.2.0/jlib/ldapjclnt10.jar

Using Context file : /u01/oracle/10.2.0/appsutil/ebsdev_ebsdev.xml

Context Value Management will now update the Context file

Updating Context file...COMPLETED

Attempting upload of Context file and templates to database...COMPLETED

Updating rdbms version in Context file to db102
Updating rdbms type in Context file to 64 bits
Configuring templates from ORACLE_HOME ...

AutoConfig completed with errors.
oradev@cstsd $



Autoconfig failed on database node and logfile contain below error messages.
========================================================


/u01/oracle/10.2.0/appsutil/log/ebsdev_ebsdev/06180805/adconfig.log

getConnectionUsingSID() -->
JDBC URL: jdbc:oracle:thin:@ebsdev.user.com:1603:ebsdev
Exception occurred: java.sql.SQLException: Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor

Trying to connect using SID as ServiceName
getConnectionUsingServiceName() -->
JDBC URL: jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ebsdev.user.com)(PORT=1603))(CONNECT_DAT
A=(SERVICE_NAME=ebsdev)))
Exception occurred: java.sql.SQLException: Listener refused the connection with the following error:
ORA-12514, TNS:listener does not currently know of service requested in connect descriptor

Trying to connect using SID as ServiceName.DomainName
getConnectionUsingServiceName() -->
JDBC URL: jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ebsdev.user.com)(PORT=1603))(CONNECT_DAT
A=(SERVICE_NAME=ebsdev.user.com)))
Exception occurred: java.sql.SQLException: Listener refused the connection with the following error:
ORA-12514, TNS:listener does not currently know of service requested in connect descriptor

[PROFILE PHASE]
AutoConfig could not successfully execute the following scripts:
Directory: /u01/oracle/10.2.0/appsutil/install/ebsdev_ebsdev
afdbprf.sh INSTE8_PRF 1

AutoConfig is exiting with status 1..

When i try to check the status giving below error.
==================================

oradev@cstsd $ lsnrctl start ebsdev

LSNRCTL for Solaris: Version 10.2.0.5.0 - Production on 18-JUN-2013 08:08:44

Copyright (c) 1991, 2010, Oracle. All rights reserved.

Starting /u01/oracle/10.2.0/bin/tnslsnr: please wait...

TNSLSNR for Solaris: Version 10.2.0.5.0 - Production
System parameter file is /u01/oracle/10.2.0/network/admin/ebsdev_ebsdev/listener.ora
Log messages written to /u01/oracle/10.2.0/network/log/ebsdev.log
TNS-01151: Missing listener name, ebsdev, in LISTENER.ORA

Listener failed to start. See the error message(s) above...

oradev@cstsd $


Cause:Entries are pointing to production listener name i.e why we are getting missing
listener name when we check status or start it.

Solution:
1)Take the backup of the listener.ora file and change the entry which is pointing to produciton.
2)Now start the listener.
3)Run autoconfig issue will get fixed.

Happy learning !!!!!!!!!!.







"afdbprf.sh" The Network Adapter could not establish the connection

Autoconfig failed on database node and logfile contain below error messages.
=====================================================


Exception occurred: java.sql.SQLException: IO Error: The Network Adapter could not establish the connection
Trying to connect using SID as ServiceName
"afdbprf.sh" The Network Adapter could not establish the connection.

Cause:
The database listener was down.

oratest@ctssd lsnrctl status ebstest

LSNRCTL for Solaris: Version 11.2.0.3.0 - Production on 16-JUN-2013 13:12:34

Copyright (c) 1991, 2011, Oracle. All rights reserved.

Connecting to (ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROCebstest))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
Solaris Error: 2: No such file or directory
Connecting to (ADDRESS=(PROTOCOL=TCP)(Host=ebstest.user.com)(Port=1547))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
Solaris Error: 146: Connection refused
oratest@ctssd

Solution:
Bring up database listener and run autoconfig will resolve issue.

Oracle application R12 login page showing empty (OR)."Internet page cannot displayed the page"

Error in the oacore logfile
====================
/u01/ebsapp/inst/apps/ebstest_apptest/logs/ora/10.1.3/j2ee/oacore/oacore_default_group_1/application.log


at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.5.0) ].util.ReleasableResourcePooledExecutor$MyWorker.r
un(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:662)
13/06/19 08:53:02.860 html: 10.1.3.5.0 Stopped
13/06/19 09:00:12.380 10.1.3.5.0 Started
13/06/19 09:00:15.403 html: Error preloading servlet
javax.servlet.ServletException: undefined main_mode parameter:recomplie
at oracle.jsp.runtimev2.JspServlet.validateAndSetMainMode(JspServlet.java:460)
at oracle.jsp.runtimev2.JspServlet.init(JspServlet.java:255)
at com.evermind.server.http.HttpApplication.loadServlet(HttpApplication.java:2528)
at com.evermind.server.http.HttpApplication.findServlet(HttpApplication.java:5006)
at com.evermind.server.http.HttpApplication.findServlet(HttpApplication.java:4930)
at com.evermind.server.http.HttpApplication.initPreloadServlets(HttpApplication.java:5118)
at com.evermind.server.http.HttpApplication.initDynamic(HttpApplication.java:1283)
at com.evermind.server.http.HttpApplication.(HttpApplication.java:848)
at com.evermind.server.ApplicationStateRunning.getHttpApplication(ApplicationStateRunning.java:435)
at com.evermind.server.Application.getHttpApplication(Application.java:592)
at com.evermind.server.http.HttpSite$HttpApplicationRunTimeReference.createHttpApplicationFromReference(HttpSi
te.java:2280)
at com.evermind.server.http.HttpSite$HttpApplicationRunTimeReference.(HttpSite.java:2199)
at com.evermind.server.http.HttpSite.initApplications(HttpSite.java:701)
at com.evermind.server.http.HttpSite.setConfig(HttpSite.java:308)
at com.evermind.server.http.HttpServer.setSites(HttpServer.java:280)
at com.evermind.server.http.HttpServer.setConfig(HttpServer.java:180)
at com.evermind.server.ApplicationServer.initializeHttp(ApplicationServer.java:2541)
at com.evermind.server.ApplicationServer.setConfig(ApplicationServer.java:1058)
at com.evermind.server.ApplicationServerLauncher.run(ApplicationServerLauncher.java:131)
at java.lang.Thread.run(Thread.java:662)
13/06/19 09:00:19.330 html: 10.1.3.5.0 Started
13/06/19 09:06:37.618 html: Servlet error
java.lang.NullPointerException
at java.io.File.(File.java:222)

Cause: Parameter is not correct in xml file undefined main_mode parameter:recomplie which pointing to opmn.xml
file.

apptest@ctssd $ grep -i s_jsp_main_mode $CONTEXT_FILE
recomplie
apptest@ctssd $

Solution:
1)stop the appliction services
2)change parameter in xml file
3)Run autoconfig.
4)start applicationn services and do sanity checck.
4)after doing above step issue got resolved.

Friday 21 June 2013

opmn overview

Metalink id says
==========

The Apache and OC4J processes are not started independently but are started, stopped and managed by the OPMN process.


This means that the OPMN process must be started first, then you ask OPMN to startup Apache and any OC4J processes that are needed.
R12 creates 3 OC4J instances:
  • OACore - runs OA Framework-based applications
  • Forms - runs Forms-base applications
  • OAFM (Oracle Apps Fusion Middleware) - runs web services, mapviewer, ascontrol


The startup/shutdown scripts for EBiz are located in directory defined by the environment variable $ADMIN_SCRIPTS_HOME

The scripts we will investigate further in this document are
  • adstrtal.sh : Starts all enabled services
  • adopmnctl.sh : Start just the OPMN process
  • adapcctl.sh : Startup Apache listener
  • adoacorectl.sh : Startup "oacore" OC4J
  • adformsctl.sh : Startup "forms" OC4J
  • adoafmctl.sh : Startup "oafm" OC4J



adstrtal.sh : Starts all enabled services


This script sends it's output to the log file $LOG_HOME/appl/admin/log/adstrtal.log
It first determines what services need to be started by scanning the $CONTEXT_FILE for "oa_service_group" entries that have "oa_service_group_status" = "enabled" and starts the services where "oa_service_status" is also set to "enabled"
The order of the entries in the $CONTEXT_FILE determines the order in which the enabled services are started
The "ctrl_script" entry defines the script that is executed to start the service, i.e. this links to the individual ad startup script
For example, given the following section in the $CONTEXT_FILE
    <oa_service_group type="root" title="Root Service">
        <oa_service_group_status oa_var="s_root_status">enabled</oa_service_group_status>
        <oa_service type="opmn">
            <oa_service_name oa_var="s_opmnname">Oracle Process Manager for VIS_myHost</oa_service_name>
            <oa_service_status oa_var="s_opmnstatus">enabled</oa_service_status>
            <oa_service_log oa_var="s_opmnlog">/oracle/VIS/inst/apps/VIS_myHost/logs/appl/admin/log/adopmnctl.txt</oa_service_log>
            <oa_service_env>
                <oa_env_include>web_home</oa_env_include>
            </oa_service_env>
            <timeout oa_var="s_opmntimeout">100</timeout>
            <ctrl_script oa_var="s_opmnctrl" osd="unix">/oracle/VIS/inst/apps/VIS_myHost/admin/scripts/adopmnctl.sh</ctrl_script>
        </oa_service>
    </oa_service_group> 
  1. adstrtal.sh will see the "oa_service_group_status" is set to "enabled" so looks inside this section.
  2. "oa_service_status" is also set to "enabled" so the script defined in the "ctrl_script" line (i.e. "adopmnctl.sh") will be executed with "start" passed as an argument to the script
  3. The "s_opmntimeout" variable specifies that the script will be given 100 seconds to complete the startup process, otherwise will generate an error. Each service has it's own timeout variable


=======================================


adopmnctl.sh : Start just the OPMN process


It is the OPMN process that actually starts and manages all other AS10g services, so this MUST be started correctly first in order for any of the other services to also start
Script arguments:
  • start = starts the OPMN service
  • status = show current status of all services
  • stop = stop OPMN service
This is an Ebiz specific wrapper script which sets the environment then eventually calls: 

    $ORA_CONFIG_HOME/10.1.3/opmn/bin/opmnctl

Output from the script is captured in log file 
    $LOG_HOME/appl/admin/log/adopmnctl.txt

Also check the OPMN log files
$LOG_HOME/ora/10.1.3/opmn directory
    opmn.dbg
    opmn.out
    opmn.log

OPMN is using the configuration file located at $ORA_CONFIG_HOME/10.1.3/opmn/conf/opmn.xml
This file defines the "ias-component" that are being managed and control information about these modules. For example:-
......................
<ias-component id="IASPT" status="disabled">
......................
......................
<ias-component id="OC4J">
    <process-type id="home" module-id="OC4J" status="disabled"
......................
......................
    <process-type id="oacore" module-id="OC4J" status="enabled" working-dir="$ORACLE_HOME/j2ee/home">
        <module-data>
            <category id="start-parameters">
                <data id="java-options" value="-server -verbose:gc -Xmx512M ............/>
                <data id="java-bin" value="/oracle/VIS/inst/apps/VIS_myHost/admin/scripts/java.sh"/>
                <data id="oc4j-options" value="-out ............./>
            </category>
            <category id="stop-parameters">
                <data id="java-options" value="-server -verbose:gc -Xmx512M ............/>
            </category>
        </module-data>
        <start timeout="600" retry="2"/>
        <stop timeout="120"/>
        <restart timeout="720" retry="2"/>
        <port id="default-web-site" range="21500-21504" protocol="ajp"/>
        <port id="rmi" range="20000-20004"/>
        <port id="jms" range="23000-23004"/>
        <process-set id="default_group" numprocs="2"/>
    </process-type> 


NOTE - If the service is enabled in CONTEXT.xml file, but disabled in opmn.xml then the eBiz script will run and complete successfully, but the service will not be started by OPMN. The log files will show why the service is not started in this case
You can check the OPMN processes are running with the following command:-
    ps -ef | grep opmn | grep -v grep




In R12 services are managed by OPMN(Oracle process manager and notification server).

OPMN COMPONENTS
==============
OPMN consists of two main components

1) Oracle Process Manager

2) Oracle Notification Server

1)Oracle Process Manager is responsible for below things.
=======================================
1) starting
2) stopping
3) restarting
4) monitoring the services it manages (this includes death detection and automatic restart of the process).


2) Oracle Notification Server

Oracle Notification Server is the transport mechanism for failure, recovery, startup, and other related notifications between components in AS.


Single configuration file(opmn.xml) is used OPMN to manage the services.
Config file location is given as $ORA_CONFIG_HOME/10.1.3/opmn/conf/opmn.xml

To see more in details
========================
http://docs.oracle.com/cd/B13597_05/core.904/b12057/common.htm#CACHJAGG

http://otndnld.oracle.co.jp/document/products/as10g/101300/B25221_03/core.1013/b15976/opmnctl.htm

wonderful document on opmn
==========================
http://isu.ifmo.ru/docs/IAS904/core.904/b12057/intro.htm#1015088

http://otndnld.oracle.co.jp/document/products/as10g/101300/B25221_03/core.1013/b15976/opmnctl.htm


OPMN SERVICES

Services managed by opmn are (grep process-type opmn.xml)

1) HTTP_Server
2) oacore
3) forms
4) oafm


Starting OPMN managed Services

Starting Complete OC4J container
=================================

 ./adopmnctl.sh startproc ias-component=OC4J

Starting individual process-type(s)

./adopmnctl.sh startproc ias-component=OC4J process-type=oafm              
./adopmnctl.sh startproc ias-component=OC4J process-type=forms
./adopmnctl.sh startproc ias-component=OC4J process-type=oacore



Starting HTTP Server (Apache)
      
./adopmnctl.sh startproc ias-component=HTTP_Server

Stoping OPMN managed Services

Stoping Complete OC4J container

./adopmnctl.sh stopproc ias-component=OC4J
    

Stoping individual process-type(s)
       
 ./adopmnctl.sh stopproc ias-component=OC4J process-type= oafm              
 ./adopmnctl.sh stopproc ias-component=OC4J process-type= forms
 ./adopmnctl.sh stopproc ias-component=OC4J process-type= oacore
    

Stoping HTTP Server (Apache)
./adopmnctl.sh stopproc ias-component=HTTP_Server

Benefits of OPMN

OPMN detects the death of the process which it manages and brings up in almost no time.
1) OS process is checked by OPMN for every 2 seconds.
2) forward ping: periodically OPMN pings the process for every 20 seconds and expects response
3) reverse ping: every 20 seconds managed process sends OPMN a ping notification.

Read more on http://www.oracle.com/technetwork/middleware/ias/opmn-101310-faq-128379.pdf


Where to look for apache logs in ebs R12?
http://abduulwasiq.blogspot.in/2013/05/how-to-troubleshoot-oracle-http-server.html


Thanks for visiting my blog !!!!!!!!!!!!!!

Monday 17 June 2013

EBS Release Roadmap!!!

EBS Database Roadmap



E-Business Suite 12.2


There are lots of updates coming in this release, but from a technology stack perspective, EBS 12.2 will be notable for two things:
  1. Replacing Oracle Containers for Java (OC4J) 10g with WebLogic Server 11g.
  2. Online Patching support via 11gR2 Edition-Based Redefinition




1. Replacing OC4J with WebLogic Server
EBS 12.2 will use WebLogic Server from Fusion Middleware 11g in place of OC4J 10g as part of the release's internal technology stack.  Other additional new Fusion Middleware 11g components used will include WebLogic JSP and UIX 11g.  
2. Online Patching support via 11gR2 Edition-Based Redefinition
EBS 12.2 will use the 11gR2 Database's Edition-Based Redefinition features to provide support for Online Patching.  Edition-Based Redefinition is really exciting new technology. From the 11gR2 Application Developer's Guide:
"Edition-based redefinition enables you to upgrade the database component of an application while it is in use, thereby minimizing or eliminating down time.
"To upgrade an application while it is in use, you copy the database objects that comprise the application and redefine the copied objects in isolation. Your changes do not affect users of the application—they continue to run the unchanged application. When you are sure that your changes are correct, you make the upgraded application available to all users."
Online Patching means that patches that change EBS database objects can be applied while the E-Business Suite production instance is fully operational.  Only a short downtime will be required to complete the patching process.  This will ake your patching downtimes more predictable.
Read more on Steven chan blog !!!





Friday 14 June 2013

CONC-SM TNS FAIL in concurrent manager logfile.

Error in internal  concurrent manager logfile
==============================
CONC-SM TNS FAIL

Call to PingProcess failed for FNDOPP
CONC-SM TNS FAIL
Call to PingProcess failed for FNDOPP
CONC-SM TNS FAIL
Call to PingProcess failed for FNDOPP

Metalink id:
========
Concurrent Processing – CONC-SM TNS FAIL In Internal Concurrent Manager (ICM) Log File With Virtual Hosts Configuration (Doc ID 961216.1)

Solution:
1)Check mout point
2)Run cmclean.sql
3)start concurrent manager
Run cmclean.sql
===========

SQL> show user
USER is "APPS"
SQL> @/u01/.wasiq/scripts/cmclean.sql
DOC>
DOC>WARNING : Do not run this script without explicit instructions
DOC>from Oracle Support
DOC>
DOC>
DOC>*** Make sure that the managers are shut down ***
DOC>*** before running this script ***
DOC>
DOC>*** If the concurrent managers are NOT shut down, ***
DOC>*** exit this script now !! ***
DOC>
DOC>#
If you wish to continue type the word 'dual':
If you wish to continue type the word 'dual': dual



-----------------------------------------------------------------------
-- Updating invalid process status codes in FND_CONCURRENT_PROCESSES

0 rows updated.


-----------------------------------------------------------------------
-- Updating running processes in FND_CONCURRENT_QUEUES
-- Setting running_processes = 0 and max_processes = 0 for all managers

54 rows updated.


-----------------------------------------------------------------------
-- Updating invalid control_codes in FND_CONCURRENT_QUEUES

Manager short name Control code
-------------------- ------------
FNDCRM N
FNDSCH N
STANDARD N
PODAMGR N
RCVOLTM N
PASMGR N
GEPSNOTML N
INVMGR N
INVTMRPM N
MRPMGR N
CRPINQMGR N
WFWSSVC N
WFALSNRSVC N
WFMLRSVC N
FNDCPOPP N
FNDSM_CTSSD N

16 rows updated.


54 rows updated.


-----------------------------------------------------------------------
-- Updating any Running or Terminating requests to Completed/Error

0 rows updated.


-----------------------------------------------------------------------
-- Updating any Runalone flags to 'N'

Updated 0 rows of runalone_flag in fnd_conflicts_domain to 'N'

-----------------------------------------------------------------------
Updates complete.
Type commit now to commit these updates, or rollback to cancel.
-----------------------------------------------------------------------

SQL> commit;

Commit complete.

SQL>

Start concurrent manager .

after doing above steps CM is came up!!!