SlideShare a Scribd company logo
Oracle
SQL Tuning 101
Alex Zaballa, Accenture Enkitec Group
Oracle SQL Tuning
Alex Zaballa
http://alexzaballa.blogspot.com/
@alexzaballa
https://www.linkedin.com/in/alexzaballa
Worked for 3 years as a Clipper/Delphi Developer (15 years old)
Worked for 7 years in Brazil as an Oracle Developer.
Worked 8 years for the Ministry of Finance
In Angola as a DBA
March - 2007 until March - 2015*
Oracle SQL Tuning
TUNING
e não
TANING
Oracle Database
Enterprise Edition +
Diagnostics Pack +
Tuning Pack
*
Database Tuning
Vs
SQL Tuning
*
Desenvolvedores
vs
SQL
*
•Aplicações multi-banco
•ORM : Object Relational
Mapper
”The Oracle optimizer uses
the constraints to make
better decisions on join
paths.”
Cost of an Index
FKs **
In-Memory**
*
Nada mudou e hoje a
aplicação está lenta!
Mudanças que podem trazer
problemas
• Database upgraded
• Statistics gathered
• Schema changed
• Database parameter changed
• Application changed
• Operating system (OS) and hardware changed
• Data volume changed by more active users
Ferramentas para SQL Tuning -
Oracle
• SQL Trace (and TKPROF)
• Active Session History (ASH)
• EXPLAIN PLAN FOR
• AUTOTRACE
• SQL Developer
• DBMS_XPLAN
• SQL Monitor
ASH e AWR
• 1 sec snapshots of V$SESSION into ASH
• Every 10 ASH samples into AWR
**Requires Oracle Diagnostics Pack
*
Tom Kyte
Tipos de SQL Tuning
Proativo
Tipos de SQL Tuning
Reativo
*
Proativo
eDB360
*
Top SQLs
*
Top Events
AWR
• SQL ordered by Elapsed Time
• SQL ordered by CPU Time
• SQL ordered by User I/O Wait Time
• SQL ordered by Gets
• SQL ordered by Reads
• SQL ordered by Physical Reads (UnOptimized)
• SQL ordered by Executions
• SQL ordered by Parse Calls
• SQL ordered by Sharable Memory
• SQL ordered by Version Count
• SQL ordered by Cluster Wait Time*
SQL ordered by Elapsed Time
SQL ordered by Executions - RAC
Reativo
*
Reativo - SQLT Diagnostic Tool
(Doc ID 215187.1)
• Prós: Suportada e atualizada pela Oracle
• Contras: Necessário instalação
Criada pelo Carlos Sierra
*
Oracle SQL Tuning
Reativo - SQLD360
Criada pelo Mauro Pagano
*
Reativo - SQLD360
Reativo - SQLD360
Explain Plan?
Explain Plan
Apenas tenta prever o plano que será executado!
Explain Plan
• Bind Variable Peeking
• Adaptive Features
• Etc
Now what?
• DBMS_XPLAN.DISPLAY_CURSOR
• V$SQL_PLAN%
DBMS_XPLAN.DISPLAY_CURSOR
• SQL_ID
• CURSOR_CHILD_NO (default 0)
• FORMAT
 TYPICAL = DEFAULT
 ALL = TYPICAL + QB + PROJECTION + ALIAS + REMOTE
 ADVANCED = ALL + OUTLINE + BINDS
 ALLSTATS = IOSTATS + MEMSTATS (all executions)
 ALLSTATS LAST (last execution)
 ADAPTIVE (12c)
