0 valutazioniIl 0% ha trovato utile questo documento (0 voti)
46 visualizzazioni20 pagine
1. The document provides guidance on troubleshooting Oracle Applications performance issues by categorizing common problems and outlining steps to gather diagnostic information, including certifying the platform/software configuration, gathering statistics, and performing specific tuning tasks depending on the category.
2. It classifies issues into transaction tuning, back-end tuning, and technology stack tuning and provides tuning techniques for each.
3. The document instructs users to describe problems in detail, review known issues for their configuration, and gather statistics on a regular basis to help optimize query performance.
1. The document provides guidance on troubleshooting Oracle Applications performance issues by categorizing common problems and outlining steps to gather diagnostic information, including certifying the platform/software configuration, gathering statistics, and performing specific tuning tasks depending on the category.
2. It classifies issues into transaction tuning, back-end tuning, and technology stack tuning and provides tuning techniques for each.
3. The document instructs users to describe problems in detail, review known issues for their configuration, and gather statistics on a regular basis to help optimize query performance.
1. The document provides guidance on troubleshooting Oracle Applications performance issues by categorizing common problems and outlining steps to gather diagnostic information, including certifying the platform/software configuration, gathering statistics, and performing specific tuning tasks depending on the category.
2. It classifies issues into transaction tuning, back-end tuning, and technology stack tuning and provides tuning techniques for each.
3. The document instructs users to describe problems in detail, review known issues for their configuration, and gather statistics on a regular basis to help optimize query performance.
Modified Date: '3()"('**9 Status: PU!I#$"+ Troubleshooting Oracle Apps Performance Issues Carlos Sierra Apps Engineering CoE Oracle Support February 22 !updated on "#$%"' (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