SlideShare uma empresa Scribd logo
1 de 38
Top 10 Tips for Oracle Database performance Guy Harrison Director,  Melbourne R&D  guy.harrison@quest.com www.guyharrison.net
Introductions Buy Guy’s Book Buy Quest Products
Digressions 1. Why “top 10”? 2. Why tune?  Year 2000 reason: to meet Business Service expectations  Year 2010 reason: As above AND to reduce operational expenditure (upgrades, electricity, etc)  A badly tuned database is like a poorly tuned car that backfires and belches smoke: It might get you from A to B, but it costs you more in gas and exacts a heavier toll on the environment.
Hint 1: Methodical and Empirical tuning Methodical: Have a plan  Focus on root causes, not symptoms Hypothesis and experiment, not trial and error Empirical Measure performance  Compare before and after What is your control group? Beware of “old DBA tales” and “silver bullets”
Tuning methodologies YAPP Yet Another Performance Profiling Methodology Focus on area of greatest time consumption  Use the Oracle Wait Interface  System-R Similar, but focus on business transaction context Use Oracle SQL trace  Tuning by layers As above, but prioritize higher layers of the stack (which have flow on effects into lower layers) Distinguish between symptoms and causes
 Tuning by layers Problems in one database layer can be caused or cured by configuration in the higher layer.   Therefore: Reduce application demand to its logical minimum by tuning SQL and PL/SQL, and optimizing physical design (partitioning, indexing, etc). Maximize concurrency by minimizing contention for locks, latches, buffers, etc.  Minimize amount of physical IO by optimizing Oracle memory. Reduce IO latency by providing adequate IO bandwidth and evenly distributing the resulting load.
Hint 2: Performance by Design
Poorly defined requirements lead to this:
Application Architecture and implementation
Optimizing network traffic PL/SQL routines most massively outperform other languages when network round trips are significant.
Hint 3 Index wisely Indexes exist primarily to improve performance Be-aware of index “cost” as well as benefit Creating appropriate concatenated indexes is the most important factor for most applications Consider non-standard indexing techniques and indexing alternatives: Bitmap indexes (but not for OLTP) Hash Cluster (for static tables) Functional indexes  Partition elimination
All Indexes are not created equal SELECT cust_id FROM sh.customers c WHERE cust_first_name = 'Connor' AND cust_last_name = 'Bishop' AND cust_year_of_birth = 1976;
Indexes are not “free”
Bitmaps and cardinality
Hint 4 Know your tools  Measurement requires tooling Key tools free with every version of Oracle: DBMS_XPLAN Cached SQL statistics  Wait interface and time model  SQL Trace and tkprof  Oracle Tuning and Diagnostic packs 3rd Party tools
DBMS_XPLAN  SQL> EXPLAIN PLAN FOR   2  SELECT   department_name, last_name, job_title   3      FROM hr.employees JOIN hr.departments USING (department_id)   4           JOIN hr.jobs USING (job_id)   5  ORDER BY department_name, job_title;   Explained.   SQL> SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY(null,null,'TYPICAL -BYTES'));   PLAN_TABLE_OUTPUT ------------------------------------------------------------------------------------- Plan hash value: 32252419251   -------------------------------------------------------------------------------------- | Id2  | Operation3                    | Name4        | Rows5 |Cost (%CPU)6| Time7    | -------------------------------------------------------------------------------------- |   0 | SELECT STATEMENT               |             |   106 |    26   (8)| 00:00:01 | |   1 |  SORT ORDER BY                 |             |   106 |    26   (8)| 00:00:01 | |   2 |   NESTED LOOPS                 |             |   106 |    25   (4)| 00:00:01 | |   3 |    MERGE JOIN                  |             |   107 |    24   (5)| 00:00:01 | |   4 |     TABLE ACCESS BY INDEX ROWID| EMPLOYEES   |   107 |    20   (0)| 00:00:01 | |   5 |      INDEX FULL SCAN           | EMP_JOB_IX  |   107 |    12   (0)| 00:00:01 | |*  6 |     SORT JOIN                  |             |    19 |     4  (25)| 00:00:01 | |   7 |      TABLE ACCESS FULL         | JOBS        |    19 |     3   (0)| 00:00:01 | |   8 |    TABLE ACCESS BY INDEX ROWID | DEPARTMENTS |     1 |     1   (0)| 00:00:01 | |*  9 |     INDEX UNIQUE SCAN          | DEPT_ID_PK  |     1 |     0   (0)| 00:00:01 | --------------------------------------------------------------------------------------   Predicate Information (identified by operation id)8: ---------------------------------------------------      6 - access("EMPLOYEES"."JOB_ID"="JOBS"."JOB_ID")        filter("EMPLOYEES"."JOB_ID"="JOBS"."JOB_ID")    9 - access("EMPLOYEES"."DEPARTMENT_ID"="DEPARTMENTS"."DEPARTMENT_ID")
SQL Trace Rules, OK?  Enable trace with: Alter Session DBMS_SESSION DBMS_MONITOR  LOGIN trigger Analyse with tkprof Advantages of tracing: Per step statistics  Complete session context  Bind variable insight (but not with tkprof)  17
Tkprof output  SELECT * FROM g_orders1   JOIN g_line_items USING (order_id)   JOIN g_customers USING (customer_id) WHERE g_line_items.book_id=:book_id   call     count2      cpu3   elapsed4      disk5      query6   current7        rows8 ------- ------  -------- ---------- ---------- ---------- ----------  ---------- Parsea       1d      0.00       0.00          0          0          0           0 Executeb     2e      0.00       0.00          0          0          0           0 Fetchc      18j      0.87      39.35      18093      18822          0         255i ------- ------  -------- ---------- ---------- ---------- ----------  ---------- total       21      0.87      39.35      18093k     18822f          0g        255h   Misses in library cache during parse: 1n Optimizer mode: ALL_ROWS Parsing user id: 88  (TRANSIM)   Rows     Row Source Operationo -------  ---------------------------------------------------     255  NESTED LOOPS  (cr=18822 pr=18093 pw=18093 time=39285904 us)     255   NESTED LOOPS  (cr=18567 pr=17892 pw=17892 time=35072868 us cost=5607 …)     255    NESTED LOOPS  (cr=18294 pr=17814 pw=17814 time=33429490 us cost=5351 …)     255     TABLE ACCESS FULL G_LINE_ITEMS (cr=17511 pr=17490 pw=17490 …)     255     TABLE ACCESS BY INDEX ROWID G_ORDERS (cr=783 pr=324 pw=324 time=0 …)     255      INDEX UNIQUE SCAN G_ORDERS_PK (cr=528 pr=83 pw=83 time=0 us …)     255    INDEX UNIQUE SCAN G_CUSTOMERS_PK (cr=273 pr=78 pw=78 time=0 us cost=0 …)     255   TABLE ACCESS BY INDEX ROWID G_CUSTOMERS (cr=255 pr=201 pw=201 time=0 us …)
Wait interface and the time model High end tuning tools offer big returns on investment, but basic Oracle instrumentation serves well for most stages. A lot of insight can be gained by looking at the time model combined with the wait interface
Hint 5: Optimizing the Optimizer  Database parameters: OPTIMIZER_MODE OPTIMIZER_INDEX_COST_ADJ OPTIMIZER_INDEX_CACHING OPTIMIZER_FEATURES_ENABLE System Statistics: DBMS_STATS.gather_system_stats ,[object Object]
Table/Column statistics
Histograms
Extended Statistics  ,[object Object]
Hint 6:  SQL and PLSQL Tuning Some SQLs get through the optimizer net, and always will Find the SQLs using the tools outlined in Hint 4 Tune by tweaking the optimizer, creating indexes, changing the plan  Things to tune: Table Access Joins and subqueries Sorts and aggregates PLSQL  Parallel SQL  DML
Example: Scan vs Index Optimize necessary scans Make the table smaller Re-build Split the table  Out of line LOBs Compression   Encourage caching  Parallel query  Fast full index scans Partitioning Avoid accidental table scans: Use functional indexes  Lookout for NULL values  Use selective concatenated indexes
Table scan vs. index lookup
Hint 7: Contention – the proverbial bottleneck  Apparent  demand at lower  Application  layers is reduced  Demand for DB  Contention for limited or  services serialized resources causes  waits and or queuing
Types of contention Locks Mostly application, but occasionally system (ST in legacy tablespaces) Latches/mutexes Often side effect of excessive application demand Lack of bind variables  But sometimes the final constraint on DB throughput Buffers Buffer cache, redo buffer, etc Hot blocks (buffer busy) Slow “lazy” writer processes (DBWR, LGWR, RVWR)
Hint 8: Optimize memory – reduce IO Memory is used to cache data and to perform sorting and hashing (ORDER/GROUP BY, joins). Oracle 10g can allocations within PGA/SGA well enough 11g can manage allocations between the two
What’s more important (PGA or SGA)? A FTS can only generate so much IO A disk sort can generate many times the IO		 IO from Full Table Scan  IO from Sorting
Don’t overly rely on Automatic Memory Default configuration can lead to thrashing  Starvation Set minimum values for all pools, or manually size
Hint 9: Tune IO last, but TUNEit Only when you’ve addressed workload, contention and memory does it make sense to optimize the IO system: Workload is the direct source of the IO demand Contention can mask true IO demand Effective memory configuration can reduce the proportion of workload demand that turns physical IO tuning is simultaneously the hardest and easiest part of Oracle tuning: Easy, because disk devices are predictable and optimization principles well known Hard, because you usually have to persuade someone to pay for IOPS rather than the cheaper GBs
Disk Drive latency  Most disk drives can return an IO in 5-10 ms Faster in an array with large caching Disk latency increases with: Throughput (sweet spot at 50-75% of maximum) Disk fill (sweet spot at 50% capacity) Unless disk response time is unimportant, then disks should be: Sparsely populated Under only moderate load Solid State Disk (SSD) may change the game  But in Flash based SSD write latency can be higher Orders of magnitude higher cost/GB
Latency vs Throughput
Striping  Throughput requirements are met by adding disks and striping data across the disks  Usually using a disk array Can be done with software (ASM) If all else fails, by alternating data files.  Not all Oracle IO is optimized by striping Depending on transaction pattern, redo and flashback IO might benefit more from dedicated devices If striped, these files like fine-grained striping  RAID 5 quadruples write overhead Evil even for read-only databases (because of disk sorting and hashing)  Don’t believe vendors who claim that the cache “eliminates” the overhead
Hint 10 Exploit and tune RAC RAC is central to Oracle’s strategic direction for scalability, fault tolerance and performance RAC Tuning is complex but: Ensure balance of workload across instances in the cluster Optimize and monitor private interconnect network Eliminate unnecessary global cache requests  Monitor and minimize cluster related waits
Spotlight on RAC