DBMS_XPLAN
• DISPLAY (from PLAN_TABLE)
• DISPLAY_CURSOR
• DISPLAY_AWR
• DISPLAY_SQL_PLAN_BASELINE
• DISPLAY_SQL_SET
SELECT * FROM
TABLE(DBMS_XPLAN.DISPLAY_CURSOR('sql_id',child,'ADVANCED'));
By Carlos Sierra
Estimate vs Actual
https://blogs.oracle.com/optimizer/entry/how_do_i_know_if
/*+ gather_plan_statistics */
or
Alter session set statistics_level = ALL 
SQL MONITOR
• Real-time SQL monitoring foi introduzido no
Oracle Database 11g.
• Parallel queries, DML e DDL são
automaticamente monitorados.
• SQLs que consumem 5 segundos ou mais
segundos de CPU ou I/O em uma única
execução
• Hint /*+ MONITOR */
SQL MONITOR
• Oracle Enterprise Manager
• EM Database Express (12c)
• SQL Developer
• Linha de Comando
**Part of the Oracle Tuning Pack
SQL MONITOR
select dbms_sqltune.report_sql_monitor(
sql_id => 'gjabwvvr07w09',
report_level=>'ALL',
type => 'ACTIVE') from dual;
SQL MONITOR
SQL MONITOR
Evento 10053
Mais conhecido como ”Wolfganging”
” Wolfgang Breitling was the first guy to really
analyze the content of these 10053 trace files
and publish his findings.”
Wolfgang wrote a paper called “A Look
Under the Hood of CBO.”
Evento 10053
ALTER SESSION SET EVENTS '10053 trace name
context forever, level 1';
SELECT * FROM EMP WHERE ENAME = 'SCOTT';
ALTER SESSION SET EVENTS '10053 trace name
context off';
Evento 10053
Level 1 or Level 2?
•1. Parameters used by the optimizer (level 1 only)
•2. Index statistics (level 1 only)
•3. Column statistics
•4. Single Access Paths
•5. Join Costs
•6. Table Joins Considered
•7. Join Methods Considered (NL/MS/HA)
Evento 10053
For another session:
SYS.DBMS_SYSTEM.SET_EV (SID,SERIAL ,10053,1)
Disable:
SYS.DBMS_SYSTEM.SET_EV (SID,SERIAL ,10053,0)
Evento 10053
11G R1 – SQL Inside PL/SQL
ALTER SESSION SET EVENTS
'trace[rdbms.SQL_Optimizer.*][sql:my_sql_id]';
ALTER SESSION SET EVENTS
'trace[rdbms.SQL_Optimizer.*] off';
Evento 10053
11G R2
dbms_sqldiag.dump_trace(
p_sql_id=>’92c3fw9svc3rc’,
p_child_number=>0,
p_component=>'Compiler',
p_file_id=>’MY_Trace_File');
** Doesn’t require you to re-execute the statement.
Evento 10053
Evento 10053
ALTER SESSION SET EVENTS '10053 trace name
context forever, level 1';
SELECT * FROM tb_pai p
WHERE EXISTS (SELECT 1 FROM tb_filho f
WHERE f.id_pai=p.id);
ALTER SESSION SET EVENTS '10053 trace name
context off';
Evento 10053
Evento 10053
Evento 10053
QUERY BLOCK – 2 partes da query
Evento 10053
Paralelismo desabilitado
Evento 10053
Evento 10053
Evento 10053
System Statistics
Evento 10053
Sem Estatísticas
Evento 10053
Dynamic Sampling
Evento 10053
Table Scan – Sem Índices
Evento 10053
Best Join Order
Evento 10053
Evento 10053
Evento 10053
Exemplo 2
Evento 10053
Evento 10053
OR Expansion
Query Original:
SELECT * FROM emp
WHERE job = 'CLERK' OR deptno = 10;
Query Transformada:
SELECT * FROM emp
WHERE job = 'CLERK’
UNION ALL
SELECT * FROM emp
WHERE deptno = 10 AND job <> 'CLERK';
Subquery Unnesting
Query Original:
SELECT * FROM accounts
WHERE custno IN
(SELECT custno FROM customers);
Query Transformada:
SELECT accounts.*
FROM accounts, customers
WHERE accounts.custno = customers.custno;
View Merging
Query Original:
CREATE VIEW emp_10 AS
SELECT empno, ename, job, sal, comm, deptno
FROM emp
WHERE deptno = 10;
SELECT empno FROM emp_10
WHERE empno > 7800;
Query transformada:
SELECT empno
FROM emp
WHERE deptno = 10 AND empno > 7800;
Predicate Pushing
Query Original:
CREATE VIEW two_emp_tables AS
SELECT empno, ename, job, sal, comm, deptno
FROM emp1
UNION
SELECT empno, ename, job, sal, comm, deptno
FROM emp2;
SELECT ename FROM two_emp_tables
WHERE deptno = 20;
Predicate Pushing
Query Transformada:
SELECT ename
FROM ( SELECT empno, ename, job,sal, comm, deptno
FROM emp1 WHERE deptno = 20
UNION
SELECT empno, ename, job,sal, comm, deptno
FROM emp2 WHERE deptno = 20 );
Transitivity
Query Original:
SELECT *
FROM emp, dept
WHERE emp.deptno = 20
AND emp.deptno = dept.deptno;
Query Transformada:
SELECT *
FROM emp, dept
WHERE emp.deptno = 20
AND emp.deptno = dept.deptno
AND dept.deptno = 20;
Evento 10053
Full Table Scan
https://www.slideshare.net/MauroPagano3/
full-table-scan-friend-or-foe
*
Full Table Scan
https://www.slideshare.net/MauroPagano3/
full-table-scan-friend-or-foe
Full Table Scan
https://richardfoote.wordpress.com/2008/05/12/index-scan-
or-full-table-scan-the-magic-number-magic-dance/
*
Full Table Scan
• Clustering Factor --> How well ordered the rows in
the table are in relation to the index.
• Selectivity of the query
• Number of table blocks
• Effective multiblock read count
• Relative cost of single vs. multiblock I/Os
• Parallelism
• Etc
Full Table Scan
https://www.slideshare.net/MauroPagano3/
full-table-scan-friend-or-foe
Full Table Scan
Adaptive Features
Oracle Database 12.1
•OPTIMIZER_ADAPTIVE_FEATURES
Default TRUE
Adaptive Features
Oracle Database 12.2 introduces the new
split-up adaptive parameters:
•OPTIMIZER_ADAPTIVE_PLANS 
•OPTIMITER_ADAPTIVE_STATISTICS.
Adaptive Features
• On Oracle Database 12.1this can be
achieved by installing two patches.
Adaptive Features
The patch for bug# 22652097 introduces the two parameters 
OPTIMIZER_ADAPTIVE_PLANS and 
OPTIMIZER_ADAPTIVE_STATISTICS, and in addition removes
the parameter OPTIMIZER_ADAPTIVE_FEATURES.
The patch for bug# 21171382 disables the automatic creation
of extended statistics unless the optimizer preference 
AUTO_STATS_EXTENSIONS is set to ON.
Statistics
https://blogs.oracle.com/optimizer/entry/improvement_of_auto_sampling_statistics
_gathering_feature_in_oracle_database_11g
estimate_percent => dbms_stats.auto_sample_size
Hints
• Devo utilizar ?
• O desenvolvedores/dbas sabem mais que
o otimizador?
Hints
• Use para fornecer dados ao otimizador
que as estatísticas falharam em informar;
• Use com precaução;
• Use como último recurso.
SQL Tuning on EXADATA
• Tempo da query na M7: 180 minutos
• Tempo após clone - P8+Storage ?
• Tempo após ajuste da query: 29 horas
• Tempos após ajuste no M7: 17 minutos
SQL Tuning on EXADATA
Oracle SQL Tuning
Pending Statistics
Set table preferences:
begin
dbms_stats.set_table_prefs (
ownname => 'SCOTT',
tabname => 'EMP',
pname => 'PUBLISH',
pvalue => 'FALSE'
);
end;
Collect the statistics.
Pending Statistics
select num_rows,
to_char(last_analyzed,'dd/mm/rrrr hh24:mi:ss')
from all_tab_pending_stats
where table_name = 'EMP';
Pending Statistics
alter session set
optimizer_use_pending_statistics = true;
Test the queries.
Pending Statistics
If it’s ok:
dbms_stats.publish_pending_stats('SCOTT',
'EMP');
or:
dbms_stats.delete_pending_stats(’SCOTT',
’EMP');
Restore Statistics from History
Check the retention:
select
DBMS_STATS.GET_STATS_HISTORY_RETENTI
ON from dual;
Default is 31 days.
Restore Statistics from History
Statistics available for the table:
SELECT OWNER,
TABLE_NAME,
STATS_UPDATE_TIME
FROM dba_tab_stats_history
WHERE table_name='MY_TABLE';
Restore Statistics from History
Begin
dbms_stats.restore_table_stats(
'SCOTT',
'EMP',
‘08-NOV-16 11.38.05.015640 AM +08:00’);
End;
Export and Import schema
statistics
begin
dbms_stats.CREATE_STAT_TABLE( ownname=>user
, stattab=>'MY_STATS_TABLE'
);
end;
begin
dbms_stats.export_schema_stats( ownname=>user
, stattab=>'MY_STATS_TABLE'
, statid=>'CURRENT_STATS'
);
End;
Export and Import schema
statistics
EXPDP / IMPDP
begin
dbms_stats.import_schema_stats( ownname=>user
, stattab=>'MY_STATS_TABLE'
, statid=>'CURRENT_STATS'
);
End;
Incremental Statistics
Estatísticas incrementais para Tabelas
Particionadas:
dbms_stats.set_table_prefs(null,'SALES'
,'INCREMENTAL','TRUE')
11g**
Incremental Statistics
Invisible Indexes
• CREATE INDEX index_name ON
table_name(column_name) INVISIBLE;
• ALTER INDEX index_name INVISIBLE;
• ALTER INDEX index_name VISIBLE;
Invisible Indexes
ALTER SESSION SET
OPTIMIZER_USE_INVISIBLE_INDEXES=TRUE;
Row-by-Row Processing vs Bulk
Processing
Instead of fetching a single row at a time
it is possible to use the bulk features.
Row-by-Row Processing vs Bulk
Processing
Row-by-Row Processing vs Bulk
Processing
*
SQL trace, 10046, trcsess and
tkprof
ALTER SESSION SET sql_trace=TRUE;
ALTER SESSION SET sql_trace=FALSE;
EXEC DBMS_SESSION.set_sql_trace(sql_trace => TRUE);
EXEC DBMS_SESSION.set_sql_trace(sql_trace => FALSE);
ALTER SESSION SET EVENTS '10046 trace name context forever, level 12';
ALTER SESSION SET EVENTS '10046 trace name context off';
EXEC DBMS_SYSTEM.set_sql_trace_in_session(sid=>0000, serial#=>0000, sql_trace=>TRUE);
EXEC DBMS_SYSTEM.set_sql_trace_in_session(sid=>0000, serial#=>0000, sql_trace=>FALSE);
SQL trace, 10046, trcsess and
tkprof
CONN sys/password AS SYSDBA;
ORADEBUG SETMYPID;
ORADEBUG SETOSPID 0000;
ORADEBUG SETORAPID 000000;
ORADEBUG EVENT 10046 TRACE NAME CONTEXT FOREVER, LEVEL 12;
ORADEBUG EVENT 10046 TRACE NAME CONTEXT OFF;
SQL trace, 10046, trcsess and
tkprof
EXEC DBMS_SUPPORT.start_trace(waits=>TRUE, binds=>TRUE);
EXEC DBMS_SUPPORT.stop_trace;
EXEC DBMS_SUPPORT.start_trace_in_session(sid=>0000, serial=>000000,
waits=>TRUE, binds=>TRUE);
EXEC DBMS_SUPPORT.stop_trace_in_session(sid=>0000, serial=>000000);
SQL trace, 10046, trcsess and
tkprof
10g:
DBMS_MONITOR.session_trace_enable(waits=>TRUE, binds=>FALSE);
DBMS_MONITOR.session_trace_enable(session_id =>0000, serial_num=>000000,
waits=>TRUE, binds=>TRUE);
DBMS_MONITOR.client_id_trace_enable(client_id=>'my_client', waits=>TRUE,
binds=>TRUE);
DBMS_MONITOR.serv_mod_act_trace_enable(service_name=>'my_srv',
module_name=>'my_test', action_name=>'calculating', waits=>TRUE, binds=>TRUE);
SQL trace, 10046, trcsess and
tkprof
ALTER SESSION SET TRACEFILE_IDENTIFIER =
"MY_TRC_FILE";
SQL trace, 10046, trcsess and
tkprof
SELECT p.tracefile
FROM v$session s
JOIN v$process p
ON s.paddr = p.addr
WHERE s.sid = MY_SID;
SQL trace, 10046, trcsess and
tkprof
12.2
v$diag_trace_file
v$diag_trace_file_contents
Evento 10046
Evento 10046
ALTER SESSION SET EVENTS '10046 trace name
context forever, level 12';
SELECT * FROM tb_pai p
WHERE EXISTS (SELECT 1 FROM tb_filho f
WHERE f.id_pai=p.id);
ALTER SESSION SET EVENTS '10046 trace name
context off';
Evento 10046
Evento 10046
Evento 10046
Evento 10046
Evento 10046
Evento 10046
SQL trace, 10046, trcsess and
tkprof
• TKPROF
• TRCSESS
• Trace Analyzer TRCANLZR (TRCA)
• Method R Tools
SQL trace, 10046, trcsess and
tkprof
SQL trace, 10046, trcsess and
tkprof
http://www.oraclenerd.com/2011/02/sql-developer-mr-trace.html
Questions?
Thank You
Slides Available: http://www.slideshare.net/
Oracle SQL Tuning

More Related Content

PPTX
DBA Commands and Concepts That Every Developer Should Know
PPTX
Oracle Database 12c Release 2 - New Features On Oracle Database Exadata Expre...
PDF
Oracle SQL Tuning
PPTX
OTN TOUR 2016 - DBA Commands and Concepts That Every Developer Should Know
PPTX
DBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should Know
PPTX
OOW16 - Oracle Database 12c - The Best Oracle Database 12c New Features for D...
PPTX
Oracle Database 12.1.0.2 New Features
PPTX
DBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should Know
DBA Commands and Concepts That Every Developer Should Know
Oracle Database 12c Release 2 - New Features On Oracle Database Exadata Expre...
Oracle SQL Tuning
OTN TOUR 2016 - DBA Commands and Concepts That Every Developer Should Know
DBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should Know
OOW16 - Oracle Database 12c - The Best Oracle Database 12c New Features for D...
Oracle Database 12.1.0.2 New Features
DBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should Know

What's hot (17)

PPTX
Oracle Data Redaction - EOUC
PPTX
Flex Cluster e Flex ASM - GUOB Tech Day - OTN TOUR LA Brazil 2014
PDF
OTN TOUR 2016 - Oracle Database 12c - The Best Oracle Database 12c Tuning Fea...
PPTX
Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...
PPTX
Oracle Data Redaction
POTX
Oracle vs. SQL Server- War of the Indices
PPTX
Oracle Database 12c New Features for Developers and DBAs - OTN TOUR LA 2015
PPTX
Oracle Database 12c - New Features for Developers and DBAs
PPTX
Oracle Data redaction - GUOB - OTN TOUR LA - 2015
PPT
Top 10 Oracle SQL tuning tips
PPTX
DBA Commands and Concepts That Every Developer Should Know - Part 2
PDF
Oracle 12c New Features for Developers
PPTX
Oracle Database 12c - Data Redaction
PPT
Using AWR for SQL Analysis
PPTX
DBA Commands and Concepts That Every Developer Should Know
PDF
In Search of Plan Stability - Part 1
PDF
OTN TOUR 2016 - Oracle Database 12c - The Best Oracle Database 12c New Featur...
Oracle Data Redaction - EOUC
Flex Cluster e Flex ASM - GUOB Tech Day - OTN TOUR LA Brazil 2014
OTN TOUR 2016 - Oracle Database 12c - The Best Oracle Database 12c Tuning Fea...
Oracle Database 12c - The Best Oracle Database 12c Tuning Features for Develo...
Oracle Data Redaction
Oracle vs. SQL Server- War of the Indices
Oracle Database 12c New Features for Developers and DBAs - OTN TOUR LA 2015
Oracle Database 12c - New Features for Developers and DBAs
Oracle Data redaction - GUOB - OTN TOUR LA - 2015
Top 10 Oracle SQL tuning tips
DBA Commands and Concepts That Every Developer Should Know - Part 2
Oracle 12c New Features for Developers
Oracle Database 12c - Data Redaction
Using AWR for SQL Analysis
DBA Commands and Concepts That Every Developer Should Know
In Search of Plan Stability - Part 1
OTN TOUR 2016 - Oracle Database 12c - The Best Oracle Database 12c New Featur...
Ad

Similar to Oracle SQL Tuning (20)

PPTX
Oracle Database 12c - New Features for Developers and DBAs
PPTX
DBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should Know
PDF
An Approach to Sql tuning - Part 1
PPTX
Optimizing applications and database performance
PPTX
DBA Commands and Concepts That Every Developer Should Know - Part 2
PDF
Evolution of Performance Management: Oracle 12c adaptive optimizations - ukou...
PPTX
Sql and PL/SQL Best Practices I
PDF
11gR2 Upgrade.pdf
PDF
11gR2 Upgrade.pdf
PPTX
Enhancements that will make your sql database roar sp1 edition sql bits 2017
PPT
Tony Jambu (obscure) tools of the trade for tuning oracle sq ls
PDF
NOCOUG_201311_Fine_Tuning_Execution_Plans.pdf
PPTX
Presentación Oracle Database Migración consideraciones 10g/11g/12c
PPT
Tony jambu (obscure) tools of the trade for tuning oracle sq ls
PPTX
Useful PL/SQL Supplied Packages
PPTX
OOW16 - Oracle Database 12c - The Best Oracle Database 12c New Features for D...
PDF
2008 Collaborate IOUG Presentation
PDF
Advanced tips for making Oracle databases faster
PDF
Exploring plsql new features best practices september 2013
PPTX
TSQL in SQL Server 2012
Oracle Database 12c - New Features for Developers and DBAs
DBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should Know
An Approach to Sql tuning - Part 1
Optimizing applications and database performance
DBA Commands and Concepts That Every Developer Should Know - Part 2
Evolution of Performance Management: Oracle 12c adaptive optimizations - ukou...
Sql and PL/SQL Best Practices I
11gR2 Upgrade.pdf
11gR2 Upgrade.pdf
Enhancements that will make your sql database roar sp1 edition sql bits 2017
Tony Jambu (obscure) tools of the trade for tuning oracle sq ls
NOCOUG_201311_Fine_Tuning_Execution_Plans.pdf
Presentación Oracle Database Migración consideraciones 10g/11g/12c
Tony jambu (obscure) tools of the trade for tuning oracle sq ls
Useful PL/SQL Supplied Packages
OOW16 - Oracle Database 12c - The Best Oracle Database 12c New Features for D...
2008 Collaborate IOUG Presentation
Advanced tips for making Oracle databases faster
Exploring plsql new features best practices september 2013
TSQL in SQL Server 2012
Ad

More from Alex Zaballa (15)

PDF
Migrating Oracle Databases from AWS to OCI
PPTX
Exploring All options to move your Oracle Databases to the Oracle Cloud
PPTX
Moving Your Oracle Databases To The Oracle Cloud
PPTX
SQL TUNING 101
PPTX
SQL TUNING 101
PPTX
DBA Commands and Concepts That Every Developer Should Know
PPTX
LET’S GET STARTED WITH ORACLE DATABASE CLOUD
PPTX
Moving your Oracle Databases to the Oracle Cloud
PPTX
Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs...
PPTX
OTN TOUR 2016 - DBA Commands and Concepts That Every Developer Should Know
PDF
OTN TOUR 2016 - Oracle Database 12c - The Best Oracle Database 12c Tuning Fea...
PDF
OTN TOUR 2016 - Oracle Database 12c - The Best Oracle Database 12c New Featur...
PPTX
Oracle Database 12c - Novas Características para DBAs e Desenvolvedores
PPTX
Oracle Database 12c - Novas Características para DBAs e Desenvolvedores - GUO...
PPTX
Data Redaction - OTN TOUR LA 2015
Migrating Oracle Databases from AWS to OCI
Exploring All options to move your Oracle Databases to the Oracle Cloud
Moving Your Oracle Databases To The Oracle Cloud
SQL TUNING 101
SQL TUNING 101
DBA Commands and Concepts That Every Developer Should Know
LET’S GET STARTED WITH ORACLE DATABASE CLOUD
Moving your Oracle Databases to the Oracle Cloud
Os melhores recursos novos do Oracle Database 12c para desenvolvedores e DBAs...
OTN TOUR 2016 - DBA Commands and Concepts That Every Developer Should Know
OTN TOUR 2016 - Oracle Database 12c - The Best Oracle Database 12c Tuning Fea...
OTN TOUR 2016 - Oracle Database 12c - The Best Oracle Database 12c New Featur...
Oracle Database 12c - Novas Características para DBAs e Desenvolvedores
Oracle Database 12c - Novas Características para DBAs e Desenvolvedores - GUO...
Data Redaction - OTN TOUR LA 2015

Recently uploaded (20)

PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
1. Introduction to Computer Programming.pptx
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Empathic Computing: Creating Shared Understanding
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
Getting Started with Data Integration: FME Form 101
PDF
Approach and Philosophy of On baking technology
PPT
Teaching material agriculture food technology
PDF
Machine learning based COVID-19 study performance prediction
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Electronic commerce courselecture one. Pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
MIND Revenue Release Quarter 2 2025 Press Release
Advanced methodologies resolving dimensionality complications for autism neur...
Digital-Transformation-Roadmap-for-Companies.pptx
1. Introduction to Computer Programming.pptx
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Encapsulation_ Review paper, used for researhc scholars
Programs and apps: productivity, graphics, security and other tools
Empathic Computing: Creating Shared Understanding
SOPHOS-XG Firewall Administrator PPT.pptx
Getting Started with Data Integration: FME Form 101
Approach and Philosophy of On baking technology
Teaching material agriculture food technology
Machine learning based COVID-19 study performance prediction
Spectral efficient network and resource selection model in 5G networks
Electronic commerce courselecture one. Pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
MYSQL Presentation for SQL database connectivity
Assigned Numbers - 2025 - Bluetooth® Document
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf

Oracle SQL Tuning

Editor's Notes

  • #4: Java architect or DBA - 2004
  • #7: Carreira, clientes com banco standard + frustração + deixar de estudar
  • #8: SQL TUNING sempre mais efetivo**quando posso alterar aplicação (não proprietária)
  • #9: Desenvolvedores não querem aprender SQL, especialmente os mais novos.
  • #12: FKs - enq: TM – contention  entre a cruz e a espada - mas vale a pena a penalidade do insert vs slow do delete In-Memory – speed OLTP
  • #16: Game Changing
  • #19: Comum por causa do dia a dia Muito trabalho Casos dos dbas que querem se sentir valorizados Dba bom é aquele que não é lembrado
  • #21: Não é propagandaFerramentas FREE, disponíveis na WEBCs saiu
  • #22: AWR History SQLs pesados em 8 dias
  • #24: Período específico
  • #28: HEPrefiro final de semanaEquipe com bons salarios
  • #29: SQLHC depois SQLT
  • #31: Mauro ficou no lugar do Carlos no SQLT
  • #78: Muitos Dbas achan q tuning é remover FTS
  • #80: Mito %
  • #82: Muitos Dbas achan q tuning é remover FTS
  • #83: Muitos Dbas achan q tuning é remover FTS
  • #109: 100x mais rapidonao tem commit no loop