SlideShare a Scribd company logo
Free Oracle Performance Tools
Rogerio Bacchi Eguchi
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

What's hot

Best practices for_large_oracle_apps_r12_implementations
Best practices for_large_oracle_apps_r12_implementationsBest practices for_large_oracle_apps_r12_implementations
Best practices for_large_oracle_apps_r12_implementations
Ajith Narayanan
 
OOUG - Oracle Performance Tuning with AAS
OOUG - Oracle Performance Tuning with AASOOUG - Oracle Performance Tuning with AAS
OOUG - Oracle Performance Tuning with AASKyle Hailey
 
Understanding my database through SQL*Plus using the free tool eDB360
Understanding my database through SQL*Plus using the free tool eDB360Understanding my database through SQL*Plus using the free tool eDB360
Understanding my database through SQL*Plus using the free tool eDB360
Carlos Sierra
 
Database and application performance vivek sharma
Database and application performance vivek sharmaDatabase and application performance vivek sharma
Database and application performance vivek sharma
aioughydchapter
 
An introduction to_rac_system_test_planning_methods
An introduction to_rac_system_test_planning_methodsAn introduction to_rac_system_test_planning_methods
An introduction to_rac_system_test_planning_methods
Ajith Narayanan
 
SQLT XPLORE: The SQLT XPLAIN hidden child
SQLT XPLORE: The SQLT XPLAIN hidden childSQLT XPLORE: The SQLT XPLAIN hidden child
SQLT XPLORE: The SQLT XPLAIN hidden child
Carlos Sierra
 
Oracle real application clusters system tests with demo
Oracle real application clusters system tests with demoOracle real application clusters system tests with demo
Oracle real application clusters system tests with demo
Ajith Narayanan
 
AWR and ASH Deep Dive
AWR and ASH Deep DiveAWR and ASH Deep Dive
AWR and ASH Deep Dive
Kellyn Pot'Vin-Gorman
 
Exachk and oem12c
Exachk and oem12cExachk and oem12c
Exachk and oem12c
Bobby Curtis
 
Sql tuning made easier with sqltxplain (sqlt)
Sql tuning made easier with sqltxplain (sqlt)Sql tuning made easier with sqltxplain (sqlt)
Sql tuning made easier with sqltxplain (sqlt)Enkitec
 
How a Developer can Troubleshoot a SQL performing poorly on a Production DB
How a Developer can Troubleshoot a SQL performing poorly on a Production DBHow a Developer can Troubleshoot a SQL performing poorly on a Production DB
How a Developer can Troubleshoot a SQL performing poorly on a Production DB
Carlos Sierra
 
Ash and awr performance data2
Ash and awr performance data2Ash and awr performance data2
Ash and awr performance data2
Kellyn Pot'Vin-Gorman
 
Best practices for large oracle apps r12 implementations apps14
Best practices for large oracle apps r12 implementations apps14Best practices for large oracle apps r12 implementations apps14
Best practices for large oracle apps r12 implementations apps14
Ajith Narayanan
 
Adapting and adopting spm v04
Adapting and adopting spm v04Adapting and adopting spm v04
Adapting and adopting spm v04
Carlos Sierra
 
How many ways to monitor oracle golden gate - OOW14
How many ways to monitor oracle golden gate - OOW14How many ways to monitor oracle golden gate - OOW14
How many ways to monitor oracle golden gate - OOW14
Bobby Curtis
 
SQLT XPLORE - The SQLT XPLAIN Hidden Child
SQLT XPLORE -  The SQLT XPLAIN Hidden ChildSQLT XPLORE -  The SQLT XPLAIN Hidden Child
SQLT XPLORE - The SQLT XPLAIN Hidden ChildEnkitec
 
Oracle Database 12c - New Features for Developers and DBAs
Oracle Database 12c  - New Features for Developers and DBAsOracle Database 12c  - New Features for Developers and DBAs
Oracle Database 12c - New Features for Developers and DBAs
Alex Zaballa
 
Empower my sql server administration with 5.7 instruments
Empower my sql server administration with 5.7 instrumentsEmpower my sql server administration with 5.7 instruments
Empower my sql server administration with 5.7 instrumentsMarco Tusa
 
Oracle Performance Tuning Fundamentals
Oracle Performance Tuning FundamentalsOracle Performance Tuning Fundamentals
Oracle Performance Tuning Fundamentals
Enkitec
 

What's hot (20)

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

Similar to Free oracle performance tools