Mais conteúdo relacionado

Mais procurados

An Approach to Sql tuning - Part 1
An Approach to Sql tuning - Part 1An Approach to Sql tuning - Part 1
An Approach to Sql tuning - Part 1Navneet Upneja
 
Oracle Performance Tuning Fundamentals
Oracle Performance Tuning FundamentalsOracle Performance Tuning Fundamentals
Oracle Performance Tuning FundamentalsEnkitec
 
Oracle performance tuning_sfsf
Oracle performance tuning_sfsfOracle performance tuning_sfsf
Oracle performance tuning_sfsfMao Geng
 
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...Aaron Shilo
 
Oracle db performance tuning
Oracle db performance tuningOracle db performance tuning
Oracle db performance tuningSimon Huang
 
DB Time, Average Active Sessions, and ASH Math - Oracle performance fundamentals
DB Time, Average Active Sessions, and ASH Math - Oracle performance fundamentalsDB Time, Average Active Sessions, and ASH Math - Oracle performance fundamentals
DB Time, Average Active Sessions, and ASH Math - Oracle performance fundamentalsJohn Beresniewicz
 
Top 10 tips for Oracle performance (Updated April 2015)
Top 10 tips for Oracle performance (Updated April 2015)Top 10 tips for Oracle performance (Updated April 2015)
Top 10 tips for Oracle performance (Updated April 2015)Guy Harrison
 
Oracle Performance Tuning Training | Oracle Performance Tuning
Oracle Performance Tuning Training | Oracle Performance TuningOracle Performance Tuning Training | Oracle Performance Tuning
Oracle Performance Tuning Training | Oracle Performance TuningOracleTrainings
 
AWR DB performance Data Mining - Collaborate 2015
AWR DB performance Data Mining - Collaborate 2015AWR DB performance Data Mining - Collaborate 2015
AWR DB performance Data Mining - Collaborate 2015Yury Velikanov
 
Oracle Database Performance Tuning Concept
Oracle Database Performance Tuning ConceptOracle Database Performance Tuning Concept
Oracle Database Performance Tuning ConceptChien Chung Shen
 
Analyzing and Interpreting AWR
Analyzing and Interpreting AWRAnalyzing and Interpreting AWR
Analyzing and Interpreting AWRpasalapudi
 
Awr + 12c performance tuning
Awr + 12c performance tuningAwr + 12c performance tuning
Awr + 12c performance tuningAiougVizagChapter
 
