SlideShare a Scribd company logo
1 of 69
Download to read offline
www.sagecomputing.com.au
penny@sagecomputing.com.au
Meet the Cost Based
Optimiser in 11g
Penny Cookson
SAGE Computing Services
SAGE Computing Services
Customised Oracle Training Workshops and Consulting
SAGE Computing Services
Customised Oracle Training Workshops and Consulting
Penny Cookson
Managing Director and Principal Consultant
Working with Oracle products since 1987
Oracle Magazine Educator of the Year 2004
www.sagecomputing.com.au
penny@sagecomputing.com.au
A Characteristic Problem
I havenโ€™t changed anything
Its really slow this morning
I did the same thing yesterday and it was fine
Actually its OK now
No its not
Thank you so much youโ€™ve fixed it (I havenโ€™t done anything)
Oracle Version < 9
SELECT COUNT(l.quantity)
FROM bookings_skew l
WHERE resource_code = :v1;
โ€˜BRLGโ€™
<Version 9 database
No bind peeking
Shared Pool
SELECT COUNT(l.quantity)
FROM bookings_skew_large l
WHERE resource_code = :v1;
โ€˜PC1โ€™
FULL SCAN
How many
rows do I
expect?
Oracle Version < 9
SELECT COUNT(l.quantity)
FROM bookings_skew l
WHERE resource_code = :v1;
โ€˜BRLGโ€™
<Version 9 database
No bind peeking
Shared Pool
SELECT COUNT(l.quantity)
FROM bookings_skew_large l
WHERE resource_code = :v1;
โ€˜PC1โ€™
FULL SCAN
How many
rows do I
expect?
What is Bind Peeking?
SELECT COUNT(l.quantity)
FROM bookings_skew l
WHERE resource_code = :v1;
โ€˜PC1โ€™
>=Version 9 database
Bind peeking
Shared Pool
SELECT COUNT(l.quantity)
FROM bookings_skew l
WHERE resource_code = :v1;
โ€˜BRLGโ€™
INDEXED
ACCESS
How many
rows do I
expect?
Histogram โ€“ Minority First
***************************************
SINGLE TABLE ACCESS PATH
Column (#3): RESOURCE_CODE(VARCHAR2)
AvgLen: 5.00 NDV: 9 Nulls: 0 Density: 9.0892e-008
Histogram: Freq #Bkts: 9 UncompBkts: 5966 EndPtVals: 9
Table: BOOKINGS_SKEW Alias: L
Card: Original: 5464800 Rounded: 43968 Computed: 43967.55 Non Adjusted: 43967.55
Access Path: TableScan
Cost: 7693.35 Resp: 7693.35 Degree: 0
Cost_io: 7426.00 Cost_cpu: 1555877511
Resp_io: 7426.00 Resp_cpu: 1555877511
Access Path: index (AllEqRange)
Index: BK_RESSKEW
resc_io: 2399.00 resc_cpu: 37397785
ix_sel: 0.0080456 ix_sel_with_filters: 0.0080456
Cost: 2405.43 Resp: 2405.43 Degree: 1
Best:: AccessPath: IndexRange Index: BK_RESSKEW
Cost: 2405.43 Degree: 1 Resp: 2405.43 Card: 43967.55 Bytes: 0
***************************************
RESO COUNT(*)
---- ----------
VCR1 495711
CONF 495720
LNCH 743576
BRSM 743583
PC1 47858
FLPC 495720
BRLG 1739277
TAP1 247864
VCR2 495715
Histogram โ€“ Minority First
What is the CBO good at in 10g?
Data Condition Literal/Bind Var Histogram
Even Distribution Equality Literal N/A
Even Distribution Equality Bind N/A
Skewed Equality Literal NO
Skewed Equality Literal YES
Skewed Equality Bind NO
Skewed Equality Bind YES
Even Distribution Range Bind N/A
Bind Peeking + Adaptive Cursors in 11g
Statements with bind variables (+histograms) are bind sensitive
The first time you execute a statement with different selectivity it
uses the original plan
The second time it changes the plan and become bind aware
New values will use a plan for the appropriate selectivity range
Adaptive Cursors Views
V$SQL
V$SQL_CS_SELECTIVITY
Adaptive Cursors Views
V$SQL_CS_HISTOGRAM
V$SQL_CS_STATISTICS
PLSQL has soft parse avoidance
Implicit cursor
Explicit cursor
Native dynamic SQL
Ref cursor
Session_cached_cursors = 0
No default adaptive cursor functionality
Default adaptive cursor functionality
Adaptive Cursors Functionality
Bind variable with Equality and Histogram
Not for range conditions
Bind variable with Equality and Histogram
Range conditions
Does not support LIKE
/*+ BIND_AWARE */
Adaptive Cursors 11.1.0.6
Adaptive Cursors 11.1.0.7 and 11.2
So where are we now?
Our own code โ€“ works properly first time with hint
in SQL and PL/SQL
Packages โ€“ will still get it wrong once
and wonโ€™t use adaptive cursors for PL/SQL
at all unless we set session cached cursors =0
xxxxxxxxxxxxxxxxxxxxx
Maybe you should buy an
Exadata box
Bind Peeking + Adaptive Cursors Summary
Your code
Packages
Minimise statement invalidations
Consider running the statement with minority and majority value on start up
Use the BIND_AWARE hint (SQL and PL/SQL) for skewed data
Use ref cursors (if hints are not allowed)
?manually hack an outline/profile
PL/SQL โ€“ set session_cached_cursors = 0 (temporarily)
Adaptive Cursors What we Really Need
Once a statement has been bind aware it knows next time
its parsed
?SQL *Profile to indicate bind aware
Adaptive Cursors Persistence
Try to get rid of your hints
_optimizer_ignore_hints
Create additional statistics
Set _optimizer_ignore_hints to TRUE
Test the app
If it runs OK remove your hints
58 New Hints
SELECT name, inverse, sql_feature, version
FROM v$sql_hint
WHERE version like '11%'
ORDER BY version desc, name
New Hints
New Hints
IGNORE_ROW_ON_DUPKEY_INDEX
This has nothing to do with optimisation I just like it
New Hints
MONITOR
NO_MONITOR
select /*+ MONITOR */
count(comments) from bookings ;
select DBMS_SQLTUNE.REPORT_SQL_MONITOR(
session_id=>sys_context('userenv','sid'),
report_level=>'ALL') as report
from dual;
Much More Query Transformation
SELECT e.event_no, e.start_date, sum(cost) totcost
FROM events_large e, bookings_large b
WHERE e.event_no = b.event_no
GROUP BY e.event_no, e.start_date
alter session set tracefile_identifier = Penny
alter session set events '10053 trace name context forever'
explain plan for
SELECT e.event_no, e.start_date, sum(cost) totcost
FROM events_large e, bookings_large b
WHERE e.event_no = b.event_no
GROUP BY e.event_no, e.start_date;
alter session set events '10053 trace name context off'
Much More Query Transformation
SELECT e.event_no, e.start_date, sum(cost) totcost
FROM events_large e, bookings_large b
WHERE e.event_no = b.event_no
GROUP BY e.event_no, e.start_date
10G โ€“ JOIN before the GROUP BY
11G โ€“ GROUP BY before the JOIN
10G โ€“ NOT IN (PROMISE_NO NULLABLE)
10G โ€“ KILLED AFTER 1 hr
11G โ€“ Rewrite as Null Aware Anti join
10G โ€“ Full Outer Join โ€“ default behaviour
From version 10.2.0.3
SELECT /*+ NATIVE_FULL_OUTER_JOIN */
count(e.comments) nume,
count (b.comments) numb
FROM events_large e
FULL OUTER JOIN bookings_large b
ON (e.event_no = b.event_no)
10G โ€“ Full Outer Join โ€“ hint
11G Native Full Outer Join
Check the differences in plans
Upgrading
Oracle 10g โ€“ Run a whole load of random statements โ€“ all of
which require parsing
Oracle 11g โ€“ Run a whole load of random statements โ€“ all of
which require parsing
So Tuning the Shared
Pool becomes more
important,
but overall the 11g
CBO is pretty smart
Results Cache
SGA
populate invalidate
Most recently
used
SQL/PL/SQL
SQL Query
Results Cache
Results Cache
PL/SQL Function
Results Cache
Most recently used result sets
Buffer Cache Library Cache
Most recently
data
Query Results Cache
RESULT_CACHE_MODE MANUAL
FORCE
/*+RESULT_CACHE */
/*+ NO_RESULT_CACHE */
SELECT /*+ RESULT_CACHE */
count(b.comments)
FROM train1.events_large e, train1.bookings_large b
WHERE e.org_id = :v1
AND e.event_no = b.event_no
AND e.comments = :v2;
PL/SQL Function Results Cache
CREATE OR REPLACE FUNCTION quantity_booked
(p_resource_code in resources.code%TYPE,p_event_date in date)
RETURN NUMBER
RESULT_CACHE
IS
v_total_booked number := 0;
BEGIN
SELECT sum(b.quantity)
INTO v_total_booked
FROM bookings b, events e
WHERE e.event_no = b.event_no
AND p_event_date between e.start_date and e.end_date
AND b.resource_code = p_resource_code;
RETURN (v_total_booked);
END;
Monitoring the Results Cache
SELECT * FROM v$result_cache_memory
SELECT * FROM v$result_cache_objects
SELECT * FROM v$result_cache_statistics
SELECT * FROM v$result_cache_dependency
RESULT_CACHE_MAX_SIZE
RESULT_CACHE_MAX_RESULT
Explain Plan
Setting Statistics Gathering Defaults
GET_PARAM
SET_PARAM Procedure
GET_PREFS Function
SET_TABLE_PREFS (set for individual tables)
SET_DATABASE_PREFS (sets for all tables, can include/exclude
SYS tables)
SET_GLOBAL_PREFS โ€“ for new objects
Obsolete:
Use:
Gathering Statistics
Early CBO: โ€œMake sure you gather statistics regularlyโ€
Later CBO: โ€œDonโ€™t gather statistics unless data patterns
changeโ€
BUT
If you have new majority values you need to recreate the
histogram
Gathering and Publishing
Set preferences to PUBLISH = โ€˜FALSEโ€™
Gather Statistics
user_tab_pending_stats
user_ind_pending_stats
user_col_pending_stats
Run test case
Alter session set
optimizer_pending_statistics
= TRUE Worse
Better
dbms_stats.
delete_pending_stats
dbms_stats.
publish_pending_stats
user_tab_statistics
user_ind_statistics
user_tab_col_statistics
Gathering and Publishing
SELECT obj#, TO_CHAR(savtime,'dd/mm/yyyy') save_time,
rowcnt, blkcnt, avgrln, samplesize, analyzetime
FROM wri$_optstat_tab_history
ORDER BY savtime desc
CBO - Instability
CBO
?access
path
decision
System parameters
Session parameters
Optimiser StatisticsIndexes
SQL Profile
Software version
System statistics
DBA playing around
CBO - Instability
โ€“ Leave it all alone
โ€“ SQL Plan Management
โ€“ Store plan baseline
โ€“ Plans not used till accepted
โ€“ Manually accept or
โ€“ Allow Oracle to evolve plans
Solution 1
Solution 2
SQL Plan Management
Manual capture
DBMS_SPM.LOAD_PLANS_FROM_SQLSET
DBMS_SPM.LOAD_PLANS_FROM_CURSOR_CACHE
Auto capture of repeatable statements
OPTIMIZER_CAPTURE_SQL_PLAN_BASELINE = TRUE
Baseline =
(Stored and Accepted plans)
SQL Management Base
New Plan
identified during
execution
Stored not accepted
SQL Tuning Advisor identifies new
plan โ€“ SQL*Profile accepted
Auto accept of new plan
(if it performs better)
DBMS_SPM.EVOLVE_SQL_PLAN_BASELINE
Manual load/accept of new plan
DBMS_SPM.LOAD_PLANS_FROM_SQLSET
DBMS_SPM.LOAD_PLANS_FROM_CURSOR_CACHE
www.sagecomputing.com.au
penny@sagecomputing.com.au
SAGE Computing Services
Customised Oracle Training Workshops and Consulting
Questions?
www.sagecomputing.com.au
penny@sagecomputing.com.au

More Related Content

What's hot

Oracle SQL Advanced
Oracle SQL AdvancedOracle SQL Advanced
Oracle SQL AdvancedDhananjay Goel
ย 
Java script โ€“ basic auroskills (2)
Java script โ€“ basic   auroskills (2)Java script โ€“ basic   auroskills (2)
Java script โ€“ basic auroskills (2)BoneyGawande
ย 
Ngrx: Redux in angular
Ngrx: Redux in angularNgrx: Redux in angular
Ngrx: Redux in angularSaadnoor Salehin
ย 
Oracle - Program with PL/SQL - Lession 03
Oracle - Program with PL/SQL - Lession 03Oracle - Program with PL/SQL - Lession 03
Oracle - Program with PL/SQL - Lession 03Thuan Nguyen
ย 
Oracle - Program with PL/SQL - Lession 01
Oracle - Program with PL/SQL - Lession 01Oracle - Program with PL/SQL - Lession 01
Oracle - Program with PL/SQL - Lession 01Thuan Nguyen
ย 
Oracle - Program with PL/SQL - Lession 07
Oracle - Program with PL/SQL - Lession 07Oracle - Program with PL/SQL - Lession 07
Oracle - Program with PL/SQL - Lession 07Thuan Nguyen
ย 
Table partitioning in PostgreSQL + Rails
Table partitioning in PostgreSQL + RailsTable partitioning in PostgreSQL + Rails
Table partitioning in PostgreSQL + RailsAgnieszka Figiel
ย 
Oracle - Program with PL/SQL - Lession 04
Oracle - Program with PL/SQL - Lession 04Oracle - Program with PL/SQL - Lession 04
Oracle - Program with PL/SQL - Lession 04Thuan Nguyen
ย 
Oracle - Program with PL/SQL - Lession 14
Oracle - Program with PL/SQL - Lession 14Oracle - Program with PL/SQL - Lession 14
Oracle - Program with PL/SQL - Lession 14Thuan Nguyen
ย 
QuirksofR
QuirksofRQuirksofR
QuirksofRAnkur Gupta
ย 
Sql Functions And Procedures
Sql Functions And ProceduresSql Functions And Procedures
Sql Functions And ProceduresDataminingTools Inc
ย 
Oracle 11g Invisible Indexes
Oracle 11g Invisible IndexesOracle 11g Invisible Indexes
Oracle 11g Invisible IndexesAnar Godjaev
ย 
Window functions with SQL Server 2016
Window functions with SQL Server 2016Window functions with SQL Server 2016
Window functions with SQL Server 2016Mark Tabladillo
ย 
Part3 Explain the Explain Plan
Part3 Explain the Explain PlanPart3 Explain the Explain Plan
Part3 Explain the Explain PlanMaria Colgan
ย 
Advanced dot net
Advanced dot netAdvanced dot net
Advanced dot netssa2010
ย 
Oracle - Program with PL/SQL - Lession 05
Oracle - Program with PL/SQL - Lession 05Oracle - Program with PL/SQL - Lession 05
Oracle - Program with PL/SQL - Lession 05Thuan Nguyen
ย 
Web Developer make the most out of your Database !
Web Developer make the most out of your Database !Web Developer make the most out of your Database !
Web Developer make the most out of your Database !Jean-Marc Desvaux
ย 

What's hot (20)

Oracle SQL Advanced
Oracle SQL AdvancedOracle SQL Advanced
Oracle SQL Advanced
ย 
SQL Tunning
SQL TunningSQL Tunning
SQL Tunning
ย 
Java script โ€“ basic auroskills (2)
Java script โ€“ basic   auroskills (2)Java script โ€“ basic   auroskills (2)
Java script โ€“ basic auroskills (2)
ย 
Ngrx: Redux in angular
Ngrx: Redux in angularNgrx: Redux in angular
Ngrx: Redux in angular
ย 
Oracle - Program with PL/SQL - Lession 03
Oracle - Program with PL/SQL - Lession 03Oracle - Program with PL/SQL - Lession 03
Oracle - Program with PL/SQL - Lession 03
ย 
Oracle - Program with PL/SQL - Lession 01
Oracle - Program with PL/SQL - Lession 01Oracle - Program with PL/SQL - Lession 01
Oracle - Program with PL/SQL - Lession 01
ย 
Ngrx
NgrxNgrx
Ngrx
ย 
Oracle - Program with PL/SQL - Lession 07
Oracle - Program with PL/SQL - Lession 07Oracle - Program with PL/SQL - Lession 07
Oracle - Program with PL/SQL - Lession 07
ย 
Table partitioning in PostgreSQL + Rails
Table partitioning in PostgreSQL + RailsTable partitioning in PostgreSQL + Rails
Table partitioning in PostgreSQL + Rails
ย 
Oracle - Program with PL/SQL - Lession 04
Oracle - Program with PL/SQL - Lession 04Oracle - Program with PL/SQL - Lession 04
Oracle - Program with PL/SQL - Lession 04
ย 
Oracle - Program with PL/SQL - Lession 14
Oracle - Program with PL/SQL - Lession 14Oracle - Program with PL/SQL - Lession 14
Oracle - Program with PL/SQL - Lession 14
ย 
QuirksofR
QuirksofRQuirksofR
QuirksofR
ย 
Sql Functions And Procedures
Sql Functions And ProceduresSql Functions And Procedures
Sql Functions And Procedures
ย 
Oracle 11g Invisible Indexes
Oracle 11g Invisible IndexesOracle 11g Invisible Indexes
Oracle 11g Invisible Indexes
ย 
Window functions with SQL Server 2016
Window functions with SQL Server 2016Window functions with SQL Server 2016
Window functions with SQL Server 2016
ย 
Part3 Explain the Explain Plan
Part3 Explain the Explain PlanPart3 Explain the Explain Plan
Part3 Explain the Explain Plan
ย 
Ejb5
Ejb5Ejb5
Ejb5
ย 
Advanced dot net
Advanced dot netAdvanced dot net
Advanced dot net
ย 
Oracle - Program with PL/SQL - Lession 05
Oracle - Program with PL/SQL - Lession 05Oracle - Program with PL/SQL - Lession 05
Oracle - Program with PL/SQL - Lession 05
ย 
Web Developer make the most out of your Database !
Web Developer make the most out of your Database !Web Developer make the most out of your Database !
Web Developer make the most out of your Database !
ย 

Viewers also liked

ะญัั‚ั€ะฐะดะฐ ะถาฑะปะดั‹ะทะดะฐั€ั‹
ะญัั‚ั€ะฐะดะฐ ะถาฑะปะดั‹ะทะดะฐั€ั‹ะญัั‚ั€ะฐะดะฐ ะถาฑะปะดั‹ะทะดะฐั€ั‹
ะญัั‚ั€ะฐะดะฐ ะถาฑะปะดั‹ะทะดะฐั€ั‹Bilim All
ย 
Yeosh Bendayan - Push Button Productions
Yeosh Bendayan - Push Button ProductionsYeosh Bendayan - Push Button Productions
Yeosh Bendayan - Push Button ProductionsFPRAGNV
ย 
DHBA Newsletter Vol. 10 Issue 6
DHBA Newsletter Vol. 10 Issue 6DHBA Newsletter Vol. 10 Issue 6
DHBA Newsletter Vol. 10 Issue 6Jazmin Zamarripa
ย 
cรดng ty laฬ€m phim quaฬ‰ng caฬo tแป‘t nhแบฅt
cรดng ty laฬ€m phim quaฬ‰ng caฬo tแป‘t nhแบฅtcรดng ty laฬ€m phim quaฬ‰ng caฬo tแป‘t nhแบฅt
cรดng ty laฬ€m phim quaฬ‰ng caฬo tแป‘t nhแบฅtnorman497
ย 
HE WHO FINDETH A WILD CAT
HE WHO FINDETH A WILD CATHE WHO FINDETH A WILD CAT
HE WHO FINDETH A WILD CATAaron Oteze
ย 
AnaStan
AnaStanAnaStan
AnaStanAna-Stan
ย 
Fairfax 2015 World Police & Fire Games Official Athlete Entry Book
Fairfax 2015 World Police & Fire Games Official Athlete Entry BookFairfax 2015 World Police & Fire Games Official Athlete Entry Book
Fairfax 2015 World Police & Fire Games Official Athlete Entry BookRobert Asperheim
ย 
Introduction to programming
Introduction to programmingIntroduction to programming
Introduction to programmingFearnly Poonyawee
ย 
013115IRH_SeniorExecutiveLiving
013115IRH_SeniorExecutiveLiving013115IRH_SeniorExecutiveLiving
013115IRH_SeniorExecutiveLivingBeth Baumann
ย 
VolunteerAR2005-JLuetzowForNationalCity
VolunteerAR2005-JLuetzowForNationalCityVolunteerAR2005-JLuetzowForNationalCity
VolunteerAR2005-JLuetzowForNationalCityJessica Luetzow, M.A.
ย 
Gost r 53938 2010
Gost r 53938 2010Gost r 53938 2010
Gost r 53938 2010Raphael254
ย 
Schisina Ghost Villages, Sicily
Schisina Ghost Villages, SicilySchisina Ghost Villages, Sicily
Schisina Ghost Villages, SicilyRossellaScalia
ย 
01. instalasi software oracle database
01. instalasi software oracle database01. instalasi software oracle database
01. instalasi software oracle databaseGitta Safitri
ย 
My last vacations
My last vacations My last vacations
My last vacations Angie Tovar
ย 

Viewers also liked (16)

ะญัั‚ั€ะฐะดะฐ ะถาฑะปะดั‹ะทะดะฐั€ั‹
ะญัั‚ั€ะฐะดะฐ ะถาฑะปะดั‹ะทะดะฐั€ั‹ะญัั‚ั€ะฐะดะฐ ะถาฑะปะดั‹ะทะดะฐั€ั‹
ะญัั‚ั€ะฐะดะฐ ะถาฑะปะดั‹ะทะดะฐั€ั‹
ย 
Yeosh Bendayan - Push Button Productions
Yeosh Bendayan - Push Button ProductionsYeosh Bendayan - Push Button Productions
Yeosh Bendayan - Push Button Productions
ย 
DHBA Newsletter Vol. 10 Issue 6
DHBA Newsletter Vol. 10 Issue 6DHBA Newsletter Vol. 10 Issue 6
DHBA Newsletter Vol. 10 Issue 6
ย 
cรดng ty laฬ€m phim quaฬ‰ng caฬo tแป‘t nhแบฅt
cรดng ty laฬ€m phim quaฬ‰ng caฬo tแป‘t nhแบฅtcรดng ty laฬ€m phim quaฬ‰ng caฬo tแป‘t nhแบฅt
cรดng ty laฬ€m phim quaฬ‰ng caฬo tแป‘t nhแบฅt
ย 
HE WHO FINDETH A WILD CAT
HE WHO FINDETH A WILD CATHE WHO FINDETH A WILD CAT
HE WHO FINDETH A WILD CAT
ย 
AnaStan
AnaStanAnaStan
AnaStan
ย 
Fairfax 2015 World Police & Fire Games Official Athlete Entry Book
Fairfax 2015 World Police & Fire Games Official Athlete Entry BookFairfax 2015 World Police & Fire Games Official Athlete Entry Book
Fairfax 2015 World Police & Fire Games Official Athlete Entry Book
ย 
Introduction to programming
Introduction to programmingIntroduction to programming
Introduction to programming
ย 
Preguntas analizadas lenguaje saber 9
Preguntas analizadas lenguaje saber 9Preguntas analizadas lenguaje saber 9
Preguntas analizadas lenguaje saber 9
ย 
013115IRH_SeniorExecutiveLiving
013115IRH_SeniorExecutiveLiving013115IRH_SeniorExecutiveLiving
013115IRH_SeniorExecutiveLiving
ย 
VolunteerAR2005-JLuetzowForNationalCity
VolunteerAR2005-JLuetzowForNationalCityVolunteerAR2005-JLuetzowForNationalCity
VolunteerAR2005-JLuetzowForNationalCity
ย 
Gost r 53938 2010
Gost r 53938 2010Gost r 53938 2010
Gost r 53938 2010
ย 
Schisina Ghost Villages, Sicily
Schisina Ghost Villages, SicilySchisina Ghost Villages, Sicily
Schisina Ghost Villages, Sicily
ย 
01. instalasi software oracle database
01. instalasi software oracle database01. instalasi software oracle database
01. instalasi software oracle database
ย 
My last vacations
My last vacations My last vacations
My last vacations
ย 
Zabrze
ZabrzeZabrze
Zabrze
ย 

Similar to Meet the CBO in Version 11g

Jsf intro
Jsf introJsf intro
Jsf introvantinhkhuc
ย 
SQL Performance Solutions: Refactor Mercilessly, Index Wisely
SQL Performance Solutions: Refactor Mercilessly, Index WiselySQL Performance Solutions: Refactor Mercilessly, Index Wisely
SQL Performance Solutions: Refactor Mercilessly, Index WiselyEnkitec
ย 
Smarter Together - Bringing Relational Algebra, Powered by Apache Calcite, in...
Smarter Together - Bringing Relational Algebra, Powered by Apache Calcite, in...Smarter Together - Bringing Relational Algebra, Powered by Apache Calcite, in...
Smarter Together - Bringing Relational Algebra, Powered by Apache Calcite, in...Julian Hyde
ย 
2ยฐ Ciclo Microsoft CRUI 3ยฐ Sessione: l'evoluzione delle piattaforme tecnologi...
2ยฐ Ciclo Microsoft CRUI 3ยฐ Sessione: l'evoluzione delle piattaforme tecnologi...2ยฐ Ciclo Microsoft CRUI 3ยฐ Sessione: l'evoluzione delle piattaforme tecnologi...
2ยฐ Ciclo Microsoft CRUI 3ยฐ Sessione: l'evoluzione delle piattaforme tecnologi...Jรผrgen Ambrosi
ย 
Relational Database Management System
Relational Database Management SystemRelational Database Management System
Relational Database Management Systemsweetysweety8
ย 
Enhancements that will make your sql database roar sp1 edition sql bits 2017
Enhancements that will make your sql database roar sp1 edition sql bits 2017Enhancements that will make your sql database roar sp1 edition sql bits 2017
Enhancements that will make your sql database roar sp1 edition sql bits 2017Bob Ward
ย 
Oracle SQL Tuning
Oracle SQL TuningOracle SQL Tuning
Oracle SQL TuningAlex Zaballa
ย 
Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...
Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...
Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...Alex Zaballa
ย 
Whose fault is it? - a review of application tuning problems
Whose fault is it? - a review of application tuning problemsWhose fault is it? - a review of application tuning problems
Whose fault is it? - a review of application tuning problemsSage Computing Services
ย 
Evolutionary db development
Evolutionary db development Evolutionary db development
Evolutionary db development Open Party
ย 
Vpd Virtual Private Database By Saurabh
Vpd   Virtual Private Database By SaurabhVpd   Virtual Private Database By Saurabh
Vpd Virtual Private Database By Saurabhguestd83b546
ย 
Declarative presentations UIKonf
Declarative presentations UIKonfDeclarative presentations UIKonf
Declarative presentations UIKonfNataliya Patsovska
ย 
Performance tuning
Performance tuningPerformance tuning
Performance tuningami111
ย 
Advance Sql Server Store procedure Presentation
Advance Sql Server Store procedure PresentationAdvance Sql Server Store procedure Presentation
Advance Sql Server Store procedure PresentationAmin Uddin
ย 
SQL Optimization With Trace Data And Dbms Xplan V6
SQL Optimization With Trace Data And Dbms Xplan V6SQL Optimization With Trace Data And Dbms Xplan V6
SQL Optimization With Trace Data And Dbms Xplan V6Mahesh Vallampati
ย 
Oracle_Analytical_function.pdf
Oracle_Analytical_function.pdfOracle_Analytical_function.pdf
Oracle_Analytical_function.pdfKalyankumarVenkat1
ย 
Sql tuning guideline
Sql tuning guidelineSql tuning guideline
Sql tuning guidelineSidney Chen
ย 
1-What are the opportunities and threats that could impact the org
1-What are the opportunities and threats that could impact the org1-What are the opportunities and threats that could impact the org
1-What are the opportunities and threats that could impact the orgAbbyWhyte974
ย 

Similar to Meet the CBO in Version 11g (20)

Jsf intro
Jsf introJsf intro
Jsf intro
ย 
SQL Performance Solutions: Refactor Mercilessly, Index Wisely
SQL Performance Solutions: Refactor Mercilessly, Index WiselySQL Performance Solutions: Refactor Mercilessly, Index Wisely
SQL Performance Solutions: Refactor Mercilessly, Index Wisely
ย 
Smarter Together - Bringing Relational Algebra, Powered by Apache Calcite, in...
Smarter Together - Bringing Relational Algebra, Powered by Apache Calcite, in...Smarter Together - Bringing Relational Algebra, Powered by Apache Calcite, in...
Smarter Together - Bringing Relational Algebra, Powered by Apache Calcite, in...
ย 
2ยฐ Ciclo Microsoft CRUI 3ยฐ Sessione: l'evoluzione delle piattaforme tecnologi...
2ยฐ Ciclo Microsoft CRUI 3ยฐ Sessione: l'evoluzione delle piattaforme tecnologi...2ยฐ Ciclo Microsoft CRUI 3ยฐ Sessione: l'evoluzione delle piattaforme tecnologi...
2ยฐ Ciclo Microsoft CRUI 3ยฐ Sessione: l'evoluzione delle piattaforme tecnologi...
ย 
Relational Database Management System
Relational Database Management SystemRelational Database Management System
Relational Database Management System
ย 
Enhancements that will make your sql database roar sp1 edition sql bits 2017
Enhancements that will make your sql database roar sp1 edition sql bits 2017Enhancements that will make your sql database roar sp1 edition sql bits 2017
Enhancements that will make your sql database roar sp1 edition sql bits 2017
ย 
Oracle SQL Tuning
Oracle SQL TuningOracle SQL Tuning
Oracle SQL Tuning
ย 
Unit 3
Unit 3Unit 3
Unit 3
ย 
Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...
Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...
Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...
ย 
Whose fault is it? - a review of application tuning problems
Whose fault is it? - a review of application tuning problemsWhose fault is it? - a review of application tuning problems
Whose fault is it? - a review of application tuning problems
ย 
Evolutionary db development
Evolutionary db development Evolutionary db development
Evolutionary db development
ย 
Vpd Virtual Private Database By Saurabh
Vpd   Virtual Private Database By SaurabhVpd   Virtual Private Database By Saurabh
Vpd Virtual Private Database By Saurabh
ย 
Declarative presentations UIKonf
Declarative presentations UIKonfDeclarative presentations UIKonf
Declarative presentations UIKonf
ย 
Performance tuning
Performance tuningPerformance tuning
Performance tuning
ย 
Advance Sql Server Store procedure Presentation
Advance Sql Server Store procedure PresentationAdvance Sql Server Store procedure Presentation
Advance Sql Server Store procedure Presentation
ย 
SQL Optimization With Trace Data And Dbms Xplan V6
SQL Optimization With Trace Data And Dbms Xplan V6SQL Optimization With Trace Data And Dbms Xplan V6
SQL Optimization With Trace Data And Dbms Xplan V6
ย 
Oracle_Analytical_function.pdf
Oracle_Analytical_function.pdfOracle_Analytical_function.pdf
Oracle_Analytical_function.pdf
ย 
Cdc
CdcCdc
Cdc
ย 
Sql tuning guideline
Sql tuning guidelineSql tuning guideline
Sql tuning guideline
ย 
1-What are the opportunities and threats that could impact the org
1-What are the opportunities and threats that could impact the org1-What are the opportunities and threats that could impact the org
1-What are the opportunities and threats that could impact the org
ย 

More from Sage Computing Services

Oracle XML DB - What's in it for me?
Oracle XML DB - What's in it for me?Oracle XML DB - What's in it for me?
Oracle XML DB - What's in it for me?Sage Computing Services
ย 
Bind Peeking - The Endless Tuning Nightmare
Bind Peeking - The Endless Tuning NightmareBind Peeking - The Endless Tuning Nightmare
Bind Peeking - The Endless Tuning NightmareSage Computing Services
ย 
Back to basics: Simple database web services without the need for SOA
Back to basics: Simple database web services without the need for SOABack to basics: Simple database web services without the need for SOA
Back to basics: Simple database web services without the need for SOASage Computing Services
ย 
New Tuning Features in Oracle 11g - How to make your database as boring as po...
New Tuning Features in Oracle 11g - How to make your database as boring as po...New Tuning Features in Oracle 11g - How to make your database as boring as po...
New Tuning Features in Oracle 11g - How to make your database as boring as po...Sage Computing Services
ย 
How Can I tune it When I Can't Change the Code?
How Can I tune it When I Can't Change the Code?How Can I tune it When I Can't Change the Code?
How Can I tune it When I Can't Change the Code?Sage Computing Services
ย 
Take a load off! Load testing your Oracle APEX or JDeveloper web applications
Take a load off! Load testing your Oracle APEX or JDeveloper web applicationsTake a load off! Load testing your Oracle APEX or JDeveloper web applications
Take a load off! Load testing your Oracle APEX or JDeveloper web applicationsSage Computing Services
ย 
The Cost Based Optimiser in 11gR2
The Cost Based Optimiser in 11gR2The Cost Based Optimiser in 11gR2
The Cost Based Optimiser in 11gR2Sage Computing Services
ย 
Transformations - how Oracle rewrites your statements
Transformations - how Oracle rewrites your statementsTransformations - how Oracle rewrites your statements
Transformations - how Oracle rewrites your statementsSage Computing Services
ย 
Application Express - A web development environment for the masses - and for ...
Application Express - A web development environment for the masses - and for ...Application Express - A web development environment for the masses - and for ...
Application Express - A web development environment for the masses - and for ...Sage Computing Services
ย 
OHarmony - How the Optimiser works
OHarmony - How the Optimiser worksOHarmony - How the Optimiser works
OHarmony - How the Optimiser worksSage Computing Services
ย 
Oracle Discoverer is dead - Where to next for BI?
Oracle Discoverer is dead - Where to next for BI?Oracle Discoverer is dead - Where to next for BI?
Oracle Discoverer is dead - Where to next for BI?Sage Computing Services
ย 

More from Sage Computing Services (15)

Oracle XML DB - What's in it for me?
Oracle XML DB - What's in it for me?Oracle XML DB - What's in it for me?
Oracle XML DB - What's in it for me?
ย 
Aspects of 10 Tuning
Aspects of 10 TuningAspects of 10 Tuning
Aspects of 10 Tuning
ย 
Bind Peeking - The Endless Tuning Nightmare
Bind Peeking - The Endless Tuning NightmareBind Peeking - The Endless Tuning Nightmare
Bind Peeking - The Endless Tuning Nightmare
ย 
Back to basics: Simple database web services without the need for SOA
Back to basics: Simple database web services without the need for SOABack to basics: Simple database web services without the need for SOA
Back to basics: Simple database web services without the need for SOA
ย 
Results cache
Results cacheResults cache
Results cache
ย 
Vpd
VpdVpd
Vpd
ย 
New Tuning Features in Oracle 11g - How to make your database as boring as po...
New Tuning Features in Oracle 11g - How to make your database as boring as po...New Tuning Features in Oracle 11g - How to make your database as boring as po...
New Tuning Features in Oracle 11g - How to make your database as boring as po...
ย 
Lost without a trace
Lost without a traceLost without a trace
Lost without a trace
ย 
How Can I tune it When I Can't Change the Code?
How Can I tune it When I Can't Change the Code?How Can I tune it When I Can't Change the Code?
How Can I tune it When I Can't Change the Code?
ย 
Take a load off! Load testing your Oracle APEX or JDeveloper web applications
Take a load off! Load testing your Oracle APEX or JDeveloper web applicationsTake a load off! Load testing your Oracle APEX or JDeveloper web applications
Take a load off! Load testing your Oracle APEX or JDeveloper web applications
ย 
The Cost Based Optimiser in 11gR2
The Cost Based Optimiser in 11gR2The Cost Based Optimiser in 11gR2
The Cost Based Optimiser in 11gR2
ย 
Transformations - how Oracle rewrites your statements
Transformations - how Oracle rewrites your statementsTransformations - how Oracle rewrites your statements
Transformations - how Oracle rewrites your statements
ย 
Application Express - A web development environment for the masses - and for ...
Application Express - A web development environment for the masses - and for ...Application Express - A web development environment for the masses - and for ...
Application Express - A web development environment for the masses - and for ...
ย 
OHarmony - How the Optimiser works
OHarmony - How the Optimiser worksOHarmony - How the Optimiser works
OHarmony - How the Optimiser works
ย 
Oracle Discoverer is dead - Where to next for BI?
Oracle Discoverer is dead - Where to next for BI?Oracle Discoverer is dead - Where to next for BI?
Oracle Discoverer is dead - Where to next for BI?
ย 

Recently uploaded

CHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE9953056974 Low Rate Call Girls In Saket, Delhi NCR
ย 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
ย 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
ย 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
ย 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
ย 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
ย 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
ย 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
ย 
call girls in Vaishali (Ghaziabad) ๐Ÿ” >เผ’8448380779 ๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธ
call girls in Vaishali (Ghaziabad) ๐Ÿ” >เผ’8448380779 ๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธcall girls in Vaishali (Ghaziabad) ๐Ÿ” >เผ’8448380779 ๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธ
call girls in Vaishali (Ghaziabad) ๐Ÿ” >เผ’8448380779 ๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธDelhi Call girls
ย 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
ย 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
ย 
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Kakori Lucknow best sexual service Online โ˜‚๏ธ
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Kakori Lucknow best sexual service Online  โ˜‚๏ธCALL ON โžฅ8923113531 ๐Ÿ”Call Girls Kakori Lucknow best sexual service Online  โ˜‚๏ธ
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Kakori Lucknow best sexual service Online โ˜‚๏ธanilsa9823
ย 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfWilly Marroquin (WillyDevNET)
ย 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
ย 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
ย 
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Badshah Nagar Lucknow best Female service
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Badshah Nagar Lucknow best Female serviceCALL ON โžฅ8923113531 ๐Ÿ”Call Girls Badshah Nagar Lucknow best Female service
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
ย 
Shapes for Sharing between Graph Data Spacesย - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spacesย - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spacesย - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spacesย - and Epistemic Querying of RDF-...Steffen Staab
ย 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
ย 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
ย 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
ย 

Recently uploaded (20)

CHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE
ย 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
ย 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
ย 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
ย 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
ย 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
ย 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
ย 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
ย 
call girls in Vaishali (Ghaziabad) ๐Ÿ” >เผ’8448380779 ๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธ
call girls in Vaishali (Ghaziabad) ๐Ÿ” >เผ’8448380779 ๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธcall girls in Vaishali (Ghaziabad) ๐Ÿ” >เผ’8448380779 ๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธ
call girls in Vaishali (Ghaziabad) ๐Ÿ” >เผ’8448380779 ๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธ
ย 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
ย 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
ย 
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Kakori Lucknow best sexual service Online โ˜‚๏ธ
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Kakori Lucknow best sexual service Online  โ˜‚๏ธCALL ON โžฅ8923113531 ๐Ÿ”Call Girls Kakori Lucknow best sexual service Online  โ˜‚๏ธ
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Kakori Lucknow best sexual service Online โ˜‚๏ธ
ย 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
ย 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
ย 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
ย 
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Badshah Nagar Lucknow best Female service
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Badshah Nagar Lucknow best Female serviceCALL ON โžฅ8923113531 ๐Ÿ”Call Girls Badshah Nagar Lucknow best Female service
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Badshah Nagar Lucknow best Female service
ย 
Shapes for Sharing between Graph Data Spacesย - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spacesย - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spacesย - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spacesย - and Epistemic Querying of RDF-...
ย 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
ย 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
ย 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
ย 

Meet the CBO in Version 11g

  • 1. www.sagecomputing.com.au penny@sagecomputing.com.au Meet the Cost Based Optimiser in 11g Penny Cookson SAGE Computing Services SAGE Computing Services Customised Oracle Training Workshops and Consulting
  • 2. SAGE Computing Services Customised Oracle Training Workshops and Consulting Penny Cookson Managing Director and Principal Consultant Working with Oracle products since 1987 Oracle Magazine Educator of the Year 2004 www.sagecomputing.com.au penny@sagecomputing.com.au
  • 3. A Characteristic Problem I havenโ€™t changed anything Its really slow this morning I did the same thing yesterday and it was fine Actually its OK now No its not Thank you so much youโ€™ve fixed it (I havenโ€™t done anything)
  • 4. Oracle Version < 9 SELECT COUNT(l.quantity) FROM bookings_skew l WHERE resource_code = :v1; โ€˜BRLGโ€™ <Version 9 database No bind peeking Shared Pool SELECT COUNT(l.quantity) FROM bookings_skew_large l WHERE resource_code = :v1; โ€˜PC1โ€™ FULL SCAN How many rows do I expect?
  • 5. Oracle Version < 9 SELECT COUNT(l.quantity) FROM bookings_skew l WHERE resource_code = :v1; โ€˜BRLGโ€™ <Version 9 database No bind peeking Shared Pool SELECT COUNT(l.quantity) FROM bookings_skew_large l WHERE resource_code = :v1; โ€˜PC1โ€™ FULL SCAN How many rows do I expect?
  • 6. What is Bind Peeking? SELECT COUNT(l.quantity) FROM bookings_skew l WHERE resource_code = :v1; โ€˜PC1โ€™ >=Version 9 database Bind peeking Shared Pool SELECT COUNT(l.quantity) FROM bookings_skew l WHERE resource_code = :v1; โ€˜BRLGโ€™ INDEXED ACCESS How many rows do I expect?
  • 7. Histogram โ€“ Minority First *************************************** SINGLE TABLE ACCESS PATH Column (#3): RESOURCE_CODE(VARCHAR2) AvgLen: 5.00 NDV: 9 Nulls: 0 Density: 9.0892e-008 Histogram: Freq #Bkts: 9 UncompBkts: 5966 EndPtVals: 9 Table: BOOKINGS_SKEW Alias: L Card: Original: 5464800 Rounded: 43968 Computed: 43967.55 Non Adjusted: 43967.55 Access Path: TableScan Cost: 7693.35 Resp: 7693.35 Degree: 0 Cost_io: 7426.00 Cost_cpu: 1555877511 Resp_io: 7426.00 Resp_cpu: 1555877511 Access Path: index (AllEqRange) Index: BK_RESSKEW resc_io: 2399.00 resc_cpu: 37397785 ix_sel: 0.0080456 ix_sel_with_filters: 0.0080456 Cost: 2405.43 Resp: 2405.43 Degree: 1 Best:: AccessPath: IndexRange Index: BK_RESSKEW Cost: 2405.43 Degree: 1 Resp: 2405.43 Card: 43967.55 Bytes: 0 *************************************** RESO COUNT(*) ---- ---------- VCR1 495711 CONF 495720 LNCH 743576 BRSM 743583 PC1 47858 FLPC 495720 BRLG 1739277 TAP1 247864 VCR2 495715
  • 9. What is the CBO good at in 10g? Data Condition Literal/Bind Var Histogram Even Distribution Equality Literal N/A Even Distribution Equality Bind N/A Skewed Equality Literal NO Skewed Equality Literal YES Skewed Equality Bind NO Skewed Equality Bind YES Even Distribution Range Bind N/A
  • 10. Bind Peeking + Adaptive Cursors in 11g Statements with bind variables (+histograms) are bind sensitive The first time you execute a statement with different selectivity it uses the original plan The second time it changes the plan and become bind aware New values will use a plan for the appropriate selectivity range
  • 13. PLSQL has soft parse avoidance Implicit cursor Explicit cursor Native dynamic SQL Ref cursor Session_cached_cursors = 0 No default adaptive cursor functionality Default adaptive cursor functionality
  • 14. Adaptive Cursors Functionality Bind variable with Equality and Histogram Not for range conditions Bind variable with Equality and Histogram Range conditions Does not support LIKE /*+ BIND_AWARE */ Adaptive Cursors 11.1.0.6 Adaptive Cursors 11.1.0.7 and 11.2
  • 15. So where are we now? Our own code โ€“ works properly first time with hint in SQL and PL/SQL Packages โ€“ will still get it wrong once and wonโ€™t use adaptive cursors for PL/SQL at all unless we set session cached cursors =0
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 25. Bind Peeking + Adaptive Cursors Summary Your code Packages Minimise statement invalidations Consider running the statement with minority and majority value on start up Use the BIND_AWARE hint (SQL and PL/SQL) for skewed data Use ref cursors (if hints are not allowed) ?manually hack an outline/profile PL/SQL โ€“ set session_cached_cursors = 0 (temporarily)
  • 26. Adaptive Cursors What we Really Need Once a statement has been bind aware it knows next time its parsed ?SQL *Profile to indicate bind aware Adaptive Cursors Persistence
  • 27. Try to get rid of your hints _optimizer_ignore_hints Create additional statistics Set _optimizer_ignore_hints to TRUE Test the app If it runs OK remove your hints
  • 28. 58 New Hints SELECT name, inverse, sql_feature, version FROM v$sql_hint WHERE version like '11%' ORDER BY version desc, name New Hints
  • 29. New Hints IGNORE_ROW_ON_DUPKEY_INDEX This has nothing to do with optimisation I just like it
  • 30. New Hints MONITOR NO_MONITOR select /*+ MONITOR */ count(comments) from bookings ; select DBMS_SQLTUNE.REPORT_SQL_MONITOR( session_id=>sys_context('userenv','sid'), report_level=>'ALL') as report from dual;
  • 31. Much More Query Transformation SELECT e.event_no, e.start_date, sum(cost) totcost FROM events_large e, bookings_large b WHERE e.event_no = b.event_no GROUP BY e.event_no, e.start_date alter session set tracefile_identifier = Penny alter session set events '10053 trace name context forever' explain plan for SELECT e.event_no, e.start_date, sum(cost) totcost FROM events_large e, bookings_large b WHERE e.event_no = b.event_no GROUP BY e.event_no, e.start_date; alter session set events '10053 trace name context off'
  • 32. Much More Query Transformation SELECT e.event_no, e.start_date, sum(cost) totcost FROM events_large e, bookings_large b WHERE e.event_no = b.event_no GROUP BY e.event_no, e.start_date
  • 33. 10G โ€“ JOIN before the GROUP BY
  • 34.
  • 35. 11G โ€“ GROUP BY before the JOIN
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41. 10G โ€“ NOT IN (PROMISE_NO NULLABLE)
  • 42. 10G โ€“ KILLED AFTER 1 hr
  • 43. 11G โ€“ Rewrite as Null Aware Anti join
  • 44.
  • 45. 10G โ€“ Full Outer Join โ€“ default behaviour
  • 46.
  • 47. From version 10.2.0.3 SELECT /*+ NATIVE_FULL_OUTER_JOIN */ count(e.comments) nume, count (b.comments) numb FROM events_large e FULL OUTER JOIN bookings_large b ON (e.event_no = b.event_no) 10G โ€“ Full Outer Join โ€“ hint
  • 48. 11G Native Full Outer Join
  • 49.
  • 50. Check the differences in plans Upgrading
  • 51.
  • 52.
  • 53.
  • 54. Oracle 10g โ€“ Run a whole load of random statements โ€“ all of which require parsing
  • 55. Oracle 11g โ€“ Run a whole load of random statements โ€“ all of which require parsing So Tuning the Shared Pool becomes more important, but overall the 11g CBO is pretty smart
  • 56. Results Cache SGA populate invalidate Most recently used SQL/PL/SQL SQL Query Results Cache Results Cache PL/SQL Function Results Cache Most recently used result sets Buffer Cache Library Cache Most recently data
  • 57. Query Results Cache RESULT_CACHE_MODE MANUAL FORCE /*+RESULT_CACHE */ /*+ NO_RESULT_CACHE */ SELECT /*+ RESULT_CACHE */ count(b.comments) FROM train1.events_large e, train1.bookings_large b WHERE e.org_id = :v1 AND e.event_no = b.event_no AND e.comments = :v2;
  • 58. PL/SQL Function Results Cache CREATE OR REPLACE FUNCTION quantity_booked (p_resource_code in resources.code%TYPE,p_event_date in date) RETURN NUMBER RESULT_CACHE IS v_total_booked number := 0; BEGIN SELECT sum(b.quantity) INTO v_total_booked FROM bookings b, events e WHERE e.event_no = b.event_no AND p_event_date between e.start_date and e.end_date AND b.resource_code = p_resource_code; RETURN (v_total_booked); END;
  • 59. Monitoring the Results Cache SELECT * FROM v$result_cache_memory SELECT * FROM v$result_cache_objects SELECT * FROM v$result_cache_statistics SELECT * FROM v$result_cache_dependency RESULT_CACHE_MAX_SIZE RESULT_CACHE_MAX_RESULT Explain Plan
  • 60.
  • 61. Setting Statistics Gathering Defaults GET_PARAM SET_PARAM Procedure GET_PREFS Function SET_TABLE_PREFS (set for individual tables) SET_DATABASE_PREFS (sets for all tables, can include/exclude SYS tables) SET_GLOBAL_PREFS โ€“ for new objects Obsolete: Use:
  • 62. Gathering Statistics Early CBO: โ€œMake sure you gather statistics regularlyโ€ Later CBO: โ€œDonโ€™t gather statistics unless data patterns changeโ€ BUT If you have new majority values you need to recreate the histogram
  • 63. Gathering and Publishing Set preferences to PUBLISH = โ€˜FALSEโ€™ Gather Statistics user_tab_pending_stats user_ind_pending_stats user_col_pending_stats Run test case Alter session set optimizer_pending_statistics = TRUE Worse Better dbms_stats. delete_pending_stats dbms_stats. publish_pending_stats user_tab_statistics user_ind_statistics user_tab_col_statistics
  • 64. Gathering and Publishing SELECT obj#, TO_CHAR(savtime,'dd/mm/yyyy') save_time, rowcnt, blkcnt, avgrln, samplesize, analyzetime FROM wri$_optstat_tab_history ORDER BY savtime desc
  • 65. CBO - Instability CBO ?access path decision System parameters Session parameters Optimiser StatisticsIndexes SQL Profile Software version System statistics DBA playing around
  • 66. CBO - Instability โ€“ Leave it all alone โ€“ SQL Plan Management โ€“ Store plan baseline โ€“ Plans not used till accepted โ€“ Manually accept or โ€“ Allow Oracle to evolve plans Solution 1 Solution 2
  • 67. SQL Plan Management Manual capture DBMS_SPM.LOAD_PLANS_FROM_SQLSET DBMS_SPM.LOAD_PLANS_FROM_CURSOR_CACHE Auto capture of repeatable statements OPTIMIZER_CAPTURE_SQL_PLAN_BASELINE = TRUE Baseline = (Stored and Accepted plans) SQL Management Base New Plan identified during execution Stored not accepted SQL Tuning Advisor identifies new plan โ€“ SQL*Profile accepted Auto accept of new plan (if it performs better) DBMS_SPM.EVOLVE_SQL_PLAN_BASELINE Manual load/accept of new plan DBMS_SPM.LOAD_PLANS_FROM_SQLSET DBMS_SPM.LOAD_PLANS_FROM_CURSOR_CACHE
  • 69. SAGE Computing Services Customised Oracle Training Workshops and Consulting Questions? www.sagecomputing.com.au penny@sagecomputing.com.au