Getting optimal performance from oracle e business suite(aioug aug2015)
Getting optimal performance from oracle e business suite(aioug aug2015)Getting optimal performance from oracle e business suite(aioug aug2015)
Getting optimal performance from oracle e business suite(aioug aug2015)
pasalapudi123
 
Getting optimal performance from oracle e business suite
Getting optimal performance from oracle e business suiteGetting optimal performance from oracle e business suite
Getting optimal performance from oracle e business suite
aioughydchapter
 
Getting optimal performance from oracle e-business suite presentation
Getting optimal performance from oracle e-business suite presentationGetting optimal performance from oracle e-business suite presentation
Getting optimal performance from oracle e-business suite presentation
Berry Clemens
 
A data driven etl test framework sqlsat madison
A data driven etl test framework sqlsat madisonA data driven etl test framework sqlsat madison
A data driven etl test framework sqlsat madisonTerry Bunio
 
Oracle Database Performance Tuning Basics
Oracle Database Performance Tuning BasicsOracle Database Performance Tuning Basics
Oracle Database Performance Tuning Basics
nitin anjankar
 
DBA Commands and Concepts That Every Developer Should Know - Part 2
DBA Commands and Concepts That Every Developer Should Know - Part 2DBA Commands and Concepts That Every Developer Should Know - Part 2
DBA Commands and Concepts That Every Developer Should Know - Part 2
Alex Zaballa
 
DBA Commands and Concepts That Every Developer Should Know - Part 2
DBA Commands and Concepts That Every Developer Should Know - Part 2DBA Commands and Concepts That Every Developer Should Know - Part 2
DBA Commands and Concepts That Every Developer Should Know - Part 2
Alex Zaballa
 
Oracle EBS Production Support - Recommendations
Oracle EBS Production Support - RecommendationsOracle EBS Production Support - Recommendations
Oracle EBS Production Support - Recommendations
Vigilant Technologies
 
ebs-performance-tuning-part-1-470542.pdf
ebs-performance-tuning-part-1-470542.pdfebs-performance-tuning-part-1-470542.pdf
ebs-performance-tuning-part-1-470542.pdf
ElboulmaniMohamed
 
MOUG17: SQLT Utility for Tuning - Practical Examples
MOUG17: SQLT Utility for Tuning - Practical ExamplesMOUG17: SQLT Utility for Tuning - Practical Examples
MOUG17: SQLT Utility for Tuning - Practical Examples
Monica Li
 
MOUG17: DB Security; Secure your Data
MOUG17: DB Security; Secure your DataMOUG17: DB Security; Secure your Data
MOUG17: DB Security; Secure your Data
Monica Li
 
Tony Jambu (obscure) tools of the trade for tuning oracle sq ls
Tony Jambu   (obscure) tools of the trade for tuning oracle sq lsTony Jambu   (obscure) tools of the trade for tuning oracle sq ls
Tony Jambu (obscure) tools of the trade for tuning oracle sq lsInSync Conference
 
sqltuning101-170419021007-2.pdf
sqltuning101-170419021007-2.pdfsqltuning101-170419021007-2.pdf
sqltuning101-170419021007-2.pdf
TricantinoLopezPerez
 
MySQL-Performance Schema- What's new in MySQL-5.7 DMRs
MySQL-Performance Schema- What's new in MySQL-5.7 DMRsMySQL-Performance Schema- What's new in MySQL-5.7 DMRs
MySQL-Performance Schema- What's new in MySQL-5.7 DMRs
Mayank Prasad
 
Maximizing Oracle RAC Uptime
Maximizing Oracle RAC UptimeMaximizing Oracle RAC Uptime
Maximizing Oracle RAC Uptime
Markus Michalewicz
 
Breaking data
Breaking dataBreaking data
Breaking data
Terry Bunio
 
collab2011-tuning-ebusiness-421966.pdf
collab2011-tuning-ebusiness-421966.pdfcollab2011-tuning-ebusiness-421966.pdf
collab2011-tuning-ebusiness-421966.pdf
ElboulmaniMohamed
 
COUG_AAbate_Oracle_Database_12c_New_Features
COUG_AAbate_Oracle_Database_12c_New_FeaturesCOUG_AAbate_Oracle_Database_12c_New_Features
COUG_AAbate_Oracle_Database_12c_New_FeaturesAlfredo Abate
 
Collaborate 2011-tuning-ebusiness-416502
Collaborate 2011-tuning-ebusiness-416502Collaborate 2011-tuning-ebusiness-416502
Collaborate 2011-tuning-ebusiness-416502
kaziul Islam Bulbul
 
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAsOracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Zohar Elkayam
 