How to find what is making your Oracle database slow
How to find what is making your Oracle database slowHow to find what is making your Oracle database slow
How to find what is making your Oracle database slowSolarWinds
 
Oracle AWR Data mining
Oracle AWR Data miningOracle AWR Data mining
Oracle AWR Data miningYury Velikanov
 
AWR Ambiguity: Performance reasoning when the numbers don't add up
AWR Ambiguity: Performance reasoning when the numbers don't add upAWR Ambiguity: Performance reasoning when the numbers don't add up
AWR Ambiguity: Performance reasoning when the numbers don't add upJohn Beresniewicz
 
Awr1page - Sanity checking time instrumentation in AWR reports
Awr1page - Sanity checking time instrumentation in AWR reportsAwr1page - Sanity checking time instrumentation in AWR reports
Awr1page - Sanity checking time instrumentation in AWR reportsJohn Beresniewicz
 
Awr1page - Sanity checking time instrumentation in AWR reports
Awr1page - Sanity checking time instrumentation in AWR reportsAwr1page - Sanity checking time instrumentation in AWR reports
Awr1page - Sanity checking time instrumentation in AWR reportsJohn Beresniewicz
 
GLOC 2014 NEOOUG - Oracle Database 12c New Features
GLOC 2014 NEOOUG - Oracle Database 12c New FeaturesGLOC 2014 NEOOUG - Oracle Database 12c New Features
GLOC 2014 NEOOUG - Oracle Database 12c New FeaturesBiju Thomas
 
Earl Shaffer Oracle Performance Tuning pre12c 11g AWR uses
Earl Shaffer Oracle Performance Tuning pre12c 11g AWR usesEarl Shaffer Oracle Performance Tuning pre12c 11g AWR uses
Earl Shaffer Oracle Performance Tuning pre12c 11g AWR usesoramanc
 

Mais procurados (20)

An Approach to Sql tuning - Part 1
An Approach to Sql tuning - Part 1An Approach to Sql tuning - Part 1
An Approach to Sql tuning - Part 1
 
Oracle Performance Tuning Fundamentals
Oracle Performance Tuning FundamentalsOracle Performance Tuning Fundamentals
Oracle Performance Tuning Fundamentals
 
Oracle performance tuning_sfsf
Oracle performance tuning_sfsfOracle performance tuning_sfsf
Oracle performance tuning_sfsf
 
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
 
Oracle db performance tuning
Oracle db performance tuningOracle db performance tuning
Oracle db performance tuning
 
DB Time, Average Active Sessions, and ASH Math - Oracle performance fundamentals
DB Time, Average Active Sessions, and ASH Math - Oracle performance fundamentalsDB Time, Average Active Sessions, and ASH Math - Oracle performance fundamentals
DB Time, Average Active Sessions, and ASH Math - Oracle performance fundamentals
 
Top 10 tips for Oracle performance (Updated April 2015)
Top 10 tips for Oracle performance (Updated April 2015)Top 10 tips for Oracle performance (Updated April 2015)
Top 10 tips for Oracle performance (Updated April 2015)
 
Oracle Performance Tuning Training | Oracle Performance Tuning
Oracle Performance Tuning Training | Oracle Performance TuningOracle Performance Tuning Training | Oracle Performance Tuning
Oracle Performance Tuning Training | Oracle Performance Tuning
 
AWR DB performance Data Mining - Collaborate 2015
AWR DB performance Data Mining - Collaborate 2015AWR DB performance Data Mining - Collaborate 2015
AWR DB performance Data Mining - Collaborate 2015
 
Oracle Database Performance Tuning Concept
Oracle Database Performance Tuning ConceptOracle Database Performance Tuning Concept
Oracle Database Performance Tuning Concept
 
Analyzing and Interpreting AWR
Analyzing and Interpreting AWRAnalyzing and Interpreting AWR
Analyzing and Interpreting AWR
 
Awr + 12c performance tuning
Awr + 12c performance tuningAwr + 12c performance tuning
Awr + 12c performance tuning
 
How to find what is making your Oracle database slow
How to find what is making your Oracle database slowHow to find what is making your Oracle database slow
How to find what is making your Oracle database slow
 
Oracle AWR Data mining
Oracle AWR Data miningOracle AWR Data mining
Oracle AWR Data mining
 
AWR Ambiguity: Performance reasoning when the numbers don't add up
AWR Ambiguity: Performance reasoning when the numbers don't add upAWR Ambiguity: Performance reasoning when the numbers don't add up
AWR Ambiguity: Performance reasoning when the numbers don't add up
 
Awr1page OTW2018
Awr1page OTW2018Awr1page OTW2018
Awr1page OTW2018
 
Awr1page - Sanity checking time instrumentation in AWR reports
Awr1page - Sanity checking time instrumentation in AWR reportsAwr1page - Sanity checking time instrumentation in AWR reports
Awr1page - Sanity checking time instrumentation in AWR reports
 
Awr1page - Sanity checking time instrumentation in AWR reports
Awr1page - Sanity checking time instrumentation in AWR reportsAwr1page - Sanity checking time instrumentation in AWR reports
Awr1page - Sanity checking time instrumentation in AWR reports
 
GLOC 2014 NEOOUG - Oracle Database 12c New Features
GLOC 2014 NEOOUG - Oracle Database 12c New FeaturesGLOC 2014 NEOOUG - Oracle Database 12c New Features
GLOC 2014 NEOOUG - Oracle Database 12c New Features
 
Earl Shaffer Oracle Performance Tuning pre12c 11g AWR uses
Earl Shaffer Oracle Performance Tuning pre12c 11g AWR usesEarl Shaffer Oracle Performance Tuning pre12c 11g AWR uses
Earl Shaffer Oracle Performance Tuning pre12c 11g AWR uses
 

Destaque

Making the most of ssd in oracle11g
Making the most of ssd in oracle11gMaking the most of ssd in oracle11g
Making the most of ssd in oracle11gGuy Harrison
 
Optimizing Oracle databases with SSD - April 2014
Optimizing Oracle databases with SSD - April 2014Optimizing Oracle databases with SSD - April 2014
Optimizing Oracle databases with SSD - April 2014Guy Harrison
 
Sinh vienit.net --sinhvienit.net-giao-trinh-oracle-sql-plsql-co-ban
Sinh vienit.net --sinhvienit.net-giao-trinh-oracle-sql-plsql-co-banSinh vienit.net --sinhvienit.net-giao-trinh-oracle-sql-plsql-co-ban
Sinh vienit.net --sinhvienit.net-giao-trinh-oracle-sql-plsql-co-banSon Nguyen Ba
 
