Agree with Stefan. You need to find out the root cause.
Recommend a tool for you, which is being used by me recently :).
SQLBooster. You can find the download url and the Power Point I prepared
for my dev team.
2017-12-05 19:56 GMT+11:00 Stefan Koehler <contact@xxxxxxxx>:
the problem is not the SQL Profile (they can be very useful) but the
Oracle Tuning Advisor. It seems like you just accepted the recommendation
by Oracle Tuning Advisor without understanding the root cause.
The SQL Profile by Oracle Tuning Advisor does not fix an execution plan -
so it is not very uncommon to have different costs in different
environments if they are not EXACTLY the same. The SQL Profile by Oracle
Tuning Advisor only provides some scale factors (in your case for joins)
but the optimizer is still free to choose from various transformations,
access paths and join methods.
So my recommendation: Delete the SQL profile, understand the root cause
and fix this problem :-)
Independent Oracle performance consultant and researcher
Sanjay Mishra <dmarc-noreply@xxxxxxxxxxxxx> hat am 4. Dezember 2017 um21:48 geschrieben:
environment and working fine to be moved to prod but found it is not
Is it common that if I transfer any SQL profile created in the lower
achieving the same response? Running the same Exact SQL in both
environments and both Dev and Test are newly refreshed with Prod data. The
environment is 12c (18.104.22.168) and SQL profile is enabled. The only
difference is that Lower environment COSt in explanation where the query is
running 5 times faster is more that based Execution plan COST in a
cost was 9500K and taking 30Min. After accepting Profile it is reduced to
Dev Env: Before Oracle Tuning Advisor accepted SQL Profile the query
Test Env: Execution Plan Cose comes 235K and taking 1hr 40 min. Itshows that it has used SQL profile also. The same time was even taken
without using Profile
way. I tried to use Opt_estimate but not able to understand as to how to
I agree with lots of experts comments that SQL profile is not the best
interpret it. It comes as
opt_estimate(@"SEL$1", JOIN, ("Sol_c_tbl"@"$SEL$1", "Sol_c_tbk"@$SEL$1","Sol_c_tba"$SEL$1"), SCALE_ROWS=8.860905062)
opt_estimate(@"SEL$1", JOIN, ("Sol_c_tbk"@"$SEL$1"),SCALE_ROWS=0.212222124)
opt_estimate(@"SEL$1", JOIN, ("Sol_c_tbk"@$SEL$1", "Sol_c_tba"$SEL$1"),SCALE_ROWS=8.869041334)
profile hints to directly tune the environment.
I got the above from one of the Frank blogs from dbi Services
Any clues as instead of SQL profile I can check more based on above