|
 |
|
Oracle Siebel Tuning Tips
Oracle Tips by Burleson Consulting |
Question: I have a Siebel database coming from a Rule
based optimizer release in 8.1.7.4 to 10gR2. I've followed the docs
presented by Siebel, which involves a lot of changes to the
optimizer to force it to behave more like the RBO (They even set the
optimizer mode in the session to FIRST_ROWS_10). With the supplied
init.ora changes and dbms_stats w/histograms performance was pretty
lousy, but by changing only the optimizer_features_enable back to
8.1.7 performance was much better.
Answer: It's always difficult tuning a vendor
application when you do not have access to the source code SQL, but
I have some tips in my book
"Oracle
Tuning: The Definitive Reference",
on using stored outlines and SQL profiles.
In
this note we see that some Oracle Siebel users are deliberately
going un-supported in order to move their Siebel database from the
obsolete rule-based SQL optimizer (RBO) to cost-based SQL
optimization. They report that his Oracle Siebel Database ran
far faster when he changed his optimizer_mode and analyzed
statistics:
"While using the RBO our OLTP type queries were measured
in minutes and after analyzing and using the CBO, execution
time dropped to several seconds; a 30-60 fold increase in
performance."
It also reports that Oracle Siebel databases will benefit from
using function-based indexes (FBI):
"Once we were on the CBO we felt our hands were untied
and we started to add function based indexes for case
insensitive searches, partitioning etc so our execution time
for most queries became sub-second."
Of course, customizing an Oracle Siebel database by adding
indexes and using cost-based SQL optimization may make your
Siebel Database unsupported, but this person felt it was worth
it:
"Siebel was not happy to say the least and they said
they wouldn't support us, my company decided such a
performance gain was worth canceling support so we got the
performance increase and saved ourselves a lot of cash at
the same time."
Also, Siebel recommends
setting the optimizer_index_cost_adj
parameter to a super-low value of one, strongly
recommended by Siebel:
"Optimizer_index_cost_adj=1 is strongly recommended by
Siebel no exception. We have changed it to 100 and it
degraded performance."
 |
If you like Oracle tuning, you may enjoy my new book "Oracle
Tuning: The Definitive Reference", over 900 pages
of BC's favorite tuning tips & scripts.
You can buy it direct from the publisher for 30%-off and get
instant access to the code depot of Oracle tuning scripts. |
|