This document provides an overview of Oracle performance tuning. It discusses Oracle architecture including processes, wait events, dynamic views, and tools for performance analysis like Statspack, AWR, Enterprise Manager, SQL tracing and tuning. Key aspects of performance tuning covered include statistics, hints, query rewrite, indexing, and application-level tuning for OLTP workloads.
Any DBA from beginner to advanced level, who wants to fill in some gaps in his/her knowledge about Performance Tuning on an Oracle Database, will benefit from this workshop.
Any DBA from beginner to advanced level, who wants to fill in some gaps in his/her knowledge about Performance Tuning on an Oracle Database, will benefit from this workshop.
SQL Server Tuning to Improve Database PerformanceMark Ginnebaugh
SQL Server tuning is a process to eliminate performance bottlenecks and improve application service. This presentation from Confio Software discusses SQL diagramming, wait type data, column selectivity, and other solutions that will help make tuning projects a success, including:
•SQL Tuning Methodology
•Response Time Tuning Practices
•How to use SQL Diagramming techniques to tune SQL statements
•How to read executions plans
This is the presentation on ASH that I did with Graham Wood at RMOUG 2014 and that represents the final best effort to capture essential and advanced ASH content as started in a presentation Uri Shaft and I gave at a small conference in Denmark sometime in 2012 perhaps. The presentation is also available publicly through the RMOUG website, so I felt at liberty to post it myself here. If it disappears it would likely be because I have been asked to remove it by Oracle.
Oracle Performance Tuning Training | Oracle Performance TuningOracleTrainings
Email: inbox.oracletrainings@gmail.com
Contact: +91 8121 020 111
Oracle Performance Tuning Training helps to use Oracle Database performance tools in the command-line interface to optimize database performance and tune SQL statements.
Oracle Performance Tuning Training Course Content
Overview Of Performance Tuning
• Basic Concepts in Performance Tuning
• Getting Start with Performance Tuning Features & Tools
Designing & Developing for Performance
• Oracle_Methodology
• Understanding the Investment Options
• Understanding the Scalability
• System _Architecture
• The Application Design Principles
• Workload Testing, Modeling, & Implementation
• Deploying the New Applications
The Performance Improvement Methods
• Oracle Performance Improvement Method
• Emergency Performance_Methods
Configuring an Database for Performance
• Performance Considerations for the Initial Instance Configuration
• Creating & Maintaining Tables for Good Performance
• Performance Considerations for the Shared Servers
Automatic Performance Statistics
• Data Gathering
• Overview toAutomatic Workload Repository
The Automatic Performance Diagnostics
• Introduction to the Database Diagnostic Monitoring
• Automatic Database Diagnostic_ Monitor
Memory Configuration & Use
• Understanding the Memory Allocation Issues
• Configuring & Using the Buffer Cache
• Configuring & Using the Shared Pool and Large Pool
• Configuring & Using the Redo Log Buffer
• PGA Memory Management
I/O Configuration & Design
• Understanding the I/O
• The Basic I/O Configuration
Understanding The Operating System Resources
• Understanding The Operating System Performance Issues
• Solving the Operating System Problems
• Understanding Of CPU
DB Time, Average Active Sessions, and ASH Math - Oracle performance fundamentalsJohn Beresniewicz
RMOUG 2020 abstract:
This session will cover core concepts for Oracle performance analysis first introduced in Oracle 10g and forming the backbone of many features in the Diagnostic and Tuning packs. The presentation will cover the theoretical basis and meaning of these concepts, as well as illustrate how they are fundamental to many user-facing features in both the database itself and Enterprise Manager.
SQL Server Query Tuning Tips - Get it Right the First TimeDean Richards
Whether you are a developer or DBA, this presentation will outline a method for determining the best approach for tuning a query every time by utilizing response time analysis and SQL Diagramming techniques. Regardless of the complexity of the statement or database platform being utilized (this method works on all), this quick and systematic approach will lead you down the correct
tuning path with no guessing. If you are a beginner or expert, this approach will save you countless hours tuning a query.
Small updates for this version presented at OakTableWorld 2018
Discusses Oracle time-based performance instrumentation as presented in AWR reports and inconsistencies between instrumentation sources that can cause confusion as conflicting information is presented. The cognitive load of investigating and reasoning about such conundrums is very high, discouraging even senior performance experts. A program (AWR1page) is discussed that consumes an AWR report and produces a 1-page normalized time summary by instrumentation source, precisely designed for reasoning about instrumentation inconsistencies in AWR reports.
AWR DB performance Data Mining - Collaborate 2015Yury Velikanov
Oracle database AWR performance repository is a hidden treasure. There are a lot of very useful details about your systems behavior hidden in that repository. This presentation designed to give you all knowledge you need to start leveraging the data more than standard AWR based reports allows you. The author will walk you through several practical examples from his experience where AWR proven to be one of the best information sources. You will learn how to start accessing AWR tables and few areas you should be careful with. We will wrap up the presentation with more examples and Q&A section.
Objective 1: Give enough information to start mining AWR tables to extract performance data for troubleshooting different issues
Objective 2: Demonstrate practical examples on how AWR has been used to troubleshoot different performance problems
Objective 3: Let you consider AWR as a good additional source for performance issues troubleshooting
About the course:
This Oracle performance tuning online course is designed for the audience who want to learn basics and core concepts of Oracle PT. You will be learning about Introduction, basic tuning diagnostics, how to use automatic workload repository, defining of problems, how to create AWR baselines, monitoring of applications Etc. All Oracle performance tuning classes will be live and interactive.
Course Target:
Oracle performance tuning online training is designed to teach you fundamentals of PT.
Understand basic tuning diagnostics.
Learn how to use Automatic workload repository.
Obtain knowledge of using metrics and alerts.
Clear understanding of how to monitor applications.
Need to identify problem SQL statements
Learn how to influence the optimizer.
Understand SQL performance management.
Tuning the shared pool, I/0, Buffer cache, PGA and temporary space.
Course Targeted Audience:
Any candidate can join our Oracle performance tuning online course.
People who are from professional background can join.
Researches can also participate in this course.
Prerequisites:
Candidates with basic knowledge of computer.
Basics of database are recommended.
Training Format:
Kernel Training provides Oracle performance tuning online course led by real time expert.
Registered Candidates can interact with instructor in live interactive sessions.
Candidates will have life time access to learning material.
Companies Using Oracle PT:
Major international IT companies perform Oracle performance tuning for their operations.
Awr1page - Sanity checking time instrumentation in AWR reportsJohn Beresniewicz
Discusses Oracle time-based performance instrumentation as presented in AWR reports and inconsistencies between instrumentation sources that can cause confusion as conflicting information is presented. The cognitive load of investigating and reasoning about such conundrums is very high, discouraging even senior performance experts. A program (AWR1page) is discussed that consumes an AWR report and produces a 1-page normalized time summary by instrumentation source, precisely designed for reasoning about instrumentation inconsistencies in AWR reports.
SQL Server Tuning to Improve Database PerformanceMark Ginnebaugh
SQL Server tuning is a process to eliminate performance bottlenecks and improve application service. This presentation from Confio Software discusses SQL diagramming, wait type data, column selectivity, and other solutions that will help make tuning projects a success, including:
•SQL Tuning Methodology
•Response Time Tuning Practices
•How to use SQL Diagramming techniques to tune SQL statements
•How to read executions plans
This is the presentation on ASH that I did with Graham Wood at RMOUG 2014 and that represents the final best effort to capture essential and advanced ASH content as started in a presentation Uri Shaft and I gave at a small conference in Denmark sometime in 2012 perhaps. The presentation is also available publicly through the RMOUG website, so I felt at liberty to post it myself here. If it disappears it would likely be because I have been asked to remove it by Oracle.
Oracle Performance Tuning Training | Oracle Performance TuningOracleTrainings
Email: inbox.oracletrainings@gmail.com
Contact: +91 8121 020 111
Oracle Performance Tuning Training helps to use Oracle Database performance tools in the command-line interface to optimize database performance and tune SQL statements.
Oracle Performance Tuning Training Course Content
Overview Of Performance Tuning
• Basic Concepts in Performance Tuning
• Getting Start with Performance Tuning Features & Tools
Designing & Developing for Performance
• Oracle_Methodology
• Understanding the Investment Options
• Understanding the Scalability
• System _Architecture
• The Application Design Principles
• Workload Testing, Modeling, & Implementation
• Deploying the New Applications
The Performance Improvement Methods
• Oracle Performance Improvement Method
• Emergency Performance_Methods
Configuring an Database for Performance
• Performance Considerations for the Initial Instance Configuration
• Creating & Maintaining Tables for Good Performance
• Performance Considerations for the Shared Servers
Automatic Performance Statistics
• Data Gathering
• Overview toAutomatic Workload Repository
The Automatic Performance Diagnostics
• Introduction to the Database Diagnostic Monitoring
• Automatic Database Diagnostic_ Monitor
Memory Configuration & Use
• Understanding the Memory Allocation Issues
• Configuring & Using the Buffer Cache
• Configuring & Using the Shared Pool and Large Pool
• Configuring & Using the Redo Log Buffer
• PGA Memory Management
I/O Configuration & Design
• Understanding the I/O
• The Basic I/O Configuration
Understanding The Operating System Resources
• Understanding The Operating System Performance Issues
• Solving the Operating System Problems
• Understanding Of CPU
DB Time, Average Active Sessions, and ASH Math - Oracle performance fundamentalsJohn Beresniewicz
RMOUG 2020 abstract:
This session will cover core concepts for Oracle performance analysis first introduced in Oracle 10g and forming the backbone of many features in the Diagnostic and Tuning packs. The presentation will cover the theoretical basis and meaning of these concepts, as well as illustrate how they are fundamental to many user-facing features in both the database itself and Enterprise Manager.
SQL Server Query Tuning Tips - Get it Right the First TimeDean Richards
Whether you are a developer or DBA, this presentation will outline a method for determining the best approach for tuning a query every time by utilizing response time analysis and SQL Diagramming techniques. Regardless of the complexity of the statement or database platform being utilized (this method works on all), this quick and systematic approach will lead you down the correct
tuning path with no guessing. If you are a beginner or expert, this approach will save you countless hours tuning a query.
Small updates for this version presented at OakTableWorld 2018
Discusses Oracle time-based performance instrumentation as presented in AWR reports and inconsistencies between instrumentation sources that can cause confusion as conflicting information is presented. The cognitive load of investigating and reasoning about such conundrums is very high, discouraging even senior performance experts. A program (AWR1page) is discussed that consumes an AWR report and produces a 1-page normalized time summary by instrumentation source, precisely designed for reasoning about instrumentation inconsistencies in AWR reports.
AWR DB performance Data Mining - Collaborate 2015Yury Velikanov
Oracle database AWR performance repository is a hidden treasure. There are a lot of very useful details about your systems behavior hidden in that repository. This presentation designed to give you all knowledge you need to start leveraging the data more than standard AWR based reports allows you. The author will walk you through several practical examples from his experience where AWR proven to be one of the best information sources. You will learn how to start accessing AWR tables and few areas you should be careful with. We will wrap up the presentation with more examples and Q&A section.
Objective 1: Give enough information to start mining AWR tables to extract performance data for troubleshooting different issues
Objective 2: Demonstrate practical examples on how AWR has been used to troubleshoot different performance problems
Objective 3: Let you consider AWR as a good additional source for performance issues troubleshooting
About the course:
This Oracle performance tuning online course is designed for the audience who want to learn basics and core concepts of Oracle PT. You will be learning about Introduction, basic tuning diagnostics, how to use automatic workload repository, defining of problems, how to create AWR baselines, monitoring of applications Etc. All Oracle performance tuning classes will be live and interactive.
Course Target:
Oracle performance tuning online training is designed to teach you fundamentals of PT.
Understand basic tuning diagnostics.
Learn how to use Automatic workload repository.
Obtain knowledge of using metrics and alerts.
Clear understanding of how to monitor applications.
Need to identify problem SQL statements
Learn how to influence the optimizer.
Understand SQL performance management.
Tuning the shared pool, I/0, Buffer cache, PGA and temporary space.
Course Targeted Audience:
Any candidate can join our Oracle performance tuning online course.
People who are from professional background can join.
Researches can also participate in this course.
Prerequisites:
Candidates with basic knowledge of computer.
Basics of database are recommended.
Training Format:
Kernel Training provides Oracle performance tuning online course led by real time expert.
Registered Candidates can interact with instructor in live interactive sessions.
Candidates will have life time access to learning material.
Companies Using Oracle PT:
Major international IT companies perform Oracle performance tuning for their operations.
Awr1page - Sanity checking time instrumentation in AWR reportsJohn Beresniewicz
Discusses Oracle time-based performance instrumentation as presented in AWR reports and inconsistencies between instrumentation sources that can cause confusion as conflicting information is presented. The cognitive load of investigating and reasoning about such conundrums is very high, discouraging even senior performance experts. A program (AWR1page) is discussed that consumes an AWR report and produces a 1-page normalized time summary by instrumentation source, precisely designed for reasoning about instrumentation inconsistencies in AWR reports.
Using the Oracle Zero data loss recovery appliance in combination with Oracle Enterprise Manager and Exadata to standardize your database landscape and your backup & recovery implementation.
SQL Server 2022 Programmability & PerformanceGianluca Hotz
SQL Server 2022 has introduced many new features across all areas of the product. In this session, we will focus on the news regarding programmability and performance improvements.
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAsZohar Elkayam
Oracle Week 2017 slides.
Agenda:
Basics: How and What To Tune?
Using the Automatic Workload Repository (AWR)
Using AWR-Based Tools: ASH, ADDM
Real-Time Database Operation Monitoring (12c)
Identifying Problem SQL Statements
Using SQL Performance Analyzer
Tuning Memory (SGA and PGA)
Parallel Execution and Compression
Oracle Database 12c Performance New Features
Antes de migrar de 10g a 11g o 12c, tome en cuenta las siguientes consideraciones. No es tan sencillo como simplemente cambiar de motor de base de datos, se necesita hacer consideraciones a nivel del aplicativo.
Java Developers, make the database work for you (NLJUG JFall 2010)Lucas Jellema
The general consensus among Java developers has evolved from a dogmatic strive for database independence to a much more pragmatic wish to leverage the power of the database. This session demonstrates some of the (hidden) powers of the database and how these can be utilized from Java applications using either straight JDBC or working through JPA. The Oracle database is used as example: SQL for Aggregation and Analysis, Flashback Queries for historical comparison and trends, Virtual Private Database, complex validation, PL/SQL and collections for bulk data manipulation, view and instead-of triggers for data model morphing, server push of relevant data changes, edition based redefinition for release management.
- overview of role of database in JEE architecture (and a little history on how the database is perceived through the years)
- discussion on the development of database functionality
- demonstration of some powerful database features
- description of how we leveraged these features in our JSF (RichFaces)/JPA (Hibernate) application
- demo of web application based on these features
- discussion on how to approach the database
MySQL Performance Schema in Action: the Complete TutorialSveta Smirnova
Performance Schema is powerful diagnostic instrument for:
- Query performance
- Complicated locking issues
- Memory leaks
- Resource usage
- Problematic behavior, caused by inappropriate settings
- More
It comes with hundreds of options which allow precisely tune what to instrument. More than 100 consumers store collected data.
In this tutorial we will try all important instruments out. We will provide test environment and few typical problems which could be hardly solved without Performance Schema. You will not only learn how to collect and use this information, but have experience with it.
Made it on PerconaLive Frankfurt, 2018: https://www.percona.com/live/e18/sessions/mysql-performance-schema-in-action-the-complete-tutorial
EM12c: Capacity Planning with OEM MetricsMaaz Anjum
Some of my thoughts and adventures encapsulated in a presentation regarding Capacity Planning, Resource Utilization, and Enterprise Managers Collected Metrics.
Geek Sync I Need for Speed: In-Memory Databases in Oracle and SQL ServerIDERA Software
You can watch the replay for this Geek Sync webcast in the IDERA Resource Center: http://ow.ly/S6MG50A5ok5
Microsoft introduced IN-MEMORY OLTP, widely referred to as “Hekaton” in SQL Server 2014. Hekaton allows for the creation of fully transactionally consistent memory-resident tables designed for high concurrency and no blocking. With SQL 2016, many of the original restrictions and limitations of this feature have been reduced. IDERA’s Vicky Harp will give an overview of this feature, including how to compile T-SQL code into machine code for an even greater performance boost.
There’s also been a lot of buzz about Oracle 12c’s new IN-MEMORY COLUMN STORE. Oracle ACE Bert Scalzo will cover this new feature, how it works, it’s benefits, scripts to measure/monitor it and more. He will also touch on performance observations from benchmarking this new feature against more traditional SGA memory allocations plus Oracle 11g R2’s Database Smart Flash Cache. All findings, scripts and conclusions from this exercise will be shared. In addition, two very popular database benchmarking tools will be highlighted.
MemSQL 201: Advanced Tips and Tricks WebcastSingleStore
Topics discussed include differences between columnstore and rowstore engines, data ingestion, data sharding and query tuning, lastly memory and workload management.
Watch the replay at https://memsql.wistia.com/medias/4siccvlorm
Performance Schema is a powerful diagnostic instrument for:
- Query performance
- Complicated locking issues
- Memory leaks
- Resource usage
- Problematic behavior, caused by inappropriate settings
- More
It comes with hundreds of options which allow precisely tuning what to instrument. More than 100 consumers store collected data.
In this tutorial, we will try all the important instruments out. We will provide a test environment and a few typical problems which could be hardly solved without Performance Schema. You will not only learn how to collect and use this information but have experience with it.
Tutorial at Percona Live Austin 2019
9. Enterprise Manager
• ASH
• Sampling in seconds, support real-time Performance view in OEM
• Store in SGA, v$active_session_history
• Can also generate reports
• ADDM
• Automatic Database Diagnostic Monitor
• Identify issues and give recommendations from snapshots
• SQL Tuning Advisor
• Create sql profile for sql statement
• SQL Access Advisor
• Advice on index etc for sql statement
11. Top SQL
• Elapsed time
• Parse time
• Executions
• Buffer gets
• Physical reads
12. Basic terminology
• Anoptimizeris the part of the RDBMS responsible for
determining the most efficient way for a SQL
statement to access data
• An execution plan is the complete sequence of
operations required to resolve a SQL statement (the
combination of access paths and join methods). The
in-memory structure of a execution plan also can be
called a cursor.
• A join method determines how two tables will be
joined together (only two tables can be joined
together at a time)
13. Hard parse
• Syntax analysis
• Analyze "text" of SQL query
• Detect syntax errors
• Create internal query representation
• Semantic Checking
• Validate SQL statement
• View analysis
• Incorporate constraints, triggers, etc.
• Query Optimization
• Modify query to improve performance (Query Rewrite)
• Choose the most efficient "access plan" (Query Optimization)
• Plan Generation
14. Optimizer
• Optimizer mode
• RULE, CHOOSE, FIRST_ROWS, ALL_ROWS
• RULE is not supported
• Cost Based Optimizer
• Highly depends on statistics
• Init parameters can affect the CBO
• optimizer_mode
• optimizer_index_cost_adj
• optimizer_index_cache
• data_block_multiple_read_count
15. Execution Plan
• Explain plan for <query>
• Select * from table(dbms_xplan.display);
• dbms_xplan.display
• dbms_xplan.display_cursor
• dbms_xplan.display_awr
• Query with /*+ gather_plan_statistics */
• more details in v$sql_plan_statistics_all
• dbms_xplan.display_cursor(null, null, ‘ALLSTAT LAST’)
• useful to find out wrong estimation by optimizer
18. How to read an execution plan
• Order
• Inner -> outer
• At same level, up -> down. Some operations are iterative.
• Rows
• Estimated by optimizer. Often cause problem.
• Time
• Estimated by optimizer. Very inaccurate.
• A-Rows | A-Time
• Actual numbers. Collected by /*+ gather_plan_statistics */
19. Operations in execution plan
• TABLE ACCESS FULL
• INDEX RANGE SCAN / TABLE ACCESS BY INDEX ROWID
• NESTED LOOPS / HASH JOIN / MERGE JOIN
• MERGE JOIN CARTESIAN
• INLIST ITERATOR
• SORT
• AGGREGATE
• FILTER
20. SQL trace/tkprof
• Alter session set sql_trace = true (SQL*PLUS)
• Alter session set events '10046 trace name context
forever, level 12‘
• Level 1 equals sql_trace=true
• Level 4 includes bind values
• Level 8 includes wait time statistics
• Level 12 includes both bind values and wait time stats.
• dbms_monitor.session_trace_enable(sid, serial#,
waits, binds)
• Trace file is in USER_DUMP_DEST folder
• tkprof<trace_file><output_file>
24. 10053 trace (optimizer trace)
• Alter session set events ’10053 trace name context
forever, level 1‘
25. SQL Tuning
• Common rules
• Filter as early as possible and as much as possible
• Join order is more significant than join method
• Methods
• Statistics
• Hints (sql profile / outline)
• Rewrite
• Index
• Schema
27. Hint /*+ */
• Join order
• ORDERED, LEADING
• Join method
• USE_NL, USE_HASH, USE_MERGE, STAR
• Query transformation
• USE_CONCAT, NO_EXPAND, UNNEST, PUSH_SUBQ
• Index
• INDEX, INDEX_JOIN, INDEX_COMBINE
• Stats
• DYNAMIC_SAMPLING, CADINALITY, SELECTIVITY
• Sql Profile is a set of hints fundamentally
28. SQL rewrite
• In / exists
• Not in / not exists
• Correlated / non-correlated
• Join / SubQuery
29. Challenges for stable plan
• Volatile data
• Screw data / histograms / bind value peeking
• Data correlation
30. Application Tuning
• Avoid unnecessary query
• Check logics
• Cache
• Avoid to fetch too many rows
• Pagination
• Avoid complex query
• Material views
• Denormalize
• Optimize locking
• Optimize indexes
31. OLTP applications
• Use connection pool
• Use bind variables (CURSOR_SHARING=FORCE?)
• Prefer OPTIMIZER_MODE=FIRST_ROW
• Enforce pagination
• Caution with any query which join too many tables
• Caution with any Full Table Scan or Fast Full Index Scan
on large table
• Caution with any Sort, Aggregation, Hash Join, Merge
Join, especially Merge Join Cartesian on large sets