SlideShare a Scribd company logo
Free Oracle Performance Tools
Rogerio Bacchi Eguchi
Free oracle performance tools
Apresentação Pessoal
• Oracle DBA Sênior com extensa experiência em ambientes OLTP de missão crítica
e que empregam as tecnologias da Oracle Maximum Availability Architecture
• 4 anos como DBA no Oracle Advanced Customer Support Services (2002-2005)
• 10 anos como DBA no UOL/UOLDiveo/PagSeguro (2005-2015)
• 2 anos como DBA/DMA na TOTVS (2016 > ...)
• Oracle 8i-12c Certified Professional. Oracle Exadata Certified Expert.
• RedHat 5 Certified Engineer
• Artigos publicados no OTN Brasil: 9 artigos
• Blogger: http://reguchi.wordpress.com
• Twitter: reguchi_br
Agenda
1. Tuning – A history
2. Tuning – Objectives
3. Tuning – Pareto Principle
4. Real-time analysis
5. Historic Performance analysis
6. SQL tuning
7. SO tools
Tuning - History
Counters/Ratios
• Introduction of Wait Event instrumentation @Oracle 7
Time-Based tuning
• YAPP Method (Yet Another Performance Profiling Method)
• Method R
• DB Time Tuning
Tuning - History
*Diagnostic and Tuning Pack are database options available only on Oracle Enterprise Edition
** US$60K = 1 Oracle EE + 1 Diag+Tuning Pack License
Oracle Version Tool Cost
7 / 8 utlbstat/utlestat Free
8i (8.1.6+) / 9i Statspack Free
10g or > Statspack
Diagnostic / Tuning Pack*
Free
US$ 60K/license**
Tuning - Objectives
1. Define performance and performance problems
2. Check the performance of the Oracle DB
3. Check the overall performance of the server and storage
Tuning - Objectives
Why do I care about time ?
• Human time is critical to the enterprise
• Systems performance affects business goals
• “Time is money”
• Performance improvement means doing things faster
Performance is always and only about time
Tuning - Objectives
Response Time = Work done (service time) + Waiting for work (wait time)
Each server process is typically in one of three states:
• Idle: Waiting for something to do (sleeping)
• Running code: Using the CPU or in a run queue
• Waiting: blocked
• For some resource to become available
• For a requested activity to complete
If service time and/or wait time is high, it will directly impact the total
response time
Tuning - Objectives
1. Reactive tuning
• Firefighter
2. Proactive tuning
• Plan, Do, Check, Act
Pareto Principle (80/20 rule)
“The minority of causes, inputs, or efforts usually produces a majority
of the results”
Top Foreground Events by Total Wait Time
SQL ordered by CPU Time
SQL ordered by User I/O Wait
SQL ordered by buffer gets
SQL ordered by physical reads
SQL ordered by Executions
Real-time analysis – Snapper
Snapper – Tanel Poder
• Realtime session monitor
• No installation needed
• Snaps v$session etc, reports the difference
Arguments
1. Mode (ash, stat, custom)
2. Seconds to run
3. Number of runs
4. All or filter on v$session (ex: username = scott or sid=51)
Real-time analysis – Snapper
Real-time analysis – MOATS 2.0
https://github.com/dbsid/moats_rac
Real-time analysis – Web-ASH
http://datavirtualizer.com/web-ash-w-ash/
Real-time analysis – TFA(ORATOP)
Historic Performance
Statspack
• Shipped on 8i (8.1.6) and beyond
• diagnostic tool for instance-wide performance problems
• also supports application tuning activities by identifying high-load SQL statements
• https://oracle-base.com/articles/8i/statspack-8i
Historic Performance
TUNAS360
• (TUN)ing with (A)ctive (s)essions
• requires no installation and no parameter when executed
• it observes the workload for few minutes and then collects a set of reports on such
load
• Run @tunas360.sql
EDB360
• edb360 is a free to use tool to perform an initial assessment of an Oracle database
• pre-check: @sql/awr_ash_pre_check.sql
• Run: @edb360.sql N NULL
• Parameter 1: Oracle License Pack (required) - [ T | D | N ]
• Parameter 2: Custom edb360 configuration filename (optional) - 7a-7b
https://carlos-sierra.net/
SQL Tuning
SQLHC (Oracle)
Run: @sqlhc.sql N 0vy6pt4krb3gm
• Parameter 1: [ T | D | N ] – If tuning/diagnostic/none packages are licensed.
• Parameter 3: SQL_ID
SQLd360 (mauro-pagano.com)
• helps to diagnose SQL statements performing poorly
• input one SQL statement and output a set of diagnostics files
• Installs nothing
• Run: @sqld360.sql 0vy6pt4krb3gm N
• Parameter 1: SQL_ID
• Parameter 2: [ T | D | N ] – If tuning/diagnostic/none packages are licensed.
SQL Tuning
SQLT (Oracle)
• helps to diagnose SQL statements performing poorly
• input one SQL statement and output a set of diagnostics files
• Oracle Diagnostic and/or the Oracle Tuning Packs enhances functionality to the SQLT tool.
• Installation
• cd sqlt/install
• sqlplus / as sysdba @sqcreate
Main methods
• XTRACT - if you know the SQL_ID or the HASH_VALUE of the SQL to be analyzed
• XECUTE - provides more detail than XTRACT, it executes the SQL being analyzed, then it produces a set of diagnostics files
• XTRXEC - This method combines the features of XTRACT and XECUTE. Actually, XTRXEC executes both methods serially
• XTRSBY - Use this method if you need to analyze a SQL executed on a Data Guard or stand-by read-only database.
You need to know the SQL_ID or the HASH_VALUE of the SQL to be analyzed.
• XPLAIN - This method is based on the EXPLAIN PLAN FOR command use dbms_xplan.display_cursor instead !*
• XPREXT - Use this method if you have used XTRACT and you need a faster execution of SQLT while disabling some SQLT features.
Script sqlt/run/sqltcommon11.sql shows which features are disabled.
• XPREXC - Use this method if you have used XECUTE and you need a faster execution of SQLT while disabling some SQLT features.
Script sqlt/run/sqltcommon11.sql shows which features are disabled.
SQLT Main Report: Usage Suggestions (Doc ID 1922234.1)
*https://sqlmaria.com/2017/11/21/does-the-explain-plan-command-really-show-the-execution-plan-that-will-be-used/
SQL Tuning
Trace Events
10046 – extented trace
i. Level 0: no stats
ii. Level 1: enable standard SQL_TRACE
iii. Leve 4: Level 1 + bind variables
iv. Level 8: Level 1 + wait events
v. Level 12: Level 1 + bind + waits
ALTER SESSION SET sql_trace=TRUE;
ALTER SESSION SET EVENTS '10046 trace name context forever, level 8';
EXEC DBMS_SYSTEM.set_sql_trace_in_session(sid=>123, serial#=>1234, sql_trace=>TRUE);
ORADEBUG EVENT 10046 TRACE NAME CONTEXT FOREVER, LEVEL 12;
EXEC DBMS_SUPPORT.start_trace(waits=>TRUE, binds=>FALSE);
https://antognini.ch/category/apmtools/tvdxtat/
SQL Tuning
Trace Events
10053 - examine the internal decisions made by the Cost Based Optimizer
i. ALTER SESSION SET EVENTS '10053 trace name context forever, level 1';
ii. DBMS_SQLDIAG.DUMP_TRACE
iii. ALTER SESSION SET EVENTS 'trace[rdbms.SQL_Optimizer.*][sql:cjk13xfm8ybh7]';
http://www.oaktable.net/contribute/10053-viewer
OS Tools
1. SYSSTAT
1. KSAR
2. TFA
1. OSWATCHER
3. GRAFANA
4. CENTREON
5. ZABBIX
6. PROMETHEUS
Agradecimentos
1. Coordenação do DBA Brasil 3.0 pelo evento
2. Todos que escolheram prestigiar minha palestra
3. TOTVS
Free oracle performance tools

More Related Content

PPTX
oracheck utility
PPTX
Understanding SQL Trace, TKPROF and Execution Plan for beginners
PDF
How Many Ways Can I Manage Oracle GoldenGate?
PDF
Oracle Performance Tools of the Trade
PPTX
Oem12c patching -OOW13
PPTX
SQL Tuning 101
PDF
How to find what is making your Oracle database slow
PPTX
Oracle Data Redaction - EOUC
oracheck utility
Understanding SQL Trace, TKPROF and Execution Plan for beginners
How Many Ways Can I Manage Oracle GoldenGate?
Oracle Performance Tools of the Trade
Oem12c patching -OOW13
SQL Tuning 101
How to find what is making your Oracle database slow
Oracle Data Redaction - EOUC

What's hot (20)

PDF
Best practices for_large_oracle_apps_r12_implementations
PPT
Using AWR for SQL Analysis
PPT
OOUG - Oracle Performance Tuning with AAS
PPTX
Understanding my database through SQL*Plus using the free tool eDB360
PDF
Database and application performance vivek sharma
PDF
An introduction to_rac_system_test_planning_methods
PPTX
SQLT XPLORE: The SQLT XPLAIN hidden child
PPTX
Oracle real application clusters system tests with demo
PPTX
AWR and ASH Deep Dive
PDF
Exachk and oem12c
PDF
Sql tuning made easier with sqltxplain (sqlt)
PPSX
How a Developer can Troubleshoot a SQL performing poorly on a Production DB
PDF
Ash and awr performance data2
PDF
Best practices for large oracle apps r12 implementations apps14
PPTX
Adapting and adopting spm v04
PDF
How many ways to monitor oracle golden gate - OOW14
PDF
SQLT XPLORE - The SQLT XPLAIN Hidden Child
PPTX
Oracle Database 12c - New Features for Developers and DBAs
PPT
Empower my sql server administration with 5.7 instruments
PDF
Oracle Performance Tuning Fundamentals
Best practices for_large_oracle_apps_r12_implementations
Using AWR for SQL Analysis
OOUG - Oracle Performance Tuning with AAS
Understanding my database through SQL*Plus using the free tool eDB360
Database and application performance vivek sharma
An introduction to_rac_system_test_planning_methods
SQLT XPLORE: The SQLT XPLAIN hidden child
Oracle real application clusters system tests with demo
AWR and ASH Deep Dive
Exachk and oem12c
Sql tuning made easier with sqltxplain (sqlt)
How a Developer can Troubleshoot a SQL performing poorly on a Production DB
Ash and awr performance data2
Best practices for large oracle apps r12 implementations apps14
Adapting and adopting spm v04
How many ways to monitor oracle golden gate - OOW14
SQLT XPLORE - The SQLT XPLAIN Hidden Child
Oracle Database 12c - New Features for Developers and DBAs
Empower my sql server administration with 5.7 instruments
Oracle Performance Tuning Fundamentals
Ad

Similar to Free oracle performance tools (20)

PDF
Winning performance challenges in oracle standard editions
PDF
Winning performance challenges in oracle standard editions
PPT
Tony Jambu (obscure) tools of the trade for tuning oracle sq ls
PDF
sqltuning101-170419021007-2.pdf
PPT
Tony jambu (obscure) tools of the trade for tuning oracle sq ls
PPTX
Advanced Database Administration 10g
PDF
Oracle database performance are database users telling me the truth
PDF
553: Oracle Database Performance: Are Database Users Telling Me The Truth?
PDF
Advanced tips for making Oracle databases faster
PPTX
All of the Performance Tuning Features in Oracle SQL Developer
PDF
Beyond SQL Tuning: Insider's Guide to Maximizing SQL Performance
PPSX
Barun_Practical_and_Efficient_SQL_Performance_Tuning
PDF
Oracle R12 EBS Performance Tuning
PDF
31063115_1679409488310Developer_Tuning_Tips_-_UTOUG_Mar_2023.pdf
PPTX
2018 - GUOB Tech Day /Oracle Developer Community LAD Tour 2018 - Tuning DBA ...
PDF
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
PDF
Ebs performance tune2_con9030_pdf_9030_0002
PPT
Les 14 perf_db
PDF
MOUG17: DB Security; Secure your Data
PDF
MOUG17: SQLT Utility for Tuning - Practical Examples
Winning performance challenges in oracle standard editions
Winning performance challenges in oracle standard editions
Tony Jambu (obscure) tools of the trade for tuning oracle sq ls
sqltuning101-170419021007-2.pdf
Tony jambu (obscure) tools of the trade for tuning oracle sq ls
Advanced Database Administration 10g
Oracle database performance are database users telling me the truth
553: Oracle Database Performance: Are Database Users Telling Me The Truth?
Advanced tips for making Oracle databases faster
All of the Performance Tuning Features in Oracle SQL Developer
Beyond SQL Tuning: Insider's Guide to Maximizing SQL Performance
Barun_Practical_and_Efficient_SQL_Performance_Tuning
Oracle R12 EBS Performance Tuning
31063115_1679409488310Developer_Tuning_Tips_-_UTOUG_Mar_2023.pdf
2018 - GUOB Tech Day /Oracle Developer Community LAD Tour 2018 - Tuning DBA ...
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Ebs performance tune2_con9030_pdf_9030_0002
Les 14 perf_db
MOUG17: DB Security; Secure your Data
MOUG17: SQLT Utility for Tuning - Practical Examples
Ad

Recently uploaded (20)

PPTX
Cloud computing and distributed systems.
PPTX
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
[발표본] 너의 과제는 클라우드에 있어_KTDS_김동현_20250524.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
KodekX | Application Modernization Development
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Advanced Soft Computing BINUS July 2025.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Approach and Philosophy of On baking technology
PDF
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
Cloud computing and distributed systems.
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
Spectral efficient network and resource selection model in 5G networks
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
[발표본] 너의 과제는 클라우드에 있어_KTDS_김동현_20250524.pdf
Review of recent advances in non-invasive hemoglobin estimation
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
KodekX | Application Modernization Development
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Advanced Soft Computing BINUS July 2025.pdf
Network Security Unit 5.pdf for BCA BBA.
Chapter 3 Spatial Domain Image Processing.pdf
Approach and Philosophy of On baking technology
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
The AUB Centre for AI in Media Proposal.docx
Advanced methodologies resolving dimensionality complications for autism neur...

Free oracle performance tools

  • 1. Free Oracle Performance Tools Rogerio Bacchi Eguchi
  • 3. Apresentação Pessoal • Oracle DBA Sênior com extensa experiência em ambientes OLTP de missão crítica e que empregam as tecnologias da Oracle Maximum Availability Architecture • 4 anos como DBA no Oracle Advanced Customer Support Services (2002-2005) • 10 anos como DBA no UOL/UOLDiveo/PagSeguro (2005-2015) • 2 anos como DBA/DMA na TOTVS (2016 > ...) • Oracle 8i-12c Certified Professional. Oracle Exadata Certified Expert. • RedHat 5 Certified Engineer • Artigos publicados no OTN Brasil: 9 artigos • Blogger: http://reguchi.wordpress.com • Twitter: reguchi_br
  • 4. Agenda 1. Tuning – A history 2. Tuning – Objectives 3. Tuning – Pareto Principle 4. Real-time analysis 5. Historic Performance analysis 6. SQL tuning 7. SO tools
  • 5. Tuning - History Counters/Ratios • Introduction of Wait Event instrumentation @Oracle 7 Time-Based tuning • YAPP Method (Yet Another Performance Profiling Method) • Method R • DB Time Tuning
  • 6. Tuning - History *Diagnostic and Tuning Pack are database options available only on Oracle Enterprise Edition ** US$60K = 1 Oracle EE + 1 Diag+Tuning Pack License Oracle Version Tool Cost 7 / 8 utlbstat/utlestat Free 8i (8.1.6+) / 9i Statspack Free 10g or > Statspack Diagnostic / Tuning Pack* Free US$ 60K/license**
  • 7. Tuning - Objectives 1. Define performance and performance problems 2. Check the performance of the Oracle DB 3. Check the overall performance of the server and storage
  • 8. Tuning - Objectives Why do I care about time ? • Human time is critical to the enterprise • Systems performance affects business goals • “Time is money” • Performance improvement means doing things faster Performance is always and only about time
  • 9. Tuning - Objectives Response Time = Work done (service time) + Waiting for work (wait time) Each server process is typically in one of three states: • Idle: Waiting for something to do (sleeping) • Running code: Using the CPU or in a run queue • Waiting: blocked • For some resource to become available • For a requested activity to complete If service time and/or wait time is high, it will directly impact the total response time
  • 10. Tuning - Objectives 1. Reactive tuning • Firefighter 2. Proactive tuning • Plan, Do, Check, Act
  • 11. Pareto Principle (80/20 rule) “The minority of causes, inputs, or efforts usually produces a majority of the results” Top Foreground Events by Total Wait Time SQL ordered by CPU Time SQL ordered by User I/O Wait SQL ordered by buffer gets SQL ordered by physical reads SQL ordered by Executions
  • 12. Real-time analysis – Snapper Snapper – Tanel Poder • Realtime session monitor • No installation needed • Snaps v$session etc, reports the difference Arguments 1. Mode (ash, stat, custom) 2. Seconds to run 3. Number of runs 4. All or filter on v$session (ex: username = scott or sid=51)
  • 14. Real-time analysis – MOATS 2.0 https://github.com/dbsid/moats_rac
  • 15. Real-time analysis – Web-ASH http://datavirtualizer.com/web-ash-w-ash/
  • 16. Real-time analysis – TFA(ORATOP)
  • 17. Historic Performance Statspack • Shipped on 8i (8.1.6) and beyond • diagnostic tool for instance-wide performance problems • also supports application tuning activities by identifying high-load SQL statements • https://oracle-base.com/articles/8i/statspack-8i
  • 18. Historic Performance TUNAS360 • (TUN)ing with (A)ctive (s)essions • requires no installation and no parameter when executed • it observes the workload for few minutes and then collects a set of reports on such load • Run @tunas360.sql EDB360 • edb360 is a free to use tool to perform an initial assessment of an Oracle database • pre-check: @sql/awr_ash_pre_check.sql • Run: @edb360.sql N NULL • Parameter 1: Oracle License Pack (required) - [ T | D | N ] • Parameter 2: Custom edb360 configuration filename (optional) - 7a-7b https://carlos-sierra.net/
  • 19. SQL Tuning SQLHC (Oracle) Run: @sqlhc.sql N 0vy6pt4krb3gm • Parameter 1: [ T | D | N ] – If tuning/diagnostic/none packages are licensed. • Parameter 3: SQL_ID SQLd360 (mauro-pagano.com) • helps to diagnose SQL statements performing poorly • input one SQL statement and output a set of diagnostics files • Installs nothing • Run: @sqld360.sql 0vy6pt4krb3gm N • Parameter 1: SQL_ID • Parameter 2: [ T | D | N ] – If tuning/diagnostic/none packages are licensed.
  • 20. SQL Tuning SQLT (Oracle) • helps to diagnose SQL statements performing poorly • input one SQL statement and output a set of diagnostics files • Oracle Diagnostic and/or the Oracle Tuning Packs enhances functionality to the SQLT tool. • Installation • cd sqlt/install • sqlplus / as sysdba @sqcreate Main methods • XTRACT - if you know the SQL_ID or the HASH_VALUE of the SQL to be analyzed • XECUTE - provides more detail than XTRACT, it executes the SQL being analyzed, then it produces a set of diagnostics files • XTRXEC - This method combines the features of XTRACT and XECUTE. Actually, XTRXEC executes both methods serially • XTRSBY - Use this method if you need to analyze a SQL executed on a Data Guard or stand-by read-only database. You need to know the SQL_ID or the HASH_VALUE of the SQL to be analyzed. • XPLAIN - This method is based on the EXPLAIN PLAN FOR command use dbms_xplan.display_cursor instead !* • XPREXT - Use this method if you have used XTRACT and you need a faster execution of SQLT while disabling some SQLT features. Script sqlt/run/sqltcommon11.sql shows which features are disabled. • XPREXC - Use this method if you have used XECUTE and you need a faster execution of SQLT while disabling some SQLT features. Script sqlt/run/sqltcommon11.sql shows which features are disabled. SQLT Main Report: Usage Suggestions (Doc ID 1922234.1) *https://sqlmaria.com/2017/11/21/does-the-explain-plan-command-really-show-the-execution-plan-that-will-be-used/
  • 21. SQL Tuning Trace Events 10046 – extented trace i. Level 0: no stats ii. Level 1: enable standard SQL_TRACE iii. Leve 4: Level 1 + bind variables iv. Level 8: Level 1 + wait events v. Level 12: Level 1 + bind + waits ALTER SESSION SET sql_trace=TRUE; ALTER SESSION SET EVENTS '10046 trace name context forever, level 8'; EXEC DBMS_SYSTEM.set_sql_trace_in_session(sid=>123, serial#=>1234, sql_trace=>TRUE); ORADEBUG EVENT 10046 TRACE NAME CONTEXT FOREVER, LEVEL 12; EXEC DBMS_SUPPORT.start_trace(waits=>TRUE, binds=>FALSE); https://antognini.ch/category/apmtools/tvdxtat/
  • 22. SQL Tuning Trace Events 10053 - examine the internal decisions made by the Cost Based Optimizer i. ALTER SESSION SET EVENTS '10053 trace name context forever, level 1'; ii. DBMS_SQLDIAG.DUMP_TRACE iii. ALTER SESSION SET EVENTS 'trace[rdbms.SQL_Optimizer.*][sql:cjk13xfm8ybh7]'; http://www.oaktable.net/contribute/10053-viewer
  • 23. OS Tools 1. SYSSTAT 1. KSAR 2. TFA 1. OSWATCHER 3. GRAFANA 4. CENTREON 5. ZABBIX 6. PROMETHEUS
  • 24. Agradecimentos 1. Coordenação do DBA Brasil 3.0 pelo evento 2. Todos que escolheram prestigiar minha palestra 3. TOTVS