New Oracle Infrastructure2
New Oracle Infrastructure2New Oracle Infrastructure2
New Oracle Infrastructure2markleeuw
 
Oracle’s network fabric customer presentation
Oracle’s network fabric customer presentationOracle’s network fabric customer presentation
Oracle’s network fabric customer presentationxKinAnx
 
Deep Dive: More Oracle Data Pump Performance Tips and Tricks
Deep Dive: More Oracle Data Pump Performance Tips and TricksDeep Dive: More Oracle Data Pump Performance Tips and Tricks
Deep Dive: More Oracle Data Pump Performance Tips and TricksGuatemala User Group
 
(Paper) A Method for Overlay Network Latency Estimation from Previous Observa...
(Paper) A Method for Overlay Network Latency Estimation from Previous Observa...(Paper) A Method for Overlay Network Latency Estimation from Previous Observa...
(Paper) A Method for Overlay Network Latency Estimation from Previous Observa...Naoki Shibata
 
Oracle VM 3.4.1 Installation
Oracle VM 3.4.1 InstallationOracle VM 3.4.1 Installation
Oracle VM 3.4.1 InstallationSimo Vilmunen
 
Active / Active configurations with Oracle Active Data Guard
Active / Active configurations with Oracle Active Data GuardActive / Active configurations with Oracle Active Data Guard
Active / Active configurations with Oracle Active Data GuardAris Prassinos
 
High Performance Communication for Oracle using InfiniBand
High Performance Communication for Oracle using InfiniBandHigh Performance Communication for Oracle using InfiniBand
High Performance Communication for Oracle using InfiniBandwebhostingguy
 
Network latency - measurement and improvement
Network latency - measurement and improvementNetwork latency - measurement and improvement
Network latency - measurement and improvementMatt Willsher
 
Oracle architecture with details-yogiji creations
Oracle architecture with details-yogiji creationsOracle architecture with details-yogiji creations
Oracle architecture with details-yogiji creationsYogiji Creations
 
Summit 16: Achieving Low Latency Network Function with Opnfv
Summit 16: Achieving Low Latency Network Function with OpnfvSummit 16: Achieving Low Latency Network Function with Opnfv
Summit 16: Achieving Low Latency Network Function with OpnfvOPNFV
 
Oracle DB Performance Tuning Tips
Oracle DB Performance Tuning TipsOracle DB Performance Tuning Tips
Oracle DB Performance Tuning TipsAsanka Dilruk
 
Database performance tuning for SSD based storage
Database  performance tuning for SSD based storageDatabase  performance tuning for SSD based storage
Database performance tuning for SSD based storageAngelo Rajadurai
 
A Paradigm Shift In How We Think About Education Facilities
A Paradigm Shift In How We Think About Education FacilitiesA Paradigm Shift In How We Think About Education Facilities
A Paradigm Shift In How We Think About Education FacilitiesOHM Advisors
 
WordPress Plugin Development- Rich Media Institute Workshop
WordPress Plugin Development- Rich Media Institute WorkshopWordPress Plugin Development- Rich Media Institute Workshop
WordPress Plugin Development- Rich Media Institute WorkshopBrendan Sera-Shriar
 
Anais
AnaisAnais
Anaisunama
 

Destaque (20)

Making the most of ssd in oracle11g
Making the most of ssd in oracle11gMaking the most of ssd in oracle11g
Making the most of ssd in oracle11g
 
Optimizing Oracle databases with SSD - April 2014
Optimizing Oracle databases with SSD - April 2014Optimizing Oracle databases with SSD - April 2014
Optimizing Oracle databases with SSD - April 2014
 
Sinh vienit.net --sinhvienit.net-giao-trinh-oracle-sql-plsql-co-ban
Sinh vienit.net --sinhvienit.net-giao-trinh-oracle-sql-plsql-co-banSinh vienit.net --sinhvienit.net-giao-trinh-oracle-sql-plsql-co-ban
Sinh vienit.net --sinhvienit.net-giao-trinh-oracle-sql-plsql-co-ban
 
New Oracle Infrastructure2
New Oracle Infrastructure2New Oracle Infrastructure2
New Oracle Infrastructure2
 
Oracle’s network fabric customer presentation
Oracle’s network fabric customer presentationOracle’s network fabric customer presentation
Oracle’s network fabric customer presentation
 
Deep Dive: More Oracle Data Pump Performance Tips and Tricks
Deep Dive: More Oracle Data Pump Performance Tips and TricksDeep Dive: More Oracle Data Pump Performance Tips and Tricks
Deep Dive: More Oracle Data Pump Performance Tips and Tricks
 
(Paper) A Method for Overlay Network Latency Estimation from Previous Observa...
(Paper) A Method for Overlay Network Latency Estimation from Previous Observa...(Paper) A Method for Overlay Network Latency Estimation from Previous Observa...
(Paper) A Method for Overlay Network Latency Estimation from Previous Observa...
 
Network Latency
Network LatencyNetwork Latency
Network Latency
 
Oracle VM 3.4.1 Installation
Oracle VM 3.4.1 InstallationOracle VM 3.4.1 Installation
Oracle VM 3.4.1 Installation
 
Active / Active configurations with Oracle Active Data Guard
Active / Active configurations with Oracle Active Data GuardActive / Active configurations with Oracle Active Data Guard
Active / Active configurations with Oracle Active Data Guard
 
High Performance Communication for Oracle using InfiniBand
High Performance Communication for Oracle using InfiniBandHigh Performance Communication for Oracle using InfiniBand
High Performance Communication for Oracle using InfiniBand
 
Network latency - measurement and improvement
Network latency - measurement and improvementNetwork latency - measurement and improvement
Network latency - measurement and improvement
 
Oracle architecture with details-yogiji creations
Oracle architecture with details-yogiji creationsOracle architecture with details-yogiji creations
Oracle architecture with details-yogiji creations
 
Summit 16: Achieving Low Latency Network Function with Opnfv
Summit 16: Achieving Low Latency Network Function with OpnfvSummit 16: Achieving Low Latency Network Function with Opnfv
Summit 16: Achieving Low Latency Network Function with Opnfv
 
Oracle VM - the Heart of Oracle Cloud
Oracle VM - the Heart of Oracle CloudOracle VM - the Heart of Oracle Cloud
Oracle VM - the Heart of Oracle Cloud
 
Oracle DB Performance Tuning Tips
Oracle DB Performance Tuning TipsOracle DB Performance Tuning Tips
Oracle DB Performance Tuning Tips
 
Database performance tuning for SSD based storage
Database  performance tuning for SSD based storageDatabase  performance tuning for SSD based storage
Database performance tuning for SSD based storage
 
