Wbe Script
-
Upload
dock-n-den -
Category
Documents
-
view
7 -
download
3
description
Transcript of Wbe Script
REM HEADERREM $Header: atg_supp_wfbkgrnd.sql v1.0 AXGONZAL $REM
REM MODIFICATION LOG:REM Created: Dec 30th, 2008REM 7-FEB-2009
AXGONZAL modified queriesREM REM REM This script was created to
collect the required informationREM to analyze wf background engine
problemsREMREM How to run it?REM REM sqlplus apps/REMREM
@atg_supp_wfbkgrnd.sqlREMREM Parameter:REMREM NoneREM REM Output
file REM REM wf_bkgrnd.htmlREMREMREM REM set arraysize 1set heading
offset feedback offset verify offSET CONCAT ONSET CONCAT .set lines
120set pages 9999def outputfile = "wf_bkgrnd.html"spool
&&outputfileprompt alter session set NLS_DATE_FORMAT =
'DD-MON-YYYY HH24:MI:SS';prompt prompt prompt prompt Workflow
Backgroun Engine Diagnostic Script prompt prompt prompt prompt
prompt prompt prompt prompt prompt Workflow Backgroun Engine
prompt
Quick Links to Tablesprompt prompt Database Parametersprompt
DBA_QUEUESprompt WF_DEFERRED_TABLE_Mprompt Activities in Deferred
Statusprompt prompt prompt WF_ITEM_ATTRIBUTE_VALUESprompt
WF_ITEM_ACTIVITY_STATUSESprompt FND_CONCURRENT_PROGRAMSprompt
PACKAGE_VERSIONSprompt prompt prompt REMREM ******* DATABASE
PARAMETERS *******REMprompt prompt prompt DB PARAMETERS
prompt NAMEprompt VALUEselect ''||NAME||''||chr(10)||
''||VALUE||''||chr(10)||''from v$parameterwhere upper(name) in
('AQ_TM_PROCESSES','JOB_QUEUE_PROCESSES','JOB_QUEUE_INTERVAL')order
by name;prompt prompt prompt prompt If aq_tm_processes value is
equal to zero, please contact the DBA to change it to 1 or
higher.prompt REMREM ******* DBA_QUEUES *******REMprompt prompt
prompt DBA_QUEUES prompt prompt OWNERprompt
QUEUE_NAMEprompt ENQUEUEprompt DEQUEUEprompt
RETRIESprompt RETENTIONprompt DELAYselect
''||q.OWNER||''||chr(10)||''||q.NAME||''||chr(10)||''||q.ENQUEUE_ENABLED||''||chr(10)||''||q.DEQUEUE_ENABLED||''||chr(10)||''||to_char(q.MAX_RETRIES)||''||chr(10)||''||q.RETENTION||''||chr(10)||''||to_char(q.RETRY_DELAY)||''from
ALL_QUEUES qwhere (q.NAME like '%WF_DEFERRED_%')order by
q.NAME;prompt REMREM ******* WF_DEFERRED_TABLE_M *******REMprompt
prompt prompt WF_DEFERRED_TABLE_M - All Event
Information
prompt prompt ITEM_TYPEprompt ITEM_KEYprompt STATEprompt
PRIORITYprompt w.ENQ_TIMEprompt w.DEQ_TIMEprompt w.MSGIDselect
''||w.user_data.itemtype||''||chr(10)||''||decode(w.state, 0, '0 =
Ready',1, '1 = Delayed',2, '2 = Retained/Processed',3, '3 =
Exception',to_char(w.state))||''||chr(10)||''||count(*)||''||chr(10)||''from
wf_deferred_table_m wgroup by w.user_data.itemtype, w.state;prompt
prompt prompt prompt Ready = Activity is ready to be
processed
prompt Delayed = Activity will be processed later
prompt Retained = Activity was already processed
prompt Exception = Activity had an error prompt REMREM *******
WF_ITEM_ACTIVITY_STATUSES *******REMprompt prompt prompt
WF_ITEM_ACTIVITY_STATUSES - Activities in Deferred
Statusprompt prompt ITEM_TYPEprompt ITEM_KEYprompt
ROOT_ACTIVITYprompt ROOT_ACTIVITY_VERSIONprompt
ITEM_BEGIN_DATEprompt END_DATEprompt ACTIVITY_LABELprompt
ACTIVITY_STATUSprompt ACTIVITY_RESULT_CODEprompt ERROR_NAMEprompt
ACTIVITY_BEGIN_DATEselect
''||wi.item_type||''||chr(10)||''||wi.item_key||''||chr(10)||''||wi.root_activity||''||chr(10)||''||wi.root_activity_version||''||chr(10)||''||wi.begin_date||''||chr(10)||''||wi.end_date||''||chr(10)||''||PRA.INSTANCE_LABEL||''||chr(10)||''||was.activity_status||''||chr(10)||''||was.ACTIVITY_RESULT_CODE||''||chr(10)||''||was.error_name||''||chr(10)||''||was.begin_date||''||chr(10)||''from
wf_items wi, wf_item_activity_statuses was, wf_process_activities
PRAwhere wi.item_type = was.item_typeand wi.item_key =
was.item_keyand wi.end_date is nulland was.end_date is nulland
was.activity_status = 'DEFERRED'and was.item_type = wi.item_typeand
was.item_key = wi.item_keyand PRA.instance_id(+) =
was.process_activityorder by wi.item_key;prompt REMREM *******
WF_ITEM_ATTRIBUTE_VALUES *******REMprompt prompt prompt
WF_ITEM_ATTRIBUTE_VALUES table - Items with more than 1000
rowsprompt prompt ITEM_TYPEprompt COUNTselect
''||ITEM_TYPE||''||chr(10)||''||COUNT(*)||''from
WF_ITEM_ATTRIBUTE_VALUESgroup by item_typehaving count(*) >
1000order by COUNT(*) desc;prompt REMREM *******
WF_ITEM_ACTIVITY_STATUSES *******REMprompt prompt prompt
WF_ITEM_ACTIVITY_STATUSES table - Items with more than 1000
rowsprompt prompt ITEM_TYPEprompt COUNTselect /*+
parallel(ITEM_TYPE,4)*/''||ITEM_TYPE||''||chr(10)||''||COUNT(*)||''from
WF_ITEM_ACTIVITY_STATUSES group by item_typehaving count(*) >
1000order by COUNT(*) desc;prompt REMREM *******
FND_CONCURRENT_PROGRAMS *******REMprompt prompt prompt Workflow
Background Programs Executed Today prompt prompt
REQUEST_IDprompt PROGRAM_NAMEprompt
REQUEST_DATEprompt PARAMETERSprompt
PHASEprompt STATUSselect
''||r.request_id||''||chr(10)||''||p.concurrent_program_name||''||chr(10)||''||r.request_date||''||chr(10)||''||r.argument_text||''||chr(10)||''||a.meaning||''||chr(10)||''||b.meaning||''from
fnd_concurrent_programs p, fnd_concurrent_requests r, fnd_lookups
a, fnd_lookups bwhere p.concurrent_program_id =
r.concurrent_program_id and p.concurrent_program_name like
'FNDWFBG'and a.LOOKUP_TYPE = 'CP_PHASE_CODE'and a.LOOKUP_CODE =
r.phase_codeand b.LOOKUP_TYPE = 'CP_STATUS_CODE'and b.LOOKUP_CODE =
r.status_codeand to_char(r.request_date,'MM-DD-YYYY') >=
to_char(sysdate,'MM-DD-YYYY')order by 1 desc;prompt prompt prompt
prompt Development has provided recommendations about how to run
this program in order to avoid performance with it.
prompt The recommendation is to run three separate background
engines at different intervals:
prompt .
prompt a. Run a background engine to handle only deferred
activities every 5 to 60 minutes.
prompt b. Run a background engine to handle only timed out
activities every 1 to 24 hours as needed.
prompt c. Run a background engine to handle only stuck processes
once a week to once a month, when the load on the system is
low.
prompt .
prompt For more information refer to Note 266614.1 and Oracle
Workflow Administrators Guide on chapter 2.
prompt REMREM ******* PACKAGE_VERSIONS *******REMprompt prompt
prompt Package Versions prompt PACKAGE_NAMEprompt
TEXTselect ''||NAME||''||chr(10)||
''||TEXT||''||chr(10)||''from dba_sourcewhere name in
('WF_ENGINE')and line = 2;prompt spool offset heading onset
feedback onset verify onexit