Thursday, June 16, 2011

How To Trace a Concurrent Request And Generate TKPROF

Enable Tracing For The Concurrent Manager  Program

Select the Enable Trace Checkbox

Concurrent Manager  Program

Note : Checking the Trace Check box on the Concurrent Program gives an Event 10046
Level 8 trace. So even if the trace is set for Binds and Waits on the Submission form once the
concurrent program is encountered in the trace it will reset to level 8 so no binds
will be present in the trace after that point.

Turn On Tracing

  • Responsibility: System Administrator

  • Navigate: Profiles > System

  • Query Profile Option Concurrent: Allow Debugging

  • Set profile to Yes


Run Concurrent Program With Tracing Turned On

  • Logon to the Responsibility that runs the Concurrent Program

  • In the Submit Request Screen click on Debug Options (B)

  • Select the Checkbox for SQL Trace


The Concurrent Manager  Program


If the Debug option is greyed out & not updateable set the profile Concurrent: Allow Debugging to Yes


2. Find Trace File Name


Run the following SQL to find out the Raw trace name and location for the concurrent program.  The SQL prompts the user for the request id
prompt
accept request prompt 'Please enter the concurrent request id for the appropriate concurrent program:'
prompt

column traceid format a8
column tracename format a80
column user_concurrent_program_name format a40
column execname format a15
column enable_trace format a12
set lines 80
set pages 22
set head off

SELECT 'Request id: '||request_id ,
'Trace id: '||oracle_Process_id,
'Trace Flag: '||req.enable_trace,
'Trace Name:
'||dest.value||'/'||lower(dbnm.value)||'_ora_'||oracle_process_id||'.trc',
'Prog. Name: '||prog.user_concurrent_program_name,
'File Name: '||execname.execution_file_name|| execname.subroutine_name ,
'Status : '||decode(phase_code,'R','Running')
||'-'||decode(status_code,'R','Normal'),
'SID Serial: '||ses.sid||','|| ses.serial#,
'Module : '||ses.module
from fnd_concurrent_requests req, v$session ses, v$process proc,
v$parameter dest, v$parameter dbnm, fnd_concurrent_programs_vl prog,
fnd_executables execname
where req.request_id = &request
and req.oracle_process_id=proc.spid(+)
and proc.addr = ses.paddr(+)
and dest.name='user_dump_dest'
and dbnm.name='db_name'
and req.concurrent_program_id = prog.concurrent_program_id
and req.program_application_id = prog.application_id
--- and prog.application_id = execname.application_id
and prog.executable_application_id = execname.application_id
and prog.executable_id=execname.executable_id;



To check the timeline of the request :
SELECT request_id, TO_CHAR( request_date, 'DD-MON-YYYY HH24:MI:SS' )
request_date, TO_CHAR( requested_start_date,'DD-MON-YYYY HH24:MI:SS' )
requested_start_date, TO_CHAR( actual_start_date, 'DD-MON-YYYY HH24:MI:SS' )
actual_start_date, TO_CHAR( actual_completion_date, 'DD-MON-YYYY HH24:MI:SS' )
actual_completion_date, TO_CHAR( sysdate, 'DD-MON-YYYY HH24:MI:SS' )
current_date, ROUND( ( NVL( actual_completion_date, sysdate ) - actual_start_date ) * 24, 2 ) duration
FROM fnd_concurrent_requests
WHERE request_id = TO_NUMBER('&p_request_id');

You may produce a complete report reference of the request ID using the Note:187504.1 bde_request.sql Process and Session info for one Concurrent Request(11.5)

3. TKPROF Trace File


Once you have obtained the Raw trace file you need to format the file using TKPROF.
$tkprof raw_trace_file.trc output_file explain=apps/apps sort=(exeela,fchela) sys=no

Where:

raw_trace_file.trc: Name of trace file
output_file:        tkprof out file
explain:            This option provides the explain plan for the sql
statements
sort:               This provides the sort criteria in which all sql
statements will be sorted.  This will bring the bad sql at
the top of the outputfile.
sys=no:             Disables sql statements issued by user SYS


How to check whether the port is opened or not from client machine

Status Check of port 8000 from Windows Operating System

Go to Start menu tab.   Then run ‘cmd,’ which will take you to the command prompt.

In the command prompt, you must type the following command and hit Enter:

telnet 123.456.789.86 8000

Sunday, June 12, 2011

Oracle Fusion Application Architecture

Oracle Fusion Application Architecture

Oracle Fusion Applications is set of business applications (CRM, HCM, HRMS, Financials..) deployed on Oracle Fusion Middleware  (as middleware) and using Oracle Database as data repository .

1. Oracle Applications is delivered as a Suite (collection of modules), but can be adopted in modules (suset of Suite).

2. Various Modules in Fusion Applications are
a) Oracle Fusion CRM (Customer Relationship Management) - customers, contacts, and resources
b)Oracle Fusion Financials - assets, ledgers, cash cycle, invoices and payments, accounts receivable, collections, and setup of sub-ledger accounting and tax configuration
c) Oracle Fusion HCM (Human Capital Management) - Employee management for an organization
d) Oracle Fusion Procurement  - procurement including requisitions, purchase orders, and supplier negotiations
e) Oracle Fusion PPM (Project Portfolio Management) - projects, budget, forecast, collect costs, bill customers, and report performance.
f) Oracle Fusion SCM (Supply Chain Management) - integrates and automates all key supply chain processes.
g) Oracle Fusion Setup - special product family for Functional Setup and setting up Home Page or Help.
h) Oracle Fusion GRC (Governance, Risk, and Compliance) - automated controls enforcement to enable sustainable risk and compliance management.

3. EAR, JAR, and WAR
a) EAR is enterprise application archive (enterprise application) which contains JAR and WAR files.
b) JAR is Java application Archive which contains Java EE application.
c) WAR is Web application Archive which contains Web Application.

Each product in Fusion Application typically has one-to-one relationship with EAR file, for ex. EarSales.ear is an enterprise application for product Sales.

4. Product Families (CRM, HCM, Financials) mentioned above contains one or more Java EE applications and are deployed on Oracle WebLogic Server.

5. An application can contain multiple products, and a product can also span across multiple  applications.

Oracle Fusion Application Architecture

6.There are two type of components in Fusion Middleware , Java Components(deployed and managed by WebLogic) and System Component (managed by OPMN) and Fusion Applications uses both these components.

For basic concepts in Oracle Fusion Middleware click here

7.  Oracle Fusion Applications consists of following components
a) Oracle Fusion Applications (CRM, HCM, Projects, Financials…)
b) Oracle Fusion Middleware Infrastructure Components for Fusion Applications (Enterprise Scheduler, FMW Extension for Applications, Crawl & Search and Functional Setup Manager)
Note: Enterprise Scheduler is similar to Concurrent Manager in EBS 11i/R12
c) Oracle Fusion Middleware (WebLogic, OHS, WebGate, OWSM, ADF, OBIEE, ODI, ECM, IDAM, IDM, WebCenter, SOA, OWSM..)
d) Database

8. Task of Fusion Applications Administrators
a)
Installation and Deployment
b) Management & Availability
c) Debugging/Troubleshooting
d) Cloning
e) Backup & Recovery
f)Patching (Fusion Applications Patch Manager, AutoPatch, AD Controller)

9.Oracle Fusion Applications is currently available for Linux x86-64 from eDelivery edelivery

Oracle Fusion Application Architecture