A Paradigm Shift In How We Think About Education Facilities
A Paradigm Shift In How We Think About Education FacilitiesA Paradigm Shift In How We Think About Education Facilities
A Paradigm Shift In How We Think About Education Facilities
 
WordPress Plugin Development- Rich Media Institute Workshop
WordPress Plugin Development- Rich Media Institute WorkshopWordPress Plugin Development- Rich Media Institute Workshop
WordPress Plugin Development- Rich Media Institute Workshop
 
Anais
AnaisAnais
Anais
 

Semelhante a Top 10 tips for Oracle performance

Sql and PL/SQL Best Practices I
Sql and PL/SQL Best Practices ISql and PL/SQL Best Practices I
Sql and PL/SQL Best Practices ICarlos Oliveira
 
Oracle Database In-Memory Option in Action
Oracle Database In-Memory Option in ActionOracle Database In-Memory Option in Action
Oracle Database In-Memory Option in ActionTanel Poder
 
In Memory Database In Action by Tanel Poder and Kerry Osborne
In Memory Database In Action by Tanel Poder and Kerry OsborneIn Memory Database In Action by Tanel Poder and Kerry Osborne
In Memory Database In Action by Tanel Poder and Kerry OsborneEnkitec
 
Oracle Query Optimizer - An Introduction
Oracle Query Optimizer - An IntroductionOracle Query Optimizer - An Introduction
Oracle Query Optimizer - An Introductionadryanbub
 
Writing efficient sql
Writing efficient sqlWriting efficient sql
Writing efficient sqlj9soto
 
Presentación Oracle Database Migración consideraciones 10g/11g/12c
Presentación Oracle Database Migración consideraciones 10g/11g/12cPresentación Oracle Database Migración consideraciones 10g/11g/12c
Presentación Oracle Database Migración consideraciones 10g/11g/12cRonald Francisco Vargas Quesada
 
My SYSAUX tablespace is full - please help
My SYSAUX tablespace is full - please helpMy SYSAUX tablespace is full - please help
My SYSAUX tablespace is full - please helpMarkus Flechtner
 
Oracle Query Tuning Tips - Get it Right the First Time
Oracle Query Tuning Tips - Get it Right the First TimeOracle Query Tuning Tips - Get it Right the First Time
Oracle Query Tuning Tips - Get it Right the First TimeDean Richards
 
Understanding Query Optimization with ‘regular’ and ‘Exadata’ Oracle
Understanding Query Optimization with ‘regular’ and ‘Exadata’ OracleUnderstanding Query Optimization with ‘regular’ and ‘Exadata’ Oracle
Understanding Query Optimization with ‘regular’ and ‘Exadata’ OracleGuatemala User Group
 
Oracle Basics and Architecture
Oracle Basics and ArchitectureOracle Basics and Architecture
Oracle Basics and ArchitectureSidney Chen
 
NOCOUG_201311_Fine_Tuning_Execution_Plans.pdf
NOCOUG_201311_Fine_Tuning_Execution_Plans.pdfNOCOUG_201311_Fine_Tuning_Execution_Plans.pdf
NOCOUG_201311_Fine_Tuning_Execution_Plans.pdfcookie1969
 
Query Optimization with MySQL 5.6: Old and New Tricks
Query Optimization with MySQL 5.6: Old and New TricksQuery Optimization with MySQL 5.6: Old and New Tricks
Query Optimization with MySQL 5.6: Old and New TricksMYXPLAIN
 
Developers' mDay 2017. - Bogdan Kecman Oracle
Developers' mDay 2017. - Bogdan Kecman OracleDevelopers' mDay 2017. - Bogdan Kecman Oracle
Developers' mDay 2017. - Bogdan Kecman OraclemCloud
 
Developers’ mDay u Banjoj Luci - Bogdan Kecman, Oracle – MySQL Server 8.0
Developers’ mDay u Banjoj Luci - Bogdan Kecman, Oracle – MySQL Server 8.0Developers’ mDay u Banjoj Luci - Bogdan Kecman, Oracle – MySQL Server 8.0
Developers’ mDay u Banjoj Luci - Bogdan Kecman, Oracle – MySQL Server 8.0mCloud
 
Hailey_Database_Performance_Made_Easy_through_Graphics.pdf
Hailey_Database_Performance_Made_Easy_through_Graphics.pdfHailey_Database_Performance_Made_Easy_through_Graphics.pdf
Hailey_Database_Performance_Made_Easy_through_Graphics.pdfcookie1969
 
How should I monitor my idaa
How should I monitor my idaaHow should I monitor my idaa
How should I monitor my idaaCuneyt Goksu
 
MySQL 8 -- A new beginning : Sunshine PHP/PHP UK (updated)
MySQL 8 -- A new beginning : Sunshine PHP/PHP UK (updated)MySQL 8 -- A new beginning : Sunshine PHP/PHP UK (updated)
MySQL 8 -- A new beginning : Sunshine PHP/PHP UK (updated)Dave Stokes
 

Semelhante a Top 10 tips for Oracle performance (20)

Sql and PL/SQL Best Practices I
Sql and PL/SQL Best Practices ISql and PL/SQL Best Practices I
Sql and PL/SQL Best Practices I
 
Oracle Database In-Memory Option in Action
Oracle Database In-Memory Option in ActionOracle Database In-Memory Option in Action
Oracle Database In-Memory Option in Action
 
In Memory Database In Action by Tanel Poder and Kerry Osborne
In Memory Database In Action by Tanel Poder and Kerry OsborneIn Memory Database In Action by Tanel Poder and Kerry Osborne
In Memory Database In Action by Tanel Poder and Kerry Osborne
 
Oracle Query Optimizer - An Introduction
Oracle Query Optimizer - An IntroductionOracle Query Optimizer - An Introduction
Oracle Query Optimizer - An Introduction
 
Oracle 12c SPM
Oracle 12c SPMOracle 12c SPM
Oracle 12c SPM
 
Writing efficient sql
Writing efficient sqlWriting efficient sql
Writing efficient sql
 
Presentación Oracle Database Migración consideraciones 10g/11g/12c
Presentación Oracle Database Migración consideraciones 10g/11g/12cPresentación Oracle Database Migración consideraciones 10g/11g/12c
Presentación Oracle Database Migración consideraciones 10g/11g/12c
 
Do You Know The 11g Plan?
Do You Know The 11g Plan?Do You Know The 11g Plan?
Do You Know The 11g Plan?
 
My SYSAUX tablespace is full - please help
My SYSAUX tablespace is full - please helpMy SYSAUX tablespace is full - please help
My SYSAUX tablespace is full - please help
 
