Sei sulla pagina 1di 20

Subject:Troubleshooting Oracle Applications Performance Issues

Doc ID:169935.1 Type: TROU!"#$OOTI%&


Modified Date: '3()"('**9 Status: PU!I#$"+
Troubleshooting Oracle Apps
Performance Issues
Carlos Sierra
Apps Engineering CoE
Oracle Support
February 22 !updated on "#$%&#2"'
(urpose
Scope ) Application
(roble* Description
Categories of Co**on Tuning Issues
Certify
Statistics +at,ering
Transaction Tuning
-ac.#End Tuning
Tec,#Stac. Tuning
/eporting to Oracle
/elated Docu*ents
Purpose
(ractical guide in Troubles,ooting Oracle Applications (erfor*ance Issues0 Docu*ents a syste*atic
approac, to gat,er infor*ation and files usually re1uired to: categori2e3 researc,3 troubles,oot3 and
e4entually report to Oracle Support3 an Apps (erfor*ance Issue0 Docu*ents ,o5 to use t,e CoE
Scripts0
#cope , Application
T,is docu*ent ,as been registered as 6ote:7899":070 T,e e;pected audience is: Tec,nical Analysts or
D-As in4ol4ed in t,e process of reporting and<or sol4ing an Apps (erfor*ance Issue0 T,is docu*ent
assu*es t,e reader ,as an inter*ediate to ad4anced tec,nical bac.ground3 5it, a good understanding of
/D-MS concepts3 proficiency in S=&>(lus3 and co*fortable in t,e OS of t,e database ser4er0
T,e *ain focus of t,is 6ote is on Oracle E/( Apps 77i3 but references are *ade to earlier releases of
Oracle Apps !770 and 70?'0 Most of t,e tec,ni1ues and tools e;plained can e1ually be used for earlier
releases of Oracle Apps3 as 5ell as for t,e C/M *odules0
T,is docu*ent can be used in se4eral 5ays0 It can be used as a c,ec. list to si*ply gat,er infor*ation
and files usually re1uested by Oracle Support in order to report an Apps perfor*ance issue0 Or it can be
utili2ed as a process 5,ic, 5al.s t,e reader t,roug, co**on steps of t,e troubles,ooting process of
perfor*ance issues0 It can also be used as a reference source of tec,ni1ues and tools a4ailable to tune
applications0
@,ile follo5ing t,is process3 you *ay sol4e your perfor*ance issue0 If not3 you 5ill ,a4e gat,ered t,e
standard infor*ation and files re1uired to pursue its resolution0 T,is docu*ent classifies t,e Apps
(erfor*ance Issues into one of t,ree categories0 Once deter*ined t,e category3 it branc,es into t,e
details of t,at respecti4e category0
/ead t,is docu*ent entirely before starting to react to t,e steps of t,e troubles,ooting process0
Problem +escription
T,e first step in troubles,ooting any perfor*ance issue is to clearly describe t,e issue0 (roceed to create
an electronic file using any te;t editor3 and docu*ent in detail t,e sy*pto*s of t,e perfor*ance issue0
Aeep in *ind t,at you *ay 5ant to use your electronic docu*ent if you later need to report t,e
perfor*ance issue to Oracle for furt,er analysis0 Docu*ent and differentiate factual infor*ation and user
perceptions0 Bou *ay 5ant to use t,e te*plates pro4ided in t,e related docu*ents section at t,e botto*
of t,is note3 to start gat,ering your infor*ation in a 5ell organi2ed *anner0 Bou 5ill first need to
categori2e your issue ,o5e4er0
Bour detailed description s,ould include3 at least3 t,e follo5ing infor*ation:
70 @,at is t,e application group or *odule affected by your perfor*ance issueC E;a*ples: DA(D3 or
DO6T and =(D3 or Dall *anufacturing *odulesD3 Djust t,is For*D3 Dt,is list of transactionsD3 etc0
20 Instance or instances in 5,ic, it can be obser4ed0 Does it ,appen in (roductionC
De4elop*entC TestC All of t,e*C If it does not ,appen in all your en4iron*ents3 docu*ent 5,at
is different a*ong t,e*0 Try to deter*ine if t,e difference a*ong t,e* can be isolated0 T,is
*ay narro5 t,e proble* to a 4ery specific area0
"0 Deter*ine if t,e poor perfor*ance is e1ually obser4ed 5,en t,e syste* load is eit,er lo5 or
,ig,0 @,at if t,ere is only one acti4e userC Is it e1ually slo5C Docu*ent if t,e poor
perfor*ance .eeps any relation to t,e syste* load3 or not at all0
E0 Is t,e perfor*ance issue affecting one user onlyC If no3 docu*ent ,o5 *any users are affected0
:0 If your application is used on *ultiple locations: Does t,e location see* to affect t,e
perfor*anceC Do all users in all locations e;perience t,e sa*e perfor*anceC Can you state
t,at poor perfor*ance ,as not,ing to do 5it, t,e user locationC
80 Can you reproduce t,e issue syste*aticallyC Docu*ent ,o5 can t,e issue be syste*atically
reproduced0 If you canDt3 docu*ent 5,y not0 In any case3 try to reproduce it syste*atically and
docu*ent your findings0
?0 Do you ,a4e a 5or.around a4ailableC @,at is itC
F0 @,en 5as t,e last ti*e you could co*plete t,e process or transaction 5it,out e;periencing poor
perfor*anceC Docu*ent 5,at ,as c,anged since t,en0
90 Deter*ine if any soft5are ,as been installed or upgraded in your ser4er or instance since t,e
proble* started0 Include any /D-MS3 Applications or "rd party soft5are in your analysis0
70 Docu*ent any patc,es applied recently 5,ic, could ,a4e affected your perfor*ance0 Include
Operating Syste* patc,es as 5ell as patc,es fro* /D-MS or Apps0
-ategories of common Tuning Issues
T,e detailed description of t,e perfor*ance issue s,ould be sufficient to categori2e it into one of t,e
follo5ing " ,ig,#le4el areas0 Deter*ine 5,ic, category best describe your issue0 /e4ie5 and docu*ent
t,e Certify and Statistics +at,ering sections belo50 T,en proceed to t,e tuning section corresponding to
t,e ,ig,#le4el category0
1. Transaction Tuning : One specific transaction denotes poor perfor*ance0 It *ay be a For*3 a
Concurrent (rogra*3 or a specific operation 5it,in a For* !i0e0 t,e clic. of a button3 sa4ing one
ro53 displaying a list of 4alues3 etc0'0 If your issue affects *ore t,an one transaction but just a
fe5 of t,e*3 it can still be classified as transaction tuning0 Bou *ay 5ant to diagnose and
docu*ent eac, issue separately0 Transaction Tuning usually translates into S=& Tuning0
2. -ac.#End Tuning : O4erall poor perfor*ance is obser4ed3 or se4eral transactions perfor* poorlyG
usually fro* *ore t,an one application group0 T,is category typically includes issues 5,ere
syste* load ,as an i*pact in t,e o4erall perfor*ance3 or it degraded after a *ajor soft5are
upgrade0 -ac.#End Tuning usually translates into D- Ser4er Tuning and<or OS Tuning0
3. Tec,#Stac. Tuning : 6a4igation bet5een For*s or 5it,in For*s perfor*s poorly affecting se4eral
For*s0 Opening a For* ta.es an unusual long ti*e0 Different perfor*ance is obser4ed fro* one
location to anot,er0 So*e users are affected but no ot,ers0 -ac.#End ,as been re4ie5ed and
ruled out0 Tec,#Stac. Tuning is also .no5n as Middle#Tier Tuning0
-ertif.
%se Certify 5it,in Meta&in. to 4erify t,at your specific co*bination of (latfor*<Operating Syste*3
/D-MS /elease and Oracle Applications /elease3 is fully certified0 On Meta&in. *ain DCertify # (latfor*
Selection pageD select your bac.#end ser4er platfor*0 On t,e D(roduct +roup selection pageD3 select DE#
-usiness SuiteD0 /e4ie5 t,e +eneral 6otes0 Select your co*bination of Apps /elease !Oracle E#
-usiness Suite Hersion'3 /D-MS /elease !Oracle Ser4er Hersion'3 and DCertified co*binations onlyD0
&ocate your OS /elease in t,e DDatabase Tiers Certifications pageD and re4ie5 t,e ,otlin.s under
DAdditional InfoD and DIssuesD colu*ns0 If t,ere are DInteroperability 6otesD for your i*ple*entation3 please
re4ie5 t,e*0 %nder t,e DIssuesD ,ot lin. you *ay encounter a list of .no5n -ugs and Issues affecting
your particular co*bination of OS</D-MS<Apps /eleases0 (lease re4ie5 t,e list of .no5n -ugs and
Issues carefully and docu*ent in your electronic file:
70 &ist of .no5n -ugs and Issues according to your OS</D-MS<Apps /eleases t,at *ay relate to
your perfor*ance issue0
20 @,ic, of t,e related -ugs ,a4e been appliedC
"0 @,ic, ones ,a4e not yet been appliedC E;plain 5,y0
%ote/ -e a5are t,at t,e list of .no5n -ugs and Issues c,anges periodically0 T,erefore3 it is a good
practice to re4ie5 t,is list of .no5n -ugs and Issues affecting your 4ery specific (roduct co*bination
e4ery ti*e you need to troubles,oot a ne5 perfor*ance issue0
#tatistics &athering
Statistics +at,ering in 77i
Statistics +at,ering in 770 and 70?
Oracle Applications 77i and later uses t,e Cost -ased Opti*i2er to generate e;ecution plans for S=&
state*ents0 In order to generate opti*al e;ecution plans3 t,e C-O re1uires updated statistics regarding
your data 4olu*e and distribution0 Statistics used by t,e C-O are stored in t,e data dictionary and can
be 1ueried using se4eral a4ailable 4ie5s0 Oracle Applications 70? and 770 *ostly use t,e /ule -ase
Opti*i2er0 Still a ,andful of S=& state*ents fro* t,ese earlier releases of Oracle Apps in4o.e t,e C-O
by using e*bedded C-O Iints0 T,erefore3 all Oracle Applications /eleases *ust ,a4e current C-O
statistics a4ailable for pertinent sc,e*a objects belonging to t,e installed Apps *odules0
T,ere are se4eral tools a4ailable to gat,er C-O statistics0 All of t,e* allo5 to gat,er stats eit,er by
reading all t,e data on t,e table or inde; !co*pute *et,od'3 or just a sa*ple of t,e data !esti*ate
*et,od'0 For Oracle Applications t,ere is no need to gat,er e;act stats using t,e Dco*pute statisticsD
*et,od0 @,en gat,ering C-O stats you s,ould generally use t,e Desti*ateD *et,od 5it, a sa*ple si2e of
7J0
/egarding t,e fre1uency of t,e C-O statistics gat,ering3 t,e rig,t sc,edule really depends on your data3
based on ,o5 often it c,anges0 Typically3 gat,ering C-O statistics at least once per *ont,3 5it, an
esti*ated sa*ple of 7J3 on all pertinent sc,e*a objects belonging to Apps installed *odules3 ,as
pro4ed to be sufficient for *ost clients0 So*e clients prefer to gat,er C-O statistics 5ee.ly3 during a
1uiet syste* load inter4al0 Ot,er clients prefer to opti*i2e t,e gat,ering of C-O stats3 by sc,eduling t,e
fre1uency and esti*ate sa*ple percentage according to t,e current si2e of t,eir tables0
In any case3 if you suspect t,at your C-O stats *ay be affecting your process perfor*ing poorly3 a *ore
aggressi4e C-O stats gat,ering is usually 5ort, atte*pting0 Measure t,e perfor*ance again if you
refres,ed your C-O statistics for one or *ore sc,e*a objects accessed by your process perfor*ing
poorly0 -e a5are t,at prior *easure*ents3 Traces3 Trace Analy2er and TA(/OF files3 *ay beco*e
in4alid0
Also .eep in *ind t,at 5,en an object ,as its C-O stats refres,ed3 all references to t,at object in t,e
s,ared pool or library cac,e beco*e in4alid3 re1uiring a ne5 ,ard parse for eac, S=& state*ent
referencing t,e object0 T,erefore3 in order to a4oid te*porarily affecting t,e perfor*ance of all acti4e
users in a production en4iron*ent3 you *ust refrain fro* gat,ering C-O stats during ti*es of intensi4e
syste* usage0 Al5ays sc,edule t,e C-O stats gat,ering during periods of ti*e 5it, 4ery lo5 syste*
load3 and 5,en t,e nu*ber of acti4e users is at its *ini*u*0 In ot,er 5ords: DO 6OT +ATIE/ C-O
STATS @IE6 6%M-E/ OF ACTIHE %SE/S IS MEDI%M TO II+I0
%ote/ Try gat,ering stats at least once per *ont, and 5it, an esti*ate sa*ple si2e of 7J for all your
sc,e*a objects belonging to Apps0 If you can afford gat,ering stats e4ery 5ee.3 do so !it is preferred3 but
not re1uired'0 Al5ays gat,er stats 5it, no acti4e users3 or 5,en syste* load is 4ery lo50
/egarding your C-O statistics gat,ering3 docu*ent in your electronic file:
70 Fre1uency of t,e C-O stats gat,ering on t,e pertinent sc,e*a objects accessed by your process
perfor*ing poorly !*ont,ly3 5ee.ly3 daily3 etc0'
20 Met,od used !per table3 per sc,e*a3 all sc,e*as3 etc0'
3. Tool used !coe_stats.sql3 FND_STATS3 DBMS_STATS3 ANALYZE co**and3
DBMS_UTILITY'
E0 Esti*ate sa*ple si2e percentage used !or if co*pute *et,od3 specify so'
:0 @,en 5as t,e last ti*e t,e C-O stats 5,ere gat,ered for t,e affected sc,e*a objectsC
%ote/ %sing Fi3 ne4er gat,er C-O statistics for data dictionary objects o5ned by user DSBSD0 T,e only
e;ception is t,e table D%A& o5ned by SBS3 for 5,ic, FND_STATS gat,ers stats 5,en e;ecuted for
one or all sc,e*as0
#tatistics &athering in 11i
Fro* all t,e tools a4ailable3 Oracle Apps 77i *andates t,e e;clusi4e use of t,e FND_STATS pac.age
to gat,er t,e C-O stats0 T,is pac.age can be in4o.ed eit,er fro* a seeded Concurrent (rogra*3 or
directly fro* S=&>(lus0 @,en in4o.ed using t,e seeded Concurrent (rogra*s3 use only t,e D+at,er
Sc,e*a StatisticsD or t,e D+at,er Table StatisticsD0
@,en using t,e D+at,ering Sc,e*a StatisticsD concurrent progra*3 pass only t,e sc,e*a na*e
para*eter0 &et t,e ot,er para*eters default auto*atically0 T,e sc,e*a na*e passed can be a specific
sc,e*a or DA&&D if you prefer to gat,er C-O stats for t,e pertinent objects belonging to all Apps installed
*odules3 using t,e esti*ate *et,od 5it, a sa*ple si2e of 7J !default'0 -e a5are t,is process *ay
ta.e se4eral ,ours to co*plete0
@,en using t,e D+at,er Table StatisticsD concurrent progra*3 pass only t,e o5ner of t,e table !sc,e*a
na*e' and t,e table na*e0 &et all ot,er para*eters default auto*atically3 e;cept 5,en t,e table ,as
been partitioned0 @,en gat,ering C-O stats for a partitioned table3 pass D(A/TITIO6D in t,e +ranularity
para*eter3 ot,er5ise FND_STATS 5ill calculate global stats !plus partition stats' instead of rolling up
t,e global stats fro* t,e partitions0 If t,is ,appens3 you *ay ,a4e to delete t,e global stats !5it, cascade
e1uals DfalseD' and gat,er t,e stats for one partition to once again enable t,e auto*atic rolling up into t,e
global stats0
To e;ecute t,e corresponding FND_STATS procedures fro* S=&>(lus to gat,er C-O stats for one or
all sc,e*as3 or for a particular table3 use t,e follo5ing e;a*ples:
# sqlplus apps/<apps_pw!
S"L! e#ec $%_stats.&at'e(_sc'e)a_stat*st*cs+,M-.,/0
<1 2%e sc'e)a
S"L! e#ec $%_stats.&at'e(_sc'e)a_stat*st*cs+,ALL,/0 <1 All
sc'e)as
S"L! e#ec
$%_stats.&at'e(_ta3le_stats+,M-.,4,M-._F2-E5AST_DATES,/0 <1 2%e
ta3le
S"L! 3e&*% <1
.a(t*t*o%e ta3le
6 $%_stats.&at'e(_ta3le_stats+ow%%a)e 7! ,A..LSYS,4
8 ta3%a)e 7!
,9F_ITEM_A5TI:ITY_STATUSES,4
; &(a%ula(*t< 7! ,.A-TITI2N,/0
= e%0
> /
T,ere is also a public script a4ailable t,at *ay ,elp you auto*ate t,e C-O statistics gat,ering0 T,is is
t,e coe_stats.sql script3 included and docu*ented in 6ote:7:898F070 T,e coe_stats.sql script uses
t,e FND_STATS pac.age and sc,edules t,e C-O stats gat,ering according to table si2es0 It uses t,e
esti*ate *et,od 5it, a 4ariable sa*ple si2e based also on table si2e0 It gat,ers stats *ore accurately
for s*all tables !larger sa*ple percent' and uses a s*aller sa*ple si2e percent for larger tables0 T,e
*ain benefit of t,is script is t,at it ,as t,e potential to reduce t,e o4erall C-O stats gat,ering e;ecution
ti*e 5it,out sacrificing stats accuracy0 If your total C-O stats gat,ering ti*e for all pertinent sc,e*a
objects is acceptable using plain FND_STATS procedures3 t,en t,ere is no need to e;plore using t,e
coe_stats.sql script0 In t,e ot,er ,and3 if yours is a 2E;? operation and you need to *ini*i2e t,e
5indo5 to gat,er C-O stats3 consider using t,e coe_stats.sql script0
If you are not confident of t,e current status of your o4erall C-O stats in your Apps 77i instance3
do5nload and e;ecute t,e 3e_last_a%al<?e.sql script fro* 6ote:78"2F070 T,is script reports t,e
current status of t,e C-O stats for all sc,e*a objects o5ned by Apps installed *odules0 It su**ari2es
by sc,e*a na*e !application group' and by date3 5,ere at least one sc,e*a object got its stats
refres,ed0 It 5arns you of possible erroneous stats gat,ering on sc,e*a objects o5ned by SBS0 It also
reports and 5arns on partitioned tables 5,ic, global and partition le4el stats are out of sync0 Bou can
e;ecute t,is 3e_last_a%al<?e.sql script at any ti*e0 -y re4ie5ing t,e su**ary page at t,e
beginning of t,e report produced3 you can 1uic.ly get t,e status of t,e C-O stats on your instance0
#tatistics &athering in 11.* an0 1*.1
For earlier /eleases of Oracle Applications you can use any tool a4ailable to gat,er C-O statistics0 T,e
reco**ended tool is t,e DBMS_STATS pac.age3 docu*ented in t,e corresponding DSupplied (&<S=&
(ac.ages /eferenceD *anual for your /D-MS /elease0 T,e FND_STATS pac.age did not e;ist on
770 or 70?3 but it is a4ailable t,roug, bac.#port patc, for -ug 728F?9?0 If you donDt ,a4e to ,a4e
FND_STATS installed on your 770 or 70? instance3 use DBMS_STATS instead0
-esides t,e DBMS_STATS pac.age3 t,e ANALYZE co**and docu*ented in t,e DS=& /eferenceD
*anual corresponding to your /D-MS /elease can also be used on 770 and 70?3 as 5ell as t,e
DBMS_UTILITY pac.age0
Transaction Tuning
Data +at,ering
/esearc,ing
Initial Troubles,ooting
Apps 77i init0ora para*eters
Ad4anced Troubles,ooting
Once you ,a4e 4alidated Certify and Statistics +at,ering3 proceed 5it, t,is ne;t section if your
perfor*ance issue 1ualifies as t,is ,ig,#le4el tuning category0
+ata &athering 2files an0 information3
+at,er t,e indicated files and docu*ent in your electronic file t,e follo5ing infor*ation:
70 Io5 long does it ta.e for t,e process to co*plete !specify ,ours<*ins<secs'C
20 Io5 long did it pre4iously ta.e !before ,a4ing t,e perfor*ance issue'C
"0 @,at is t,e e;pected perfor*ance for t,is process !specify ,ours<*ins<secs'C
E0 If you ,a4e any custo*i2ation related to t,is process3 docu*ent it in your electronic file3 in full
detail0
:0 Deter*ine *odule infor*ation re1uested belo53 for specific For*3 /eport3 (ac.age3 Main (ro>C3
etc0
70 Module internal na*e !s,ort na*e': For a For*3 use t,e *enu to find t,e s,ort na*e
and 4ersion0 For a concurrent progra*3 use t,e DConcurrent (rogra* DefineD For* fro*
t,e SBSADMI6 responsibility to find s,ort and long na*e0
20 Module title !descripti4e or long na*e': For a For*3 use t,e na4igation pat, or t,e title
displayed in t,e For*0
"0 Module 4ersion: For a concurrent progra* in %6IK3 na4igate to directory !i0e0
LA(MTO(<reports or L(OMTO(<bin' and use strings co**and:
# st(*%&s 1a <)oule! @ &(ep 1* ,ABeae(,
E0 &atest 4ersion a4ailable according to Meta&in.: %se D(atc,esD option on Meta&in. *ain
*enu0
:0 Current patc,set le4el for application group o5ning t,e affected *odule: As. your
Syste* Ad*inistrator or D-A0
80 &atest patc,set a4ailable according to Meta&in. for t,e application group: %se D(atc,esD
option on Meta&in. *ain *enu0
%ote/ If you find t,at you ,a4e an old 4ersion of t,e *odule3 be a5are t,at 1uite often a
ne5er 4ersion of it *ay fi; a .no5n perfor*ance issue0 T,is *ay be true e4en if you
donDt find a direct ,it in t,e list of issues fi;ed bet5een your 4ersion and t,e latest
4ersion0 If possible3 upgrade t,e affected *odule to t,e latest 4ersion a4ailable0 Also be
a5are t,at in *any cases3 due to intricate file dependencies3 Oracle De4elop*ent
re1uires you ,a4e t,e latest 4ersion of t,e *odule applied3 in order to troubles,oot a ne5
issue0
80 @,en t,e affected *odule is a (ro>C progra*3 generate a te;t file 5it, t,e list of *odules
!co*ponents' lin.ed to t,e (ro>C progra*0 %se t,is or si*ilar co**and:
# st(*%&s 1a <.(oC5 )oule! @ &(ep 1* ,ABeae(, ! M2DULES.TDT
?0 On a *ulti#org en4iron*ent3 deter*ine t,e O/+MID used 5,ile *onitoring t,e perfor*ance of t,e
affected *odule0 T,is O/+MID or Operating %nit is usually re1uired to later e;ecute an isolated
S=& state*ent perfor*ing poorly3 using S=&>(lus0 If you donDt .no5 t,e O/+MID3 use t,is
co**and to produce a list of Operating %nits3 and deter*ine t,e O/+MID fro* t,e list:
S"L! select o(&a%*?at*o%_* o(&_*4 %a)e $(o) '(_ope(at*%&_u%*ts0
F0 If your transaction perfor*ing poorly is a Concurrent (rogra*3 deter*ine if your application group
pro4ides a (rofile Option to turn O6 and OFF so*e sort of debugging infor*ation3 if it does3
e;ecute your Concurrent (rocess 5it, debugging infor*ation turned O6 and reco4er t,e &og file
generated !t,is is in addition to t,e Trace file re1uested belo5'0 /e4ie5 your &og file0
90 If yours is a Concurrent (rogra*3 docu*ent in your electronic file all t,e para*eters re1uested by
t,e e;ecution of your process3 indicating 5,ic, 4alues you passed3 including 5,ic, 4alues 5ere
left 6%&&3 or auto*atically defaulted0 Include all para*eter na*es and 4alues0 Aeep in *ind
t,at t,e nu*ber3 na*e3 or order of t,e para*eters *ay c,ange fro* one 4ersion of t,e *odule to
t,e ne;t0
70 For online transactions3 docu*ent in your electronic file3 in full detail3 t,e co*plete na4igation
pat,3 as 5ell as step#by#step instructions to reproduce your issue0 If t,e transaction perfor*ing
poorly is a 1uery3 docu*ent 5,ic, para*eters are passed to t,e 1uery3 as 5ell as3 5,ic,
para*eters are 6%&&3 or auto*atically defaulted0 -e as specific as possible0
11.If your transaction ,as been running for se4eral ,ours or days3 and you did not turn S=& Trace at
t,e beginning of it3 you can still capture t,e e;pensi4e S=& state*ents for furt,er analysis0
Do5nload3 fa*iliari2e yourself3 and e;ecute t,e 3e_sess*o%.sql script !6ote:7898"07'
and<or t,e S"LA-EAT.S"L script !6ote:2"F8FE07 for F07 and 6ote:78"2907 for F0'0 T,ese
scripts can be e;ecuted e4en a fe5 *inutes after t,e process ,as been .illed0 T,e for*er
re1uires t,e sessionMid3 t,e latter ,as no para*eters0
12.All Apps Transaction Tuning issues re1uire3 at t,e 4ery least3 one ra5 S=& Trace0 If tracing a
For*3 turn Trace O6 using t,e *enu !Ielp Diagnostics Trace Trace with Binds and
Waits), and set the trace size to unlimited !Ielp Diagnostics Trace nlimited
Trace !ile Size)0 If tracing a Concurrent (rogra*3 use 5,ate4er *et,od is a4ailable for your
Apps /elease !usually a c,ec. bo; at t,e Concurrent (rogra* Define For*'0 %nder so*e
specific conditions3 Oracle De4elop*ent re1uires a ra5 S=& Trace generated 5it, E4ent 7E8
!Trace with Binds and Waits)0 If you can pro4ide t,at special Trace up front3 it ,elps to
e;pedite t,e 5,ole process0 Once you generate t,e ra5 S=& Trace !standard for Concurrent
(rogra*s3 or 5it, E4ent 7E8 for any For*'3 co*press it and ,a4e it a4ailable in case you ,a4e
to pro4ide it to Oracle Support0 T,is file is usually large0 Traces are found in t,e
DuserMdu*pMdestD directory0
%ote/ It is co**on to iterate in t,is step because t,e ra5 S=& Trace generated does not ,a4e statistics
turned O63 or because it 5as truncated due to its si2e0 To a4oid t,is unnecessary loop in t,e process3
4erify t,ese t5o init0ora para*eters settings: Dti*edMstatisticsD set to T/%E3 and D*a;Mdu*pMfileMsi2eD set
to %6&IMITED0 On t,e ot,er ,and3 if your process D,angsD and you .illed it3 be a5are t,at e4en an
inco*plete ra5 S=& Trace *ay be useful to pin#point t,e S=& State*ent!s' perfor*ing poorly0
13.If you created a Trace 5it, -inds and @aits3 use t,e Trace Analy2er tool !6ote:22E2?07' to
analy2e your Trace0 T,is tool3 5,en used on t,e sa*e db instance 5,ere t,e Trace 5as
generated3 produces a co*pre,ensi4e report t,at can be used to identify e;pensi4e S=& in ter*s
of ser4ice and<or 5ait ti*es0
E;. # sqlplus apps/<apps_pw!
S"L! STA-T T-5ANLZ-.sql UDUM. p(o_o(a_FEG=.t(c0
7:0 For all Apps Transaction Tuning issues3 generate and be ready to pro4ide to Oracle Support3 one
TA(/OF file generated 5it, t,e E;plain (lan option0 TA(/OF reports *ust be generated on t,e
sa*e db instance 5,ere t,e ra5 S=& Trace 5as created0 If you ,ad to .ill t,e process because
it ne4er co*pleted3 donDt destroy t,e ra5 S=& Trace generated3 proceed to create a TA(/OF
fro* it as 5ell0 To generate one TA(/OF3 unsorted3 and 5it, E;plain (lan3 use t,is synta;:
# tHp(o$ E68;=.t(c E68;=.p($ e#pla*%7apps/<apps_pw!
%ote/ /ead t,e TA(/OF and deter*ine if it corresponds to t,e transaction perfor*ing
poorly0 (ro4iding to Oracle a TA(/OF 5,ic, does not correspond to t,e proble*atic
transaction is 4ery co**on3 and it causes unnecessary delays in t,e resolution of
perfor*ance issues0 In t,e TA(/OF3 you s,ould recogni2e table na*es and possibly
t,e transaction0 T,e total TA(/OF Elapsed Ti*e s,ould be close to t,e DuserD Elapsed
Ti*e0
Researching
At t,is point3 you can pursue your perfor*ance issue 5it, Oracle Support0 (ro4ide as *any of t,e
re1uested files as possible0 Or3 you *ay opt to participate *ore pro#acti4ely in t,e researc, p,ase by
perfor*ing t,e follo5ing steps before contacting Oracle Support:
70 %se t,e Trace Analy2er and<or TA(/OF file!s' to find t,e e;pensi4e S=& state*ents0 In *ost
cases you 5ant to focus your attention in t,ose S=& state*ents causing *ore t,an : to 2J of
t,e o4erall logical reads or elapsed ti*e totals !su**ari2ed in t,e first page of t,e Trace
Analy2er report3 or t,e last page of t,e TA(/OF'0 If you are using t,e Trace Analy2er3 you *ay
also 5ant to re4ie5 S=& state*ents 5it, large non#idle 5ait ti*es0
20 Docu*ent in your electronic file t,e *ost e;pensi4e S=& state*ent!s' found0 Include fro* t,e
Trace Analy2er or TA(/OF t,e bloc. s,o5ing t,e S=& state*entG t,e bloc. s,o5ing t,e parse3
e;ecute and fetc, statistics for t,e S=& state*entG and t,e bloc. t,at s,o5s t,e E;plain (lan for
it0
"0 For eac, e;pensi4e S=& state*ent !in *ost cases it is just one'3 searc, on Meta&in. for .no5n
issues0 /e4ie5 t,e S=& state*ent and grab fro* it significant and not#so#co**on colu*ns to
*a.e your searc, criteria as selecti4e as possible0 Ta.e pieces fro* t,e F/OM clause and t,e
@IE/E clause0 -e a5are t,at you *ay be e;periencing a perfor*ance issue already reported
by anot,er custo*er and for 5,ic, eit,er a fi; or a 5or.around e;ists0 @,ile doing your searc,
on Meta&in.3 you *ay 5ant to use also t,e s,ort na*e of t,e *odule !For* or Concurrent
(rogra*'0
E0 Docu*ent in your electronic file all Meta&in. ,its regarding your poorly perfor*ing S=&
state*ent!s'0 E4en if t,ey see* to be unrelated or ne4er fi;ed0
Initial Troubleshooting
If you decide to be pro#acti4e in t,e initial troubles,ooting p,ase3 perfor* t,e follo5ing steps for eac,
S=& state*ent identified fro* t,e Trace Analy2er or TA(/OF as e;pensi4e !according to t,e nu*ber of
logical reads perfor*ed3 or according to t,e elapsed ti*e for its co*plete e;ecution3 or t,e non#idle 5ait
ti*e'0 Start 5it, t,e 4ery *ost e;pensi4e S=& state*ent t,at is not a -E+I6 procedure or data dictionary
recursi4e S=&0 In ot,er 5ords3 focus only on DM& co**ands !SE&ECT3 %(DATE3 I6SE/T or DE&ETE'
accessing Apps tables and inde;es0
%ote/ If t,e *ost e;pensi4e state*ent in your Trace Analy2er or TA(/OF is 6OT a DM& co**and
!SE&ECT3 %(DATE3 I6SE/T or DE&ETE'3 in ot,er 5ords3 it is a (&<S=& library call3 use t,e profiler.s4l
script fro* 6ote:2E"?::070
1. Create a flat file !te;t type' pasting t,e DM& co**and !S=& state*ent' directly fro* t,e Trace
Analy2er or TA(/OF report0 &ea4e one and only one blan. line at t,e end of t,e S=&
state*ent0 Do not lea4e t,e state*ent 5it,out a single blan. line at t,e end3 and do not include
*ore t,an one blan. line at t,e end0 T,is is re1uired by t,e S"LTD.LAIN.S"L o(
coe_#pla*%_##.sql scripts0 Create your first flat file 5it, t,e na*e of sqlE.t#t3 t,e second
5it, sql6.t#t and so on0 T,e S"LTD.LAIN.S"L and coe_#pla*%_##.sql scripts can
,andle any file na*e3 but t,e standard is sql<%!.t#t0 -ind 4ariables !t,ose 5it, colons3 i0e0
D:b7D3D:2D' s,ould be left intact0 And you s,ould not ,a4e a se*icolon DGD at t,e end of your S=&
state*ent0
2. For /D-MS /elease F07 or later3 do5nload script S"LTD.LAIN.S"L fro* 6ote:27:7F? 07 0
For F0 do5nload coe_#pla*%_IG.sql fro* 6ote:7:89:9070 And for ?0" do5nload
coe_#pla*%_J8.sql fro* 6ote:7:898070 /ead t,e do5nloaded 4ersion of t,e script and
fa*iliari2e yourself 5it, it0
3. (lace your S"LTD.LAIN.S"L set of files or your coe_#pla*%_##.sql script and your
sql<%!.t#t file!s' into a dedicated directory0
". E;ecute S"LTD.LAIN.S"L or coe_#pla*%_##.sql script fro* S=&>(lus connecting as
apps<appsMp5d3 passing as t,e inline para*eter t,e na*e of t,e file containing your S=&
state*ent sql<%!.t#t as indicated by t,e instructions on t,e corresponding script !see
co**ands belo5'0 T,e S"LTD.LAIN.S"L or coe_#pla*%_##.sql script 5ill not e;ecute
your S=& state*ent included into sql<%!.t#t0 T,ey just parse your S=& state*ent and
proceed to e;plode it into pieces for a detailed analysis0
S"L! sta(t S"LTD.LAIN.S"L sql<%!.t#t
S"L! sta(t coe_#pla*%_##.sql sql<%!.t#t
#. If you need to pro4ide to Oracle Support t,e output of t,e S"LTD.LAIN.S"L or
coe_#pla*%_##.sql scripts3 co*press and send t,e 5,ole directory 5it, all spool files 5it,in it0
$. Fro* t,e Trace Analy2er or TA(/OF3 and fro* t,e spool file created by t,e
S"LTD.LAIN.S"L or coe_#pla*%_##.sql script3 deter*ine and co*pare t,e Opti*i2er
used0 It s,ould be consistent0 Docu*ent in your electronic file 5,ic, Opti*i2er is being used:
/ule -ased # /-O or Cost -ased # C-O0
?0 If using C-O3 good statistics of t,e sc,e*a objects accessed are crucial to generate an opti*al
e;ecution plan0 &ocate in your spool file t,e colu*n D&ast Analy2edD0 T,is colu*n tells you 5,en
you last gat,ered stats for eac, table accessed by your S=& state*ent0 !Bou can do t,e sa*e to
re4ie5 all inde;es'0 &oo. also at t,e colu*n t,at reads DDelta (ercentD to deter*ine gap bet5een
actual nu*ber of ro5s in your tables !dyna*ically calculated 5it, CO%6T function' and t,e
nu*ber of ro5s recorded in your data dictionary as part of t,e C-O stats for your tables
accessed by your S=& state*ent0 If your stats for t,e sc,e*a objects accessed by your S=&
state*ent are *ore t,an one *ont, old3 or t,e gap reported under t,e Ddelta percentD colu*n is
*ore t,en 7J3 you need to gat,er fres, stats for your affected sc,e*a objects0
%. Only for C-O: If you deter*ine t,at so*e or all t,e sc,e*a objects accessed by your S=&
state*ent re1uire refres,ed stats3 you *ust use t,e appropriate tool to gat,er stats according to
your Apps /elease0 If your Apps /elease is 77i3 you *ay 5ant to use t,e S"LTKSTATS.S"L
script included in t,e S"LT.?*p file0
&. Only for C-O: If you ,ad to refres, stats3 e;ecute t,e S"LTD.LAIN.S"L or
coe_#pla*%_##.sql script again to produce a ne5 E;plain (lan0 If t,e E;plain (lan c,anged3
*easure again t,e perfor*ance of your original transaction3 as it *ay ,a4e c,anged as 5ell0
70 If you are using C-O3 are on F07 or later3 and ,a4e only identified one e;pensi4e S=& state*ent3
t,ere are t5o files t,at you 5ant to reco4er and ,a4e a4ailable for Oracle Support0 -e a5are t,at
second file is -inary3 t,erefore you *ust copy across ser4ers as suc,0
1. Find in DuserMdu*pMdestD directory a ra5 S=& Trace generated by t,e
S"LTD.LAIN.S"L script auto*atically0 T,is ra5 S=& Trace file is co*pletely
unrelated to t,e first ra5 S=& Trace file you generated 5,en e;ecuting your original
transaction0 If S"LTD.LAIN.S"L was e'ecuted using S()*+lus on the d,
ser-er, the raw S() Trace generated ,. it ma. had ,een alread. co/ied into
the same dedicated director. 0rom which the scri/t was e'ecuted.
2. +enerate -inary file S"LT.)p 5it, your C-O statistics for affected objects3 by
e;ecuting E;port co**and !e;p' as per INST-U5TI2NS.TDT included in
S"LT.?*p0 %se co**and belo50 E;ecute e;port using O/AC&EMIOME F0080
# e#p apps/<apps_pw! $*le7S"LT
ta3les7,S"LTASTATTAB,
770 If you ,a4e a 4anilla instance3 or one in 5,ic, t,e sa*e transaction perfor*s fine3 follo5 t,e
sa*e steps to reproduce t,e E;plain (lan3 and co*pare t,e* to 4erify t,at you can produce t,e
sa*e E;plain (lan in bot, instances0 If not3 focus first on inde;es0 If you find inde;
discrepancies a*ong instances3 sol4e suc, discrepancies0
720 If you are using /-O and see in your E;plain (lan t,at a custo* inde; is being accessed3 drop
t,e custo* inde; and *easure t,e perfor*ance again0 -e a5are t,at once you drop an inde;
being accessed according to t,e E;plain (lan3 all prior *easure*ents and files beco*e in4alid0
T,e E;plain (lan 5ill c,ange3 as 5ell as t,e perfor*ance0
13.If on an 77i instance you notice t,at your S=& state*ent *a.es references to Apps Hie5s3 find
corresponding 4ie5 definitions in t,e spool file created by t,e S"LTD.LAIN.S"L script0 Bou
*ay optionally e;ecute t,e coe_L*ew.sql to generate scripts 5,ic, can be used later to clone
your 4ie5s fro* one instance into anot,er0 -e a5are t,ere *ay e;ist se4eral 4ersions of t,e
sa*e 4ie5 depending on t,e 4ersion of t,e corresponding ODF file used to create t,e 4ie50 Bou
can use t,e synta; of t,e co**and belo5 to searc, fro* t,e corresponding A((&MTO( for t,e
specific ODF file t,at creates a 4ie50 Once you .no5 t,e file and find its 4ersion3 you can searc,
on Meta&in. for ne5er 4ersions:
# $*% . 1t<pe $ 1e#ec &(ep 1*
M5Z_52M.2NENT_SELE5TI2NS_:M NO P0 1p(*%t
1".If on an 77i instance3 you *ay 5ant to ensure all re1uired and reco**ended init0ora para*eters
for 77i are set correctly0 Since you already ,a4e at least one S"LTD.LAIN.S"L or
coe_#pla*%_##.sql report3 near t,e end of t,e* you 5ill find a list of init0ora para*eters
affecting t,e be,a4ior of t,e C-O0 T,e init0ora para*eters re1uired for your Apps /elease are
clearly identified0 If necessary3 fi; any para*eter s,o5ing an incorrect setting3 and repeat your
test0
Apps 11i init.ora parameters
De4elop*ent ,as pro4ided an official list under 6ote:2782:070
Bou *ay optionally do5nload t,e 3e_c'H_c3o.sql script fro* 6ote:7?E8:070 T,is script allo5s to
1uic.ly 4alidate all database initiali2ation para*eters according to 6ote:2782:070 T,is script includes
5,ic, EHE6Ts *ust be set or unset for Oracle Apps 77i as 5ell0
A05ance0 Troubleshooting
T,is p,ase re1uires special s.ills3 and at t,is point *ost perfor*ance issues are raised to Oracle
Support0 If you are proficient in S=&>(lus and you understand t,e E;plain (lan3 you *ay 5ant to re4ie5
t,is sectionG ot,er5ise collect t,e re1uested files and pro4ide t,e* to Oracle Support0
Fully read t,e output of t,e S"LTD.LAIN.S"L or coe_#pla*%_##.sql script and *a.e sense of t,e
E;plain (lan and all related infor*ation0 Fa*iliari2e yourself 5it, t,is report and *a.e a sanity c,ec. on
its contents0
To proceed 5it, t,is p,ase3 you need to prepare a tuning en4iron*ent0 T,is tuning en4iron*ent can be
located on t,e sa*e instance on 5,ic, t,e perfor*ance issue is obser4ed3 or it can be on a different
instance0 If t,e issue is obser4ed in a (roduction instance3 try to set t,e tuning en4iron*ent on t,e Test
or De4elop*ent instances0 Tune on t,e (roduction instance only 5,en you ,a4e failed to reproduce t,e
issue on a non#production en4iron*ent0 /eproducing an issue does not necessarily *ean reproducing its
perfor*ance0 In *ost cases it is sufficient to reproduce t,e sa*e DbadD E;plain (lan3 rat,er t,an t,e slo5
access itself0
In general3 a good tuning en4iron*ent is one in 5,ic, you can perfor* t,e follo5ing t5o independent
acti4ities at 5ill0 Bou *ay end up 5it, t5o tuning en4iron*ents3 one for eac, acti4ity0
70 /eproduce t,e e;act sa*e E;plain (lan fro* original 4ersion of S=& state*ent0
20 E;ecute t,e e;pensi4e S=& state*ent in its original 4ersion and on se4eral different D*odifiedD
4ersions !,opefully i*pro4ed'0
/eproducing t,e e;act sa*e E;plain (lan on a different instance usually represents a significant
c,allenge3 as t,e C-O decides t,e plan based on: C-O statistics3 init0ora para*eters3 sc,e*a object
attributes3 /D-MS /elease3 and in a 4ery fe5 cases3 in t,e (latfor* used0 T,e latter is particularly true
5,en ,itting a platfor* specific OS or /D-MS -ug0 @it, /-O3 reproducing t,e sa*e e;plain plan is
*uc, easier3 since it depends *ostly on t,e sc,e*a objects defined and accessed0 T,erefore3 t,is
ad4anced troubles,ooting p,ase relates *ostly to issues regarding t,e C-O0
T,e focus of t,e tuning effort is usually in or around t,e E;plain (lan Operation 5it, t,e largest nu*ber of
ro5s3 according to t,e E;plain (lan fro* t,e Trace Analy2er or TA(/OF report0 If t,e colu*n D/o5sD on
t,e E;plain (lan fro* t,e Trace Analy2er or TA(/OF report s,o5s all 2eroes !*eaning 2eroes for all
Operations'3 t,en it is al*ost indispensable to isolate t,e S=& state*ent3 identify3 define and assign t,e
4alues of t,e bind 4ariables3 and e;ecute fro* S=&>(lus 5it, S=& Trace enabled0 T,en create a ne5
Trace Analy2er or TA(/OF fro* ne5 ra5 S=& Trace0 T,e ne5 Trace Analy2er or TA(/OF 5ill ,a4e t,e
/o5s colu*n of t,e E;plain (lan populated0 T,is relates to ,o5 S=&>(lus ,andles cursors co*pared to
ot,er tools0 T,e cursor *ust be closed in order to get t,e nu*ber of ro5s colu*n in t,e E;plain (lan3
and S=&>(lus .eeps open one cursor at a ti*e3 forcing t,e closure of t,e prior cursor0
To reproduce t,e e;act sa*e E;plain (lan fro* original 4ersion of S=& state*ent3 try t,e follo5ing:
70 Copy t,e C-O statistics fro* t,e source instance !5,ere t,e S=& perfor*s poorly' into t,e
destination instance !tuning en4iron*ent':
1. @,en you ran t,e S"LTD.LAIN.S"L on t,e source instance3 it updated a staging
table S"LTASTATTAB 5it, t,e C-O stats for all sc,e*a objects related to t,e S=&
state*ent !tables3 inde;es3 colu*ns and ,istogra*s'0
2. %se t,e E;port co**and on t,e source instance3 according to t,e
INST-U5TI2NS.TDT file pro4ided inside t,e S"LT.?*p file0 +enerate an e;ternal
binary file S"LT.)p 5it, t,e follo5ing co**and:
# e#p apps/<apps_pw! $*le7S"LT
ta3les7,S"LTASTATTAB,
"0 Copy t,is binary file fro* source to destination instance0 Do not use ASCII0 Treat al5ays
as -I6A/B0
". %se t,e I*port co**and on destination instance3 as docu*ented on t,e
S"LTSTATTAB.S"L script3 also included inside t,e S"LT.?*p file0
#*)p apps/<apps_pw! $*le7S"LT
ta3les7,S"LTASTATTAB, *&%o(e7<
#. E;ecute script S"LTSTATTAB.S"L on t,e destination instance to update t,e data
dictionary C-O stats fro* i*ported S"LTASTATTAB table0
%ote/ To restore t,e stats in t,e destination instance3 si*ply gat,er ne5 stats for
affected sc,e*a objects0 Bou *ay also 5ant to use t,e S"LTKSTATS.S"L
script included in t,e S"LT.?*p file0 T,is *eans you donDt need to bac.up C-O
stats on destination instance prior to o4erriding t,e* 5it, stats fro* source
instance0
20 /e4ie5 and co*pare t,e init0ora para*eters files fro* source and destination instances0 If t,ese
instances are (roduction and Test3 you *ay ,a4e t,e e;act sa*e para*eters0 If not3 annotate
t,e differences in case you ,a4e to adjust t,e C-O rele4ant para*eters in t,e destination
instance0 Bou donDt ,a4e to ta.e action rig,t a5ay3 as you *ay produce t,e sa*e E;plain (lan
5it,out c,anging any init0ora para*eter0 E4en if you adjust an init0ora para*eter3 you *ay be
able to do so 5it, an A&TE/ SESSIO6 co**and for *ost of t,e*3 instead of *odifying t,e
init0ora file and bouncing t,e database altoget,er0
"0 /e4ie5 and co*pare sc,e*a object attributes suc, as D(artitionedD and (arallel DDegreeD0 If you
find discrepancies3 sync t,e* up0
E0 Annotate t,e /D-MS /elease 4ersion !up to t,e fift, digit'3 as 5ell as t,e (latfor*0 Bou *ust be
at least on t,e sa*e /D-MS /elease up to t,e "rd digit before trying to reproduce t,e sa*e
E;plain (lan0 It 5ould be better3 if you are on sync up to t,e Et, digit0
#. 6o5 try3 using t,e S"LTD.LAIN.S"L script3 to generate t,e sa*e E;plain (lan in source and
destination0 If you donDt get t,e sa*e E;plain (lan3 adjust C-O related init0ora para*eters in
destination and try again !use A&TE/ SESSIO6 if para*eter allo5s'0 If you still cannot obtain
t,e sa*e E;plain (lan using co**on C-O stats3 init0ora para*eters3 and sc,e*a object
attributes3 try t,en ruling out differences a*ong t,e source and destination instances !one at a
ti*e'0 Deter*ine 5,at is different bet5een source and destination instances0 Focus on t,e
discrepancies t,at *ay be causing t,e DbadD E;plain (lan !assu*ing t,e plan on destination
instance perfor*s better3 of course'3 and rule t,e* out !one by one' until you find 5,ic, of t,e
discrepancies causes t,e E;plain (lan to s5itc, fro* DgoodD to DbadD0
%ote/ In *ost cases3 finding t,e root cause of a D badD E;plain (lan3 is t,e sa*e t,an
finding t,e solution to t,e perfor*ance issue0
80 If you find yourself in a situation in 5,ic, C-O stats3 sc,e*a object attributes3 and init0ora3 are all
t,e sa*e3 but (latfor* and /D-MS /elease are different3 and instance in 5,ic, /D-MS is
ne5er perfor*s better3 you can be al*ost certain t,at upgrading t,e /D-MS engine 5ill sol4e
your perfor*ance issue0
?0 If you ,a4e t,e sa*e C-O stats3 sc,e*a object attributes3 init0ora and (latfor*3 and only
/D-MS /elease is different3 and t,e instance 5it, t,e ne5er /elease perfor*s better3 try to
upgrade your /D-MS /elease on t,e older instance0
F0 If you3 or Oracle Support3 can reproduce t,e sa*e DbadD E;plain (lan on t,e sa*e or different
(latfor* !co**on up to t,e "rd digit /D-MS /elease'3 using your C-O stats3 *ost li.ely your
issue is an Application -ug0 In suc, case3 t,e issue needs to be reported to Oracle De4elop*ent
and you 5ill be gi4en a ne5 -ug nu*ber0
90 Once your perfor*ance issue ,as been cataloged as a ne5 Application -ug3 t,e ne;t steps in t,e
troubles,ooting process re1uire to e;plain and e;ecute t,e S=& state*ent in its original for* and
on se4eral different *odified 4ersions3 trying to create one e;ecution plan deli4ering a better
perfor*ance0
%ote/ If you ,a4e t5o si*ilar instances0 One perfor*ing 5ell and t,e ot,er poorly3 and
t,ey ,a4e si*ilar data but producing different E;plain (lans3 as a 5or.around you can
force t,e DgoodD plan into t,e slo5 instance by *igrating t,e C-O stats using
S"LTD.LAIN.S"L toget,er 5it, S"LTSTATTAB.S"L0
To e;ecute t,e e;pensi4e S=& state*ent in its original 4ersion and on se4eral different *odified 4ersions3
try t,e follo5ing:
1. Bou need to be able to isolate t,e e;pensi4e S=& state*ent for e;ecution fro* S=&>(lus3 at 5ill0
To do t,is3 you need first to find t,e 4alues of t,e bind 4ariables referenced0 If you can deduce
t,e 4alues by re4ie5ing t,e S=& state*ent3 do so0 Ot,er5ise3 you *ig,t ,a4e to use one of t,e
*et,ods a4ailable for tracing 5it, bind 4ariables according to 6ote:7?78E?073 and t,en use t,e
Trace Analy2er !6ote:22E2?07' to process t,e ra5 S=& Trace and identify t,e bind 4ariables
fro* your ra5 S=& Trace created 5it, E4ent 7E8 on your transaction0
20 Assign t,e 4alues of t,e bind 4ariables referenced in t,e S=& state*ent0 -e careful conser4ing
t,e sa*e data types0 Bou *ay need to define and assign 4alues to bind 4ariables0 A4oid
replacing bind 4ariables 5it, literals0
"0 If your E;plain (lan s,o5s any table 5it, suffi; DMA&&D3 t,is *eans you need to set up t,e *ulti#
org en4iron*ent0 %sing t,e corresponding Operating %nit !O/+MID'3 set *ulti#org 5it, t,is
co**and:
S"L! e#ec $%_cl*e%t_*%$o.set_o(&_co%te#t+,Qo(&_*,/0
E0 %se A&TE/ SESSIO6 co**ands to turn S=&MT/ACE O6 and OFF3 and e;ecute your S=&
state*ent0 To facilitate t,e 5,ole process3 you *ay 5ant to create a script 5it, t,e setting of
*ulti#org3 t,e DA&TE/ SESSIO6 SET S=&MT/ACE N T/%EGD co**and3 t,e assign*ent of t,e
bind 4ariable 4alues3 your S=& state*ent3 and t,e co**and to ter*inate t,e S=& Trace0 T,is
5ay you can e;ecute t,e S=& state*ent syste*atically0
:0 For I6SE/T3 %(DATE or DE&ETE S=& state*ents3 you need to focus on t,e sub1uery
perfor*ing poorly !usually t,e *ain 1uery feeding t,e insert<update<delete'0 Transfor* t,e
original S=& into an isolated stand#alone 1uery0 If t,is is not possible3 add t,e /O&&-ACA
co**and to t,e script 5it, your I6SE/T3 %(DATE or DE&ETE S=& state*ent0
80 Tuning t,e S=& state*ent re1uires a lot of practice and patience0 All *et,ods con4erge to t,e
sa*e principle: apply your .no5ledge to create a *odified and i*pro4ed 4ersion of t,e original
S=& state*ent and deter*ine if it perfor*s better for e4ery situation0 So*e analysts *ostly use
t,e E;plain (lan lea4ing t,e benc,*ar. of a candidate to t,e end0 Ot,ers prefer to e;ecute and
*easure t,e perfor*ance of eac, candidate !*odified S=& state*ent'0 It beco*es a *atter of
style at t,is le4el0
1. @,ile iterating in t,is process3 generating e;plain plans for se4eral 4ersions of t,e sa*e S=&
state*ent3 you can use t,e S"LTD.S"L script !included in S"LT.?*p'3 or t,e 3e_#.sql
script fro* 6ote:7?E8"070 T,e latter script generates a 4ery si*ple E;plain (lan and t,eir
e;ecution is faster t,an co*ple; S"LTD.LAIN.S"L0
F0 T,ings to try in order to i*pro4e t,e E;plain (lan and ulti*ately t,e perfor*ance of t,e S=&
state*ent:
70 Herify all tables referenced in t,e F/OM clause are actually joined in t,e @IE/E clause0
20 I*pro4e C-O stats3 eit,er by using a ,ig,er sa*ple si2e or 5it, ,istogra*s for colu*ns
t,at are filtered 5it, literals in t,e @IE/E clause0 Bou can also te*porarily *odify t,e
C-O stats for an inde; or colu*n !only as a s,ort ter* 5or.around'0
"0 Inde;es 5it, better selecti4ity for specific filter or join conditions0 T,ese inde;es *ay
ulti*ately be custo* inde;es0
E0 S5itc, t,e opti*i2er fro* /-O to C-O3 or fro* C-O to /-O0 T,e latter as a te*p
solution only0
:0 %se one or *ore C-O Iints0
80 /e5ording t,e S=& state*ent0
?0 A4oid o4eruse of %6IO63 O/DE/ -B3 DISTI6CT and ot,er clauses t,at *ay not be
necessary0
F0 %sing dyna*ic S=& to a4oid poorly 5ritten code 5it, functions li.e 6H& or DECODE in
t,e @IE/E clause3 5,ic, *ay affect t,e selecti4ity of t,e predicates0
90 If t,e S=& state*ent ,as been fully tuned3 and t,e reason of t,e poor perfor*ance is
purely t,e 4olu*e of data necessarily retrie4ed3 t,en you *ay 5ant to consider data
partitioning or parallel 1uery0 Aeep in *ind t,at data partitioning or parallel processing
are not t,e rig,t solution to fi; a poorly tuned S=&0
ac6(en0 Tuning
Once you ,a4e 4alidated Certify and Statistics +at,ering3 proceed 5it, t,is section if your perfor*ance
issue 1ualifies as t,is ,ig,#le4el tuning category0
Data +at,ering
Initial Troubles,ooting
Ad4anced Troubles,ooting
+ata &athering 2files an0 information3
+at,er t,e indicated files and docu*ent in your electronic file t,e follo5ing infor*ation:
70 Arc,itecture infor*ation: -asically ,o5 are t,e database ser4er and t,e *iddle#tier configuredC
Are t,ey in t,e sa*e bo;C If not3 ,o5 *any bo;es you ,a4eC @,ic, typeC etc0 Try ans5ering:
@,ere do you ,a4e 5,atC
20 Iard5are (rofile: C(%!s' nu*ber3 type and speed0 A*ount of *e*ory0 Io5 is t,e I<O
subsyste* configuredC @,at is t,e net5or. type and speedC etc0 (ro4ide ,ig,#le4el infor*ation
of your ,ard5are and co*ponents0
"0 Ser4er 5or.load profile: @,at do you ,a4e running on sa*e bo;C Databases in use on sa*e
ser4er0 6u*ber of concurrent acti4e users0 6u*ber of concurrent acti4e processes at a gi4en
ti*e !usually pea. ti*es'0 -asically3 ,o5 busy is your bo;0
E0 Do ot,er applications or databases you *ay ,a4e running in t,e sa*e bo; also perfor* poorlyC
If not3 e;plain0
:0 @,at is t,e current and projected syste* loadC @,at is t,e current 4s0 projected nu*ber of
acti4e concurrent users0 Sa*e for acti4e concurrent processes0
80 @,at are t,e concurrent processing policiesC Ia4e you *o4ed as *uc, of t,e concurrent
processing to lo5er online user acti4ity periodsC Do you ,a4e any restrictions to concurrent
processing at allC Do you use concurrent *anagers to restrict t,is intensi4e processing acti4ities
during t,e dayC
?0 Ia4e you 4alidated any Operating Syste* resource contentionC T,is includes C(%3 *e*ory and
dis.0 Bour co**ents s,ould ta.e into consideration all your bo;es !bac.#end and *iddle#tier'0
Halidate and docu*ent if you are e;periencing C(% spi.es3 *e*ory paging3 ,ot dis.s3 etc0 If you
,a4e noticed *e*ory s5apping3 docu*ent in detail3 as 5ell as any action being ta.en3 including
s,ort#ter* actions li.e borro5ing ,ard5are fro* De4elop*ent or Test ser4ers0
F0 Ma.e a list of all application *odules !application groups'3 installed and in use on t,is Apps
instance0 E;a*ple: A(3 +&3 F6D3 O6T3 etc0
90 For t,e application *odules !groups' affected by poor perfor*ance3 docu*ent currently installed
patc,set le4el0
70 For sa*e affected application *odules3 researc, on Meta&in. and docu*ent in your electronic
file 5,at is t,e latest patc,set a4ailable0 %se t,e D(atc,esD option on Meta&in. *ain *enu0
Docu*ent if you can upgrade to latest patc,set le4els s,ortly0
770 @,at is t,e Operating Syste* patc,ing le4el in your ser4er bo;C Try to rule out any .no5n
perfor*ance issues on your ,ard5are platfor*0 In general3 try to .eep your OS patc,ing le4el as
current as possible0 It is .no5n t,at se4eral o4erall perfor*ance issues are caused by
inade1uate OS patc,ing le4el0 Consult your ,ard5are 4endor in t,is regard0
720 If you ,a4e any prior (erfor*ance related /eport 5it, specific reco**endations regarding
,ard5are3 configuration si2ing3 benc,*ar.3 stress test or si*ilar3 include t,e report in your
electronic docu*entation of your perfor*ance issue and pro4ide it to Oracle Support0 T,is
includes any for*al or infor*al reco**endations *ade by any Oracle or "rd party entity0
Especially i*portant if you are considering or in t,e process of i*ple*enting suc,
reco**endations0
13./e4ie5 init0ora para*eters file doing a sanity c,ec. on it3 and ,a4e it ready to *a.e it a4ailable to
Oracle Support0 If you find t,at so*e E4ents are set in t,is file3 deter*ine if t,ere is a strong
4alid reason 5,y0 If none3 delete t,e*0 If your init0ora file references anot,er file by using t,e
co**and IFI&E3 re4ie5 t,e referenced file and ,a4e it a4ailable as 5ell0
1"./e4ie5 ALE-T.L2K for possible ser4er errors or any ot,er e4ident abnor*alities0 If t,e
ALE-T.L2K is large3 ,a4e t,e last EF ,ours of it a4ailable for Oracle Support0 -e sure t,e
ALE-T.L2K includes t,e *onitored inter4al 5,ere t,e perfor*ance 5as poor0
1#.Ma.e file A..L.T5B.TDT a4ailable to Oracle Support0 T,is file .eeps trac. of patc,es applied
to Apps0
780 Identify up to t,e top 7 user transactions perfor*ing poorly0 T,is transactions are usually 5,at
is causing your users to co*plain of t,e poor perfor*ance in t,e first place0 E;a*ples: entering
an order3 sa4ing a line3 perfor*ing a 1uery3 etc0 Docu*ent for eac, of t,is up to 7 DcriticalD user
transactions:
70 Transaction na*e or s,ort description0 E;a*ple: boo.ing an order
20 (erfor*ance during nor*al syste* load !secs<*ins'
"0 E;pected perfor*ance !secs<*ins'
E0 (erfor*ance 5,en syste* load is al*ost 2ero !5,en only one or 4ery fe5 users are
acti4e on instance'
Initial Troubleshooting
At t,is point3 you can pursue your perfor*ance issue 5it, Oracle Support0 (ro4ide as *any of t,e
re1uested files as possible0 Or3 you *ay opt to participate *ore pro#acti4ely in t,e initial troubles,ooting
p,ase by perfor*ing t,e steps in t,is section before contacting Oracle Support0
1. For 77i instances: Herify re1uired and reco**ended init0ora para*eters are set correctly0 %se
t,e pro4ided script AF5BR5B2.sql and Interoperability 6otes as 5ell0 +enerate t,e
AF5BR5B2.TDT file containing t,e Apps 77i re1uired init0ora para*eters na*es and 4alues0
Ma.e t,is file a4ailable to Oracle Support0 Fi; any discrepancy3 and docu*ent possible reason
5,y DcurrentD and Dre1uiredD colu*ns donDt ,a4e t,e sa*e 4alue0 If t,e AF5BR5B2.sql script
and t,e Interoperability 6otes re1uire different 4alues3 set t,e 4alues of t,e 6ote0 To e;ecute t,e
script use t,e synta; belo5:
# sqlplus apps/<apps_pw!
S"L! S.22L AF5BR5B2.TDT0
S"L! sta(t AFND_T2./sql/AF5BR5B2.sql
S"L! S.22L 2FF0
S"L! "UIT0
2. For 77i instances: T,ere is anot,er script t,at 4alidates all re1uired and reco**ended init0ora
para*eters according to /D-MS /elease0 %se script 3e_c'H_c3o.sql fro* 6ote:7?E8:07
as an e;tension to AF5BR5B2.sql0 -e a5are t,at script 3e_c'H_c3o.sql pro4ides *ore
detail t,an AF5BR5B2.sql0
3. For 77i instances: Herify C-O statistics by e;ecuting t,e 3e_last_a%al<?e.sql script fro*
6ote:78"2F070 T,is script reports C-O stats per application group !sc,e*a na*e' and per
date0 It also creates a su**ary at t,e beginning indicating ,o5 old t,e C-O stats are3 if data
dictionary objects are free of C-O stats3 and if you ,a4e partitioned tables re1uiring you fi; t,eir
global stats0 /e4ie5 BDE_LAST_ANALYZED.TDT reports and *a.e t,e* a4ailable to Oracle
Support0
E0 For 70? and 770 instances: Herify you are gat,ering your C-O stats at least one per *ont,3 all
sc,e*a objects3 5it, an esti*ate of 7J
#. For F0 and later: 5,en t,e syste* is perfor*ing poorly3 ta.e one snaps,ot of t,e S=& area3 to
easily identify if t,ere is any e4ident e;pensi4e S=& being e;ecuted3 or recently e;ecuted0 For
F07 and later3 use S"LTA-EAT.S"L fro* 6ote:2"F8FE070 For F0 use coe_sqla(ea_IG.sql
fro* 6ote:78"29070 /ead and get yourself fa*iliari2ed 5it, t,e specific 4ersion of
S"LTA-EAT.S"L script and its output0 Co*press t,e 5,ole directory 5,ic, contains t,e
S"LA-EAT.S"L generated spool file!s'0
A05ance0 Troubleshooting
T,is p,ase is not co*ple;3 but it re1uires you to in4est *ore ti*e initially3 *onitoring t,e perfor*ance of
your instance for up to one 5or.ing day0 T,erefore3 you *ay 5ant to proceed to reporting to Oracle
Support your o4erall bad perfor*ance issue at t,is ti*e0 Once your issue ,as been reported3 proceed
i**ediately 5it, t,is ad4anced troubles,ooting p,ase3 in order to 1uic.ly generate t,e necessary files to
pursue a final resolution0
1. For ?0" and F0: +enerate and pro4ide at least one -E.2-T.TDT file fro* %T& scripts
D%&T-STAT<%T&ESTATD0 Bour D-A s,ould be fa*iliar 5it, t,ese co**on perfor*ance
*onitoring scripts0
2. For F07 and later: Install t,e latest 4ersion a4ailable of t,e Stats(ac. pac.age0 T,is pac.age is
auto*atically a4ailable on F073 but it re1uires it be installed fro* its location at
LO/AC&EMIOME<rdb*s<ad*in into t,e database !as any ot,er pac.age'0 &oo. for detailed
instructions in t,e docu*ent spoc.t#t 5it,in t,e sa*e directory0 Bour D-A s,ould already
eit,er be fa*iliar 5it, t,is pac.age3 or get fa*iliar 5it, it since it replaces for*er %T& scripts
D%&T-STAT<%T&ESTATD0 /ead 6ote:7:":?07 for *ore infor*ation on Stats(ac. for Oracle
Apps0 Once installed3 *onitor poor perfor*ance during E#F ,ours3 ta.ing snaps,ots e4ery "
*ins during t,e 5,ole *onitored inter4al !E#F ,ours'0 T,en generate one or *ore Stats(ac.
/eport based on t,e snaps,ots 5,ile perfor*ance 5as 5orse !usually bet5een 7 and 2 ,ours
5it,in t,e E#F ,ours *onitored inter4al'0 (ro4ide t,ese reports to Oracle Support0
"0 For all /D-MS /eleases3 *onitor OS perfor*ance at t,e sa*e ti*e database perfor*ance is
*onitored0 For F07 and later3 e4ery " *ins during t,e 5,ole *onitored inter4al !E#F ,ours'0 For
?0" and F03 e4ery " *ins during t,e sa*e inter4al of D%&T-STAT<%T&ESTATD e;ecution0 %se
standard OS perfor*ance *onitoring tools li.e: 4*stat3 iostat3 *pstat and top0
E0 If t,ere is an ob4ious resource contention in your OS3 stop ,ere and try to alle4iate it 5it,
per*anent or te*porary actions at t,e OS le4el0
:0 Ia4e your D-A read and analy2e your %&T-STAT<%T&ESTAT or Stats(ac. /eport0 Searc, on
Meta&in. for possible .no5n issues 5it, t,e sa*e c,aracteristics0
80 If you opt to be pro#acti4e reducing t,e nu*ber of perfor*ance issues due to .no5n proble*s3
.eep your code as recent as possible3 starting by t,e OS and *o4ing to5ards /D-MS3 lea4ing
Apps code last0 %pgrading t,e OS soft5are is usually painless3 t,e /D-MS re1uires *inor
testing3 and t,e Apps layer re1uires significant user testing0
1. (ro4ide all your gat,ered files3 perfor*ance te*plate3 and dial#in to Oracle Support0 Fa*iliari2e
yourself 5it, Oracle Direct Connect ODC
Tech(#tac6 Tuning
Once you ,a4e 4alidated Certify and Statistics +at,ering3 proceed 5it, t,is section if your perfor*ance
issue 1ualifies as t,is ,ig,#le4el tuning category0
+ata &athering 2files an0 information3
+at,er t,e indicated files and docu*ent in your electronic file t,e follo5ing infor*ation:
70 Io5 long does it ta.e for t,e process to co*plete !specify ,ours<*ins<secs'C
20 Io5 long did it use to ta.e !before ,a4ing t,e perfor*ance issue'C
"0 @,at is t,e e;pected perfor*ance for t,is process !specify ,ours<*ins<secs'C
E0 Arc,itecture infor*ation: -asically ,o5 are t,e database ser4er and t,e *iddle#tier configuredC
Are t,ey in t,e sa*e bo;C If not3 ,o5 *any bo;es you ,a4eC @,ic, typeC etc0 Try ans5ering:
@,ere do you ,a4e 5,atC
:0 Iard5are (rofile: C(%!s' nu*ber3 type and speed0 A*ount of *e*ory0 Io5 is t,e I<O
subsyste* configuredC @,at is t,e net5or. type and speedC etc0 (ro4ide ,ig,#le4el infor*ation
of your ,ard5are and co*ponents0
80 Ser4er 5or.load profile: @,at do you ,a4e running on sa*e bo;C Databases in use on sa*e
ser4er0 6u*ber of concurrent acti4e users0 6u*ber of concurrent acti4e processes at a gi4en
ti*e !usually pea. ti*es'0 -asically3 ,o5 busy is your bo;0
?0 Do ot,er applications or databases you ,a4e running on t,e sa*e bo; also perfor* poorlyC If
no3 e;plain0
F0 Do ot,er applications running on t,e sa*e client also perfor* poorlyC If no3 e;plain0
90 If t,e issue relates to slo5ness in loading a For* or na4igating3 does it reproduce 5,en t,e client
is connected directly to t,e net5or. ,ub closest to t,e ser4erC
70 @,at is t,e current and projected syste* loadC @,at is t,e current 4s0 projected nu*ber of
acti4e concurrent users0 Sa*e for acti4e concurrent processes0
770 @,at are t,e concurrent processing policiesC Ia4e you *o4ed as *uc, of t,e concurrent
processing to lo5er online user acti4ity periodsC Do you ,a4e any restrictions to concurrent
processing at allC Do you use concurrent *anagers to restrict t,is intensi4e processing acti4ities
during t,e dayC
720 Ia4e you 4alidated any Operating Syste* resource contentionC T,is includes C(%3 *e*ory and
dis.0 Bour co**ents s,ould ta.e into consideration all your bo;es !bac.#end and *iddle#tier'0
Halidate and docu*ent if you are e;periencing C(% spi.es3 *e*ory paging3 ,ot dis.s3 etc0 If you
,a4e noticed *e*ory s5apping3 docu*ent in detail as 5ell as any action being ta.en3 including
s,ort#ter* actions li.e borro5ing ,ard5are fro* De4elop*ent or Test ser4ers0
7"0 Ma.e a list of all application *odules !application groups'3 installed and in use on t,is Apps
instance0 E;a*ple: A(3 +&3 F6D3 O6T3 etc0
7E0 For t,e application *odules !groups' affected by poor perfor*ance3 docu*ent t,e currently
installed patc,set le4el0
7:0 For t,e sa*e affected application *odules3 researc, on Meta&in. and docu*ent in your
electronic file 5,at is t,e latest patc,set a4ailable0 %se D(atc,esD option on Meta&in. *ain
*enu0 Docu*ent if you can upgrade to latest patc,set le4els s,ortly0
780 @,at is t,e Oracle For*s /elease 4ersionC
7?0 @,ic, is t,e $I6ITIATO/ 4ersionC
7F0 -ro5ser na*e and 4ersionC
790 Docu*ent in your electronic file3 in full detail3 t,e co*plete na4igation pat,3 as 5ell as step#by#
step instructions to reproduce your issue0 If t,e transaction perfor*ing poorly is a 1uery3
docu*ent 5,ic, para*eters are passed to t,e 1uery as 5ell as 5,ic, para*eters are 6%&&3 or
auto*atically defaulted0 -e as specific as possible0
(roceed to report your Tec,#Stac. perfor*ance issue to Oracle Support0
Reporting to Oracle
(ro4iding to Oracle 5ell organi2ed3 accurate3 and co*pre,ensi4e infor*ation and files3 ,elps to e;pedite
t,e total resolution ti*e0 Try to deter*ine t,e rig,t balance bet5een t,e initial ti*e in4ested in gat,ering
as *uc, infor*ation and files early in t,e process3 5it, t,e benefit t,ey pro4ide to t,e o4erall process
reducing t,e nu*ber of iterations bet5een t,e end#user3 t,e tec,nical user3 Oracle Support3 and Oracle
De4elop*ent0 /eports li.e t,e one produced by t,e S"LTD.LAIN.S"L script consolidate pieces of
infor*ation li.e C-O stats3 inde;es3 init0ora para*eters3 etc0 Ia4ing all t,is infor*ation gat,ered
syste*atically and into one single place3 certainly reduces t,e nu*ber of iterations and t,erefore t,e total
resolution ti*e0
Re4ueste0 )iles for Transaction Tuning Issues
At t,e 4ery *ini*u*3 pro4ide files 7 to : belo50 If you pro#acti4ely participated on t,e initial
troubles,ooting p,ase3 or Oracle Support ,as guided you t,roug, it3 pro4ide files 8 to 9 accordingly0
1. Apps (erfor*ance -ug Te*plate # Transaction Tuning
2. For (ro>C Concurrent (rogra*s3 M2DULES.TDT 5it, 4ersions of *odules
3. For Concurrent (rogra*s3 &og file 5it, debugging infor*ation
". /a5 S=& Trace fro* t,e transaction3 5it, or 5it,out E4ent 7E8 details !co*pressed'3
co*plete or inco*plete
#. Trace Analy2er and<or TA(/OF file!s' 5it, E;plain (lans
$. S"L<%!.TDT file!s' 5it, identified e;pensi4e S=&
1. Co*pressed file 5it, spool files generated by S"LTD.LAIN.S"L
%. Only for C-O and S"LE.TDT: /a5 S=& Trace produced by S"LTD.LAIN.S"L
&. Only for C-O and S"LE.TDT: -inary file S"LT .)p 5it, C-O stats
Re4ueste0 )iles for ac6("n0 Tuning Issues
At t,e 4ery *ini*u*3 pro4ide files 7 to : belo50 If you pro#acti4ely participated on t,e initial
troubles,ooting p,ase3 or Oracle Support ,as guided you t,roug, it3 pro4ide files 8 to F accordingly0 If
you opted to3 or Oracle Support instructed you to perfor* t,e ad4anced troubles,ooting steps3 pro4ide
files 9#77 accordingly0
1. Apps (erfor*ance -ug Te*plate # -ac.#End Tuning
2. Any prior (erfor*ance related /eport a4ailable
"0 File init0ora3 including any ifile!s' referenced on t,e init0ora
". ALE-T.L2K file3 including last EF ,ours
#. A..L.T5B.TDT file
$. For 77i3 AF5BR5B2.TDT and<or +"7-$87-O.T9T 5it, re1uired init0ora para*eters
1. For 77i3 BDE_LAST_ANALYZED.TDT 5it, su**ary of C-O stats
%. For F07 or later3 S"LA-EAT.S"L spool files 5it, e;pensi4e S=& state*ents
&. For ?0" or F03 -E.2-T.TDT produced by bstat<estat tool
12.For F07 or later3 Stats(ac. /eport
11.Set of stats fro* OS perfor*ance *onitoring tools3 li.e: 4*stat3 iostat3 *pstat and top
Re4ueste0 )iles for Tech(#tac6 Tuning Issues
1. Apps (erfor*ance -ug Te*plate # Tec,#Stac. Tuning
Relate0 +ocuments
#cripts
All related COE3 -DE3 T/CA3 S=&T and (/OF scripts can be do5nloaded fro* Meta&in.
MetaLink Script Title
224270.1 TRCANLZR.SQL Trace Analyzer (8.1.6+)
215187.1 SQLTXLA!N.SQL
"n#ance$ "%&la'n lan an$ rela(e$ 'n)* )*r *ne
SQL +(a(e,en( (8.1+)
24-755.1 &r*)'ler.+.l
!,&le,en('n/ an$ 0+'n/ (#e L1SQL r*)'ler
(8.1+)
156252.1 c*e3%&la'n380.+.l
"n#ance$ "%&la'n lan )*r /'4en SQL S(a(e,en(
(8.0)
156260.1 c*e3%&la'n37-.+.l
"n#ance$ "%&la'n lan )*r /'4en SQL S(a(e,en(
(7.-)
17460-.1 5$e3%.+.l
S',&le "%&la'n lan )*r /'4en SQL S(a(e,en(
(8.1+)
156272.1 c*e34'e6.+.l
Cl*ne+ 4'e6+ acr*++ 'n+(ance+ )*r SQL (7n'n/
e%erc'+e+ (8.0+)
2-8684.1 SQLAR"AT.SQL T*& 10 "%&en+'4e SQL )r*, SQL Area (8.1+)
16-202.1 c*e3+.larea380.+.l T*& 10 "%&en+'4e SQL )r*, SQL Area (8.0)
1626-0.1 5$e3+e++'*n.+.l
"%&en+'4e SQL an$ re+*7rce+ 7('l'za('*n )*r
/'4en Se++'*n !8 (8.1+)
174605.1 5$e3c#93c5*.+.l C7rren(: re.7're$ an$ rec*,,en$e$ A&&+ 11'
'n'(.*ra &ara,+ (11')
16-208.1 5$e3la+(3analyze$.+.l
;er')'e+ S(a('+('c+ )*r all 'n+(alle$ A&&+
,*$7le+ (11')
156268.1 c*e3+(a(+.+.l
A7(*,a(e+ C<= S(a(+ >a(#er'n/ 7+'n/ ?N83STATS
an$ Ta5le +'ze+ (11')
156262.1 c*e3(race.+.l
SQL Trac'n/ A&&+ *nl'ne (ran+ac('*n+ 6'(# "4en(
10046 (11')
156270.1 c*e3(race311.+.l
SQL Trac'n/ A&&+ *nl'ne (ran+ac('*n+ 6'(# "4en(
10046 (11.0)
156271.1 c*e3(race3all.+.l
T7rn+ SQL Trace =N )*r all *&en 8< Se++'*n+
(8.0+)
156265.1 c*e3l*c9+.+.l Se++'*n an$ +er'al@ )*r l*c9e$ R*6+ (7.-+)
Templates
MetaLink Apps Performance Bug Template
Tran+ac('*n T7n'n/
1622-8.1 <ac9A"n$ T7n'n/
1622-2.1 Tec#AS(ac9 T7n'n/
%otes
MetaLink Title
-2817.1 !n(er&re('n/ Ra6 SQL Trace an$ 8<BS3S0=RT.START3TRAC"
15-507.1 =racle A&&l'ca('*n+ an$ S(a(+ac9
171647.1 Trac'n/ =racle A&&l'ca('*n+ 7+'n/ "4en( 10046
17022-.1 r*)'le =&('*nC !n'('al'za('*n SQL S(a(e,en( A C7+(*,
0

Potrebbero piacerti anche