SAP Note 176754 - Problems with CBO and RBO

Component : Oracle - Oracle Performance Problems

Solution : https://service.sap.com/sap/support/notes/176754 (SAP Service marketplace login required)

Summary :
Despite appropriate configuration, Oracle Cost Based Optimizer (CBO) or Rule Based Optimizer (RBO) may select inefficient SQL access paths, lengthening executions. Bugs and peculiar behaviors within Oracle optimizers, detailed across various implementation notes, reflect common issues in SAP environments. Solutions include enforcing desired paths using database hints (Notes 129385, 130480) or tweaking optimizer statistics (Note 724545), although these are generally short-term fixes. Comprehensive guidelines for leveraging the CBO for optimal cost assessments are outlined in Note 750631. Testing changes in non-production settings is advised to minimize disruption from unforeseeable outcomes.

Key words :
select statement      4 sort aggregate          3 filter               1 table access full temp_useg              2 index range scan temp_ulobs_1, msg_id=n'4b34a370-17d7-11db-a301-e8330ac889e2', analyze table <table_name> estimate statistics sample <sample>percent, mandt = aufk-mandt                aufpl = afko-aufpl, long-running control file accesses solution 1, 6 index unique scan /sapapo/matkey~0             search columns, aufk-mandt = afko-mandt view fields, adequate index fast full scan, fast full index scan inside, perform multiple full index scans

Related Notes :

1559304Performance of work item reorganization
1116930FAQ: Sub-queries
1041983F4 help:Pperformance problem with Oracle 10G
1020260Delivery of Oracle statistics (Oracle 10g, 11g)
1008433F4 help: Long runtime with Oracle V.10
1004794Performance problem when you use first_rows_n
992261Optimizer merge fix for Oracle 9.2.0.8
981875Optimizer merge fix for Oracle 10.2.0.2
978710Transferring UP TO n ROWS with FIRST_ROWS(n) hint
960633Merge Join Cartesian in complex join
951416Semijoins and OR clause in inner conditions
948197Merge fix for DBMS_STATS package on Oracle 9.2.x and 10.2.x
927295FAQ: Oracle system statistics
881083Blocking factors on Oracle-based systems
880568WRONG CARDINALITY WITH RANGE PREDICATE AND HISTOGRAMS
869006Composite SAP note: ORA-04031
846308Performance of SELECTs in WM using Oracle database
841280Long runtime with OR and EXIST
830576Parameter recommendations for Oracle 10g
825653Oracle: Common misconceptions
799649Runtime IQ03 (history) long SELECT to VIAUFKST
797629FAQ: Oracle histograms
772497FAQ: Oracle Hints
766349FAQ: Oracle SQL optimization
756335Statistics in tables w/ heavily fluctuating volumes of data
753096DBMS_STATS: num_distinct = 0 when using ESTIMATE
750631Approximations for cost calculation of the CBO
742950Performance affected on Oracle DB with Supplement 11
722188FAQ: Oracle partitioning
712624High CPU consumption by Oracle
690702Histograms cause long runtimes on Oracle 9
651060FAQ: Oracle Parallel Execution
641435FAQ: Oracle Index Organized Tables (IOTs)
634263Selects with FOR ALL ENTRIES
618868FAQ: Oracle performance
448380Information: Oracle Package DBMS_STATS
408215BCT-CO totals record DataSourcen for costs
365480CBO: Field filled with leading "0" aligned to left
335415Creating and Maintaining Histograms
305225CBO and transitive fields
135048Long runtimes statements w/ ROWNUM <= condition
130480Database Hints in Open SQL for Oracle
129385Database hints in Open SQL
128648Incorrect path used due to rounding errors
106047DB21: Customizing the DBSTATC