Similar to Free oracle performance tools (20)

Getting optimal performance from oracle e business suite(aioug aug2015)
Getting optimal performance from oracle e business suite(aioug aug2015)Getting optimal performance from oracle e business suite(aioug aug2015)
Getting optimal performance from oracle e business suite(aioug aug2015)
 
Getting optimal performance from oracle e business suite
Getting optimal performance from oracle e business suiteGetting optimal performance from oracle e business suite
Getting optimal performance from oracle e business suite
 
Getting optimal performance from oracle e-business suite presentation
Getting optimal performance from oracle e-business suite presentationGetting optimal performance from oracle e-business suite presentation
Getting optimal performance from oracle e-business suite presentation
 
A data driven etl test framework sqlsat madison
A data driven etl test framework sqlsat madisonA data driven etl test framework sqlsat madison
A data driven etl test framework sqlsat madison
 
Oracle Database Performance Tuning Basics
Oracle Database Performance Tuning BasicsOracle Database Performance Tuning Basics
Oracle Database Performance Tuning Basics
 
DBA Commands and Concepts That Every Developer Should Know - Part 2
DBA Commands and Concepts That Every Developer Should Know - Part 2DBA Commands and Concepts That Every Developer Should Know - Part 2
DBA Commands and Concepts That Every Developer Should Know - Part 2
 
DBA Commands and Concepts That Every Developer Should Know - Part 2
DBA Commands and Concepts That Every Developer Should Know - Part 2DBA Commands and Concepts That Every Developer Should Know - Part 2
DBA Commands and Concepts That Every Developer Should Know - Part 2
 
Oracle EBS Production Support - Recommendations
Oracle EBS Production Support - RecommendationsOracle EBS Production Support - Recommendations
Oracle EBS Production Support - Recommendations
 
ebs-performance-tuning-part-1-470542.pdf
ebs-performance-tuning-part-1-470542.pdfebs-performance-tuning-part-1-470542.pdf
ebs-performance-tuning-part-1-470542.pdf
 
MOUG17: SQLT Utility for Tuning - Practical Examples
MOUG17: SQLT Utility for Tuning - Practical ExamplesMOUG17: SQLT Utility for Tuning - Practical Examples
MOUG17: SQLT Utility for Tuning - Practical Examples
 
MOUG17: DB Security; Secure your Data
MOUG17: DB Security; Secure your DataMOUG17: DB Security; Secure your Data
MOUG17: DB Security; Secure your Data
 
Tony Jambu (obscure) tools of the trade for tuning oracle sq ls
Tony Jambu   (obscure) tools of the trade for tuning oracle sq lsTony Jambu   (obscure) tools of the trade for tuning oracle sq ls
Tony Jambu (obscure) tools of the trade for tuning oracle sq ls
 
sqltuning101-170419021007-2.pdf
sqltuning101-170419021007-2.pdfsqltuning101-170419021007-2.pdf
sqltuning101-170419021007-2.pdf
 
MySQL-Performance Schema- What's new in MySQL-5.7 DMRs
MySQL-Performance Schema- What's new in MySQL-5.7 DMRsMySQL-Performance Schema- What's new in MySQL-5.7 DMRs
MySQL-Performance Schema- What's new in MySQL-5.7 DMRs
 
Maximizing Oracle RAC Uptime
Maximizing Oracle RAC UptimeMaximizing Oracle RAC Uptime
Maximizing Oracle RAC Uptime
 
Breaking data
Breaking dataBreaking data
Breaking data
 
collab2011-tuning-ebusiness-421966.pdf
collab2011-tuning-ebusiness-421966.pdfcollab2011-tuning-ebusiness-421966.pdf
collab2011-tuning-ebusiness-421966.pdf
 
COUG_AAbate_Oracle_Database_12c_New_Features
COUG_AAbate_Oracle_Database_12c_New_FeaturesCOUG_AAbate_Oracle_Database_12c_New_Features
COUG_AAbate_Oracle_Database_12c_New_Features
 
Collaborate 2011-tuning-ebusiness-416502
Collaborate 2011-tuning-ebusiness-416502Collaborate 2011-tuning-ebusiness-416502
Collaborate 2011-tuning-ebusiness-416502
 
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAsOracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
 

Recently uploaded

A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 

Recently uploaded (20)

A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 

Free oracle performance tools

  • 1. Free Oracle Performance Tools Rogerio Bacchi Eguchi
  • 2.
  • 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