Oracle Query Tuning Tips - Get it Right the First Time
Oracle Query Tuning Tips - Get it Right the First TimeOracle Query Tuning Tips - Get it Right the First Time
Oracle Query Tuning Tips - Get it Right the First Time
 
Understanding Query Optimization with ‘regular’ and ‘Exadata’ Oracle
Understanding Query Optimization with ‘regular’ and ‘Exadata’ OracleUnderstanding Query Optimization with ‘regular’ and ‘Exadata’ Oracle
Understanding Query Optimization with ‘regular’ and ‘Exadata’ Oracle
 
PoC Oracle Exadata - Retour d'expérience
PoC Oracle Exadata - Retour d'expériencePoC Oracle Exadata - Retour d'expérience
PoC Oracle Exadata - Retour d'expérience
 
Oracle Basics and Architecture
Oracle Basics and ArchitectureOracle Basics and Architecture
Oracle Basics and Architecture
 
NOCOUG_201311_Fine_Tuning_Execution_Plans.pdf
NOCOUG_201311_Fine_Tuning_Execution_Plans.pdfNOCOUG_201311_Fine_Tuning_Execution_Plans.pdf
NOCOUG_201311_Fine_Tuning_Execution_Plans.pdf
 
Query Optimization with MySQL 5.6: Old and New Tricks
Query Optimization with MySQL 5.6: Old and New TricksQuery Optimization with MySQL 5.6: Old and New Tricks
Query Optimization with MySQL 5.6: Old and New Tricks
 
Developers' mDay 2017. - Bogdan Kecman Oracle
Developers' mDay 2017. - Bogdan Kecman OracleDevelopers' mDay 2017. - Bogdan Kecman Oracle
Developers' mDay 2017. - Bogdan Kecman Oracle
 
Developers’ mDay u Banjoj Luci - Bogdan Kecman, Oracle – MySQL Server 8.0
Developers’ mDay u Banjoj Luci - Bogdan Kecman, Oracle – MySQL Server 8.0Developers’ mDay u Banjoj Luci - Bogdan Kecman, Oracle – MySQL Server 8.0
Developers’ mDay u Banjoj Luci - Bogdan Kecman, Oracle – MySQL Server 8.0
 
Hailey_Database_Performance_Made_Easy_through_Graphics.pdf
Hailey_Database_Performance_Made_Easy_through_Graphics.pdfHailey_Database_Performance_Made_Easy_through_Graphics.pdf
Hailey_Database_Performance_Made_Easy_through_Graphics.pdf
 
How should I monitor my idaa
How should I monitor my idaaHow should I monitor my idaa
How should I monitor my idaa
 
MySQL 8 -- A new beginning : Sunshine PHP/PHP UK (updated)
MySQL 8 -- A new beginning : Sunshine PHP/PHP UK (updated)MySQL 8 -- A new beginning : Sunshine PHP/PHP UK (updated)
MySQL 8 -- A new beginning : Sunshine PHP/PHP UK (updated)
 

Mais de Guy Harrison

Five database trends - updated April 2015
Five database trends - updated April 2015Five database trends - updated April 2015
Five database trends - updated April 2015Guy Harrison
 
From oracle to hadoop with Sqoop and other tools
From oracle to hadoop with Sqoop and other toolsFrom oracle to hadoop with Sqoop and other tools
From oracle to hadoop with Sqoop and other toolsGuy Harrison
 
Thriving and surviving the Big Data revolution
Thriving and surviving the Big Data revolutionThriving and surviving the Big Data revolution
Thriving and surviving the Big Data revolutionGuy Harrison
 
Mega trends in information management
Mega trends in information managementMega trends in information management
Mega trends in information managementGuy Harrison
 
Big datacamp2013 share
Big datacamp2013 shareBig datacamp2013 share
Big datacamp2013 shareGuy Harrison
 
Hadoop, Oracle and the big data revolution collaborate 2013
Hadoop, Oracle and the big data revolution collaborate 2013Hadoop, Oracle and the big data revolution collaborate 2013
Hadoop, Oracle and the big data revolution collaborate 2013Guy Harrison
 
Hadoop, oracle and the industrial revolution of data
Hadoop, oracle and the industrial revolution of data Hadoop, oracle and the industrial revolution of data
Hadoop, oracle and the industrial revolution of data Guy Harrison
 
Hadoop and rdbms with sqoop
Hadoop and rdbms with sqoop Hadoop and rdbms with sqoop
Hadoop and rdbms with sqoop Guy Harrison
 
Next generation databases july2010
Next generation databases july2010Next generation databases july2010
Next generation databases july2010Guy Harrison
 
Optimize oracle on VMware (April 2011)
Optimize oracle on VMware (April 2011)Optimize oracle on VMware (April 2011)
Optimize oracle on VMware (April 2011)Guy Harrison
 
Understanding Solid State Disk and the Oracle Database Flash Cache (older ver...
Understanding Solid State Disk and the Oracle Database Flash Cache (older ver...Understanding Solid State Disk and the Oracle Database Flash Cache (older ver...
Understanding Solid State Disk and the Oracle Database Flash Cache (older ver...Guy Harrison
 
High Performance Plsql
High Performance PlsqlHigh Performance Plsql
High Performance PlsqlGuy Harrison
 
Performance By Design
Performance By DesignPerformance By Design
Performance By DesignGuy Harrison
 
Optimize Oracle On VMware (Sep 2011)
Optimize Oracle On VMware (Sep 2011)Optimize Oracle On VMware (Sep 2011)
Optimize Oracle On VMware (Sep 2011)Guy Harrison
 
Thanks for the Memory
Thanks for the MemoryThanks for the Memory
Thanks for the MemoryGuy Harrison
 
How I learned to stop worrying and love Oracle
How I learned to stop worrying and love OracleHow I learned to stop worrying and love Oracle
How I learned to stop worrying and love OracleGuy Harrison
 
Performance By Design
Performance By DesignPerformance By Design
Performance By DesignGuy Harrison
 
High Performance Plsql
High Performance PlsqlHigh Performance Plsql
High Performance PlsqlGuy Harrison
 

Mais de Guy Harrison (18)

Five database trends - updated April 2015
Five database trends - updated April 2015Five database trends - updated April 2015
Five database trends - updated April 2015
 
From oracle to hadoop with Sqoop and other tools
From oracle to hadoop with Sqoop and other toolsFrom oracle to hadoop with Sqoop and other tools
From oracle to hadoop with Sqoop and other tools
 
Thriving and surviving the Big Data revolution
Thriving and surviving the Big Data revolutionThriving and surviving the Big Data revolution
Thriving and surviving the Big Data revolution
 
Mega trends in information management
Mega trends in information managementMega trends in information management
Mega trends in information management
 
Big datacamp2013 share
Big datacamp2013 shareBig datacamp2013 share
Big datacamp2013 share
 
Hadoop, Oracle and the big data revolution collaborate 2013
Hadoop, Oracle and the big data revolution collaborate 2013Hadoop, Oracle and the big data revolution collaborate 2013
Hadoop, Oracle and the big data revolution collaborate 2013
 
Hadoop, oracle and the industrial revolution of data
Hadoop, oracle and the industrial revolution of data Hadoop, oracle and the industrial revolution of data
Hadoop, oracle and the industrial revolution of data
 
Hadoop and rdbms with sqoop
Hadoop and rdbms with sqoop Hadoop and rdbms with sqoop
Hadoop and rdbms with sqoop
 
Next generation databases july2010
Next generation databases july2010Next generation databases july2010
Next generation databases july2010
 
Optimize oracle on VMware (April 2011)
Optimize oracle on VMware (April 2011)Optimize oracle on VMware (April 2011)
Optimize oracle on VMware (April 2011)
 
Understanding Solid State Disk and the Oracle Database Flash Cache (older ver...
Understanding Solid State Disk and the Oracle Database Flash Cache (older ver...Understanding Solid State Disk and the Oracle Database Flash Cache (older ver...
Understanding Solid State Disk and the Oracle Database Flash Cache (older ver...
 
High Performance Plsql
High Performance PlsqlHigh Performance Plsql
High Performance Plsql
 
Performance By Design
Performance By DesignPerformance By Design
Performance By Design
 
Optimize Oracle On VMware (Sep 2011)
Optimize Oracle On VMware (Sep 2011)Optimize Oracle On VMware (Sep 2011)
Optimize Oracle On VMware (Sep 2011)
 
Thanks for the Memory
Thanks for the MemoryThanks for the Memory
Thanks for the Memory
 
How I learned to stop worrying and love Oracle
How I learned to stop worrying and love OracleHow I learned to stop worrying and love Oracle
How I learned to stop worrying and love Oracle
 
Performance By Design
Performance By DesignPerformance By Design
Performance By Design
 
High Performance Plsql
High Performance PlsqlHigh Performance Plsql
High Performance Plsql
 

Último

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 

Último (20)

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 

Top 10 tips for Oracle performance

  • 1. Top 10 Tips for Oracle Database performance Guy Harrison Director, Melbourne R&D guy.harrison@quest.com www.guyharrison.net
  • 2. Introductions Buy Guy’s Book Buy Quest Products
  • 3. Digressions 1. Why “top 10”? 2. Why tune? Year 2000 reason: to meet Business Service expectations Year 2010 reason: As above AND to reduce operational expenditure (upgrades, electricity, etc) A badly tuned database is like a poorly tuned car that backfires and belches smoke: It might get you from A to B, but it costs you more in gas and exacts a heavier toll on the environment.
  • 4. Hint 1: Methodical and Empirical tuning Methodical: Have a plan Focus on root causes, not symptoms Hypothesis and experiment, not trial and error Empirical Measure performance Compare before and after What is your control group? Beware of “old DBA tales” and “silver bullets”
  • 5. Tuning methodologies YAPP Yet Another Performance Profiling Methodology Focus on area of greatest time consumption Use the Oracle Wait Interface System-R Similar, but focus on business transaction context Use Oracle SQL trace Tuning by layers As above, but prioritize higher layers of the stack (which have flow on effects into lower layers) Distinguish between symptoms and causes
  • 6. Tuning by layers Problems in one database layer can be caused or cured by configuration in the higher layer. Therefore: Reduce application demand to its logical minimum by tuning SQL and PL/SQL, and optimizing physical design (partitioning, indexing, etc). Maximize concurrency by minimizing contention for locks, latches, buffers, etc. Minimize amount of physical IO by optimizing Oracle memory. Reduce IO latency by providing adequate IO bandwidth and evenly distributing the resulting load.
  • 10. Optimizing network traffic PL/SQL routines most massively outperform other languages when network round trips are significant.
  • 11. Hint 3 Index wisely Indexes exist primarily to improve performance Be-aware of index “cost” as well as benefit Creating appropriate concatenated indexes is the most important factor for most applications Consider non-standard indexing techniques and indexing alternatives: Bitmap indexes (but not for OLTP) Hash Cluster (for static tables) Functional indexes Partition elimination
  • 12. All Indexes are not created equal SELECT cust_id FROM sh.customers c WHERE cust_first_name = 'Connor' AND cust_last_name = 'Bishop' AND cust_year_of_birth = 1976;
  • 13. Indexes are not “free”
  • 15. Hint 4 Know your tools Measurement requires tooling Key tools free with every version of Oracle: DBMS_XPLAN Cached SQL statistics Wait interface and time model SQL Trace and tkprof Oracle Tuning and Diagnostic packs 3rd Party tools
  • 16. DBMS_XPLAN SQL> EXPLAIN PLAN FOR 2 SELECT department_name, last_name, job_title 3 FROM hr.employees JOIN hr.departments USING (department_id) 4 JOIN hr.jobs USING (job_id) 5 ORDER BY department_name, job_title;   Explained.   SQL> SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY(null,null,'TYPICAL -BYTES'));   PLAN_TABLE_OUTPUT ------------------------------------------------------------------------------------- Plan hash value: 32252419251   -------------------------------------------------------------------------------------- | Id2 | Operation3 | Name4 | Rows5 |Cost (%CPU)6| Time7 | -------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 106 | 26 (8)| 00:00:01 | | 1 | SORT ORDER BY | | 106 | 26 (8)| 00:00:01 | | 2 | NESTED LOOPS | | 106 | 25 (4)| 00:00:01 | | 3 | MERGE JOIN | | 107 | 24 (5)| 00:00:01 | | 4 | TABLE ACCESS BY INDEX ROWID| EMPLOYEES | 107 | 20 (0)| 00:00:01 | | 5 | INDEX FULL SCAN | EMP_JOB_IX | 107 | 12 (0)| 00:00:01 | |* 6 | SORT JOIN | | 19 | 4 (25)| 00:00:01 | | 7 | TABLE ACCESS FULL | JOBS | 19 | 3 (0)| 00:00:01 | | 8 | TABLE ACCESS BY INDEX ROWID | DEPARTMENTS | 1 | 1 (0)| 00:00:01 | |* 9 | INDEX UNIQUE SCAN | DEPT_ID_PK | 1 | 0 (0)| 00:00:01 | --------------------------------------------------------------------------------------   Predicate Information (identified by operation id)8: ---------------------------------------------------   6 - access("EMPLOYEES"."JOB_ID"="JOBS"."JOB_ID") filter("EMPLOYEES"."JOB_ID"="JOBS"."JOB_ID") 9 - access("EMPLOYEES"."DEPARTMENT_ID"="DEPARTMENTS"."DEPARTMENT_ID")
  • 17. SQL Trace Rules, OK? Enable trace with: Alter Session DBMS_SESSION DBMS_MONITOR LOGIN trigger Analyse with tkprof Advantages of tracing: Per step statistics Complete session context Bind variable insight (but not with tkprof) 17
  • 18. Tkprof output SELECT * FROM g_orders1 JOIN g_line_items USING (order_id) JOIN g_customers USING (customer_id) WHERE g_line_items.book_id=:book_id   call count2 cpu3 elapsed4 disk5 query6 current7 rows8 ------- ------ -------- ---------- ---------- ---------- ---------- ---------- Parsea 1d 0.00 0.00 0 0 0 0 Executeb 2e 0.00 0.00 0 0 0 0 Fetchc 18j 0.87 39.35 18093 18822 0 255i ------- ------ -------- ---------- ---------- ---------- ---------- ---------- total 21 0.87 39.35 18093k 18822f 0g 255h   Misses in library cache during parse: 1n Optimizer mode: ALL_ROWS Parsing user id: 88 (TRANSIM)   Rows Row Source Operationo ------- --------------------------------------------------- 255 NESTED LOOPS (cr=18822 pr=18093 pw=18093 time=39285904 us) 255 NESTED LOOPS (cr=18567 pr=17892 pw=17892 time=35072868 us cost=5607 …) 255 NESTED LOOPS (cr=18294 pr=17814 pw=17814 time=33429490 us cost=5351 …) 255 TABLE ACCESS FULL G_LINE_ITEMS (cr=17511 pr=17490 pw=17490 …) 255 TABLE ACCESS BY INDEX ROWID G_ORDERS (cr=783 pr=324 pw=324 time=0 …) 255 INDEX UNIQUE SCAN G_ORDERS_PK (cr=528 pr=83 pw=83 time=0 us …) 255 INDEX UNIQUE SCAN G_CUSTOMERS_PK (cr=273 pr=78 pw=78 time=0 us cost=0 …) 255 TABLE ACCESS BY INDEX ROWID G_CUSTOMERS (cr=255 pr=201 pw=201 time=0 us …)
  • 19.
  • 20. Wait interface and the time model High end tuning tools offer big returns on investment, but basic Oracle instrumentation serves well for most stages. A lot of insight can be gained by looking at the time model combined with the wait interface
  • 21.
  • 24.
  • 25. Hint 6: SQL and PLSQL Tuning Some SQLs get through the optimizer net, and always will Find the SQLs using the tools outlined in Hint 4 Tune by tweaking the optimizer, creating indexes, changing the plan Things to tune: Table Access Joins and subqueries Sorts and aggregates PLSQL Parallel SQL DML
  • 26. Example: Scan vs Index Optimize necessary scans Make the table smaller Re-build Split the table Out of line LOBs Compression Encourage caching Parallel query Fast full index scans Partitioning Avoid accidental table scans: Use functional indexes Lookout for NULL values Use selective concatenated indexes
  • 27. Table scan vs. index lookup
  • 28. Hint 7: Contention – the proverbial bottleneck Apparent demand at lower Application layers is reduced Demand for DB Contention for limited or services serialized resources causes waits and or queuing
  • 29. Types of contention Locks Mostly application, but occasionally system (ST in legacy tablespaces) Latches/mutexes Often side effect of excessive application demand Lack of bind variables But sometimes the final constraint on DB throughput Buffers Buffer cache, redo buffer, etc Hot blocks (buffer busy) Slow “lazy” writer processes (DBWR, LGWR, RVWR)
  • 30. Hint 8: Optimize memory – reduce IO Memory is used to cache data and to perform sorting and hashing (ORDER/GROUP BY, joins). Oracle 10g can allocations within PGA/SGA well enough 11g can manage allocations between the two
  • 31. What’s more important (PGA or SGA)? A FTS can only generate so much IO A disk sort can generate many times the IO IO from Full Table Scan IO from Sorting
  • 32. Don’t overly rely on Automatic Memory Default configuration can lead to thrashing Starvation Set minimum values for all pools, or manually size
  • 33. Hint 9: Tune IO last, but TUNEit Only when you’ve addressed workload, contention and memory does it make sense to optimize the IO system: Workload is the direct source of the IO demand Contention can mask true IO demand Effective memory configuration can reduce the proportion of workload demand that turns physical IO tuning is simultaneously the hardest and easiest part of Oracle tuning: Easy, because disk devices are predictable and optimization principles well known Hard, because you usually have to persuade someone to pay for IOPS rather than the cheaper GBs
  • 34. Disk Drive latency Most disk drives can return an IO in 5-10 ms Faster in an array with large caching Disk latency increases with: Throughput (sweet spot at 50-75% of maximum) Disk fill (sweet spot at 50% capacity) Unless disk response time is unimportant, then disks should be: Sparsely populated Under only moderate load Solid State Disk (SSD) may change the game But in Flash based SSD write latency can be higher Orders of magnitude higher cost/GB
  • 36. Striping Throughput requirements are met by adding disks and striping data across the disks Usually using a disk array Can be done with software (ASM) If all else fails, by alternating data files. Not all Oracle IO is optimized by striping Depending on transaction pattern, redo and flashback IO might benefit more from dedicated devices If striped, these files like fine-grained striping RAID 5 quadruples write overhead Evil even for read-only databases (because of disk sorting and hashing) Don’t believe vendors who claim that the cache “eliminates” the overhead
  • 37. Hint 10 Exploit and tune RAC RAC is central to Oracle’s strategic direction for scalability, fault tolerance and performance RAC Tuning is complex but: Ensure balance of workload across instances in the cluster Optimize and monitor private interconnect network Eliminate unnecessary global cache requests Monitor and minimize cluster related waits
  • 40. $DO || !$DO; try try: Command not found

Notas do Editor

  1. This is top 10 tips. Why top 10?Turns out that there is a natural selection for presentations that promise top 10Sense of quantity Appeal to the top 7 tuning tips in no particular order did not get accepted. However, this does mean that I will be rushing through things a bit.
  2. Apologies, I’m a database type.....
  3. Good design decisions go all the way down to the line of code...
  4. You might choose PL/SQL or Java based on what languages you know or modularity of the application. However, there is a big difference from a performance point of view.
  5. I’d always try to have a tuning tool, but I woudn’t give up if I had to use the “free” tools that come with Oracle – EXPLAIN, trace and the wait interface