SQL QUERY TUNING FOR ORACLE. Getting It Right the First Time
|
|
|
- Oswin Sullivan
- 9 years ago
- Views:
Transcription
1 SQL QUERY TUNING FOR ORACLE Getting It Right the First Time
2 INTRODUCTION As part of my job as a Senior DBA, I get to review Oracle database performance data with hundreds of customers a year. During the review process I provide performance improvement recommendations based on the response time data from SolarWinds Database Performance Analyzer (DPA). However, I also try to go above and beyond the raw data to provide valuable performance tuning tips for our customers. Over the years we have developed a process that works time and time again. This process is the focus of this white paper and follows four fundamental steps: 1. Focus on the correct SQL statements 2. Utilize response time analysis 3. Gather accurate execution plans 4. Use SQL diagramming WHY FOCUS ON SQL STATEMENTS? When I think about performance tuning for a database environment, the following three types of tuning approaches come to mind: Application Tuning tune the application code to process data more efficiently. Instance Tuning tune Oracle itself via modification of database parameters or altering the environment in which the database executes. SQL Statement Tuning tune the SQL statements used to retrieve data. The third approach, SQL tuning, seems to be a point of contention with many of our customers because it is often unclear which group (database administration or development) is responsible. This is also the area where I tend to focus my efforts for reasons discussed throughout this paper. I am often asked why I focus on SQL statement tuning rather than instance or application tuning. Instance and application tuning are definitely beneficial in the right circumstances; however, I typically find that SQL tuning provides the most bang for the buck because it is often the underlying performance issue. My experience is that approximately 75-85% of the performance problems were solved using SQL tuning techniques. Most applications accessing databases on the backend require simple manipulation of data. There are typically no complex formulas or algorithms that require significant application time and thus tuning. These applications also deal with smaller amounts of data so even if the processing of that data is inefficient, it does not become a significant portion of the total waiting time for the end user. For example, a web application that displays the status of an order may only manipulate a few rows of data. page 1
3 On the flip side, the database is responsible for examining large amounts of data to retrieve the status of that order. There may be several tables involved containing millions of rows of data each and inefficiencies can quickly become huge bottlenecks. Tuning the underlying query in this case typically provides the most performance benefit rather than focusing on the application code. WHICH SQL STATEMENT SHOULD BE TUNED? If SQL statement tuning can provide the most benefit, the next question is Which SQL statement should I focus on? Often the DBA or developer did a great job of tuning a SQL statement, but later discovered it was not the root cause of the performance problem the end users were complaining about. Tuning the wrong SQL statement is clearly a waste of time, so what is the best way to know which SQL to tune? Choosing the correct SQL statement can involve looking for SQL statements that: Perform the most logical I/O Consume the most CPU Perform costly full table or index range scans Use an execution plan with a cost over X And many more With some of the strategies from above, what if the underlying problem was a blocking issue? The problematic queries may not appear in any of these lists and you would miss them. How do you know which of these are the queries causing your performance issues? The answer lies in measuring total elapsed times rather than using the above measurements, i.e. which SQL statements spend the most time executing in the database. A query similar to the following will retrieve a list from Oracle with the queries taking the longest to execute: select sql_text, elapsed_time, sql_id, hash_value, plan_hash_value, program_id, module, action, from v$sql where module = <module having problems> and username = <username> and order by elapsed_time When end-users complain about performance they will say something similar to: When I click the submit button on this web page, it takes seconds. They use elapsed time as a way to describe the problem, so why not use elapsed time when finding the queries to tune. The query above will provide a definitive list of SQL statements with the highest elapsed time since instance startup. Often this is based on a timeframe of several months or even longer, so collecting this data periodically with deltas will provide the best information. For example, running a query similar to the above (along with other pertinent data based on your application) every page 2
4 minute and saving the data will allow you to go back in time to find a problem. If an end-user complains about performance from yesterday at 3:00 p.m., reviewing the archived data from a timeframe around 3:00 yesterday will help you understand what was performing poorly during the problematic time. A much easier method for collecting this type of data and finding the problematic SQL statement is to use a response time based performance analysis tool like DPA. DPA collects response time data once per second about all SQL statements and can quickly rank them according to the ones causing the most response time. The screenshot below shows the Top 15 SQL statements in an Oracle database from a total elapsed time perspective. DATABASE RESPONSE TIME VIEW OF PERFORMANCE Once the most problematic SQL is known, understanding why the SQL is slow is paramount. Is the problem an unnecessary full table scan, a locking issue, disk I/O related, etc? Oracle wait events very clearly show the problem. page 3
5 The picture above depicts a SQL statement entering the Oracle database and going through a series of steps. These steps may include reading data from disk, waiting on a locking issue, waiting for Oracle to commit data, and many more. Measuring the total execution time for a SQL statement reveals which SQL to tune and measuring how much time that SQL waits on specific events provides the best clues for fixing the issue. For example, if a SQL statement executes for 40 seconds, what is the major cause of that delay? A SQL that waits on an event named db file scattered read means it is most likely performing a full table scan, while waits on enq: TX row lock contention indicate the SQL is experiencing a locking issue. The solutions for these problems are much different and are where wait events help the most. The following table shows the most common wait events (based on DPA data summarized from hundreds of customers) along with ideas for tuning SQL statements waiting on these events. WAIT EVENT / SUGGESTIONS WAIT CLASS PCT db file sequential read tune indexes tune disks increase buffer cache db file scattered read add indexes tune disks refresh statistics create materialized view direct path read / direct path read temp review P1 (file id), P2 (starting dba), P3 (blocks) if reading temporary data increase pga_aggregate_target (workarea_size_policy=auto) increase sort_area_size (workarea_size_policy<>auto) cache temporary datafiles at O/S level if reading application data could be related to parallel query global cache cr request RAC event similar to buffer busy waits tune SQL to request less data tune network latency between RAC nodes localize data access buffer busy waits / read by other session tune SQL (often see this event with full table scans) review P1 (file id), P2 (block id) for hot blocks if the SQL is inserting data, consider increasing FREELISTS and/or INITRANS if the waits are on segment header blocks, consider increasing extent sizes User I/O 28% User I/O 27% User I/O 10% Cluster 5% Concurrency 5% page 4
6 SQL*Net more data from dblink may not be a problem reduce amount of data transferred across dblink tune network between databases log file sync tune applications to commit less often tune disks where redo logs exist try using nologging / unrecoverable options log buffer could be too large direct path write / direct path write temp review P1 (file id), P2 (starting dba), P3 (blocks) similar approaches as direct path read could be related to direct path loads Network 4% Commit 3% User I/O 3% LOOKING AT THE EXECUTION PLAN Execution plans further the understanding of where a SQL statement can be made more efficient. If there are five tables involved and the query waits mostly on db file scattered read indicating a full table scan, the plan will help determine where that is occurring. Plans supply costing information, data access paths, join operations and many other things. However, not all plans are useful. Do you know that EXPLAIN PLAN can be wrong and not match how Oracle is really executing the statement? It can be wrong because the EXPLAIN PLAN command is typically executed in a completely different environment like SQL*Plus and not from the application code and environment. The application may set session variables that are not set from SQL*Plus, bind variable data types may be defined differently, and many other things. If EXPLAIN PLAN can be wrong, where is a better place to retrieve the correct plan? The best places to get execution plan information are: V$SQL_PLAN contains raw data for execution plans of SQL statements. It provides the plan Oracle used so why not go straight to the source. Use the DBMS_XPLAN system package to get the execution plan in a readable format. Tracing provides great information as well as executions plans for an entire session or process. Historical Data if possible, collect and save execution plan information so you can go back to 3:00 pm yesterday to understand why the SQL statement performed poorly. Once you have an accurate execution plan, determine how each of the SQL components is being executed. Based on response time data, you should already have a feel if full table scans are significant, whether more time is spent reading indexes or if you have other issues. Execution plans help determine more about those problems. page 5
7 NOT ALL PLANS CREATED EQUAL Here is an example where, based on response time data, we believed the query was doing a full table scan since the SQL was spending over 95% of its execution time waiting for db file scattered read. However, when we reviewed the EXPLAIN PLAN output, the query looked very efficient and seemed to be using a unique index to retrieve one row of data. Here is the statement and the EXPLAIN PLAN information: SELECT company, attribute FROM data_out WHERE segment = :B1; Data from EXPLAIN PLAN Command SELECT STATEMENT Optimizer=ALL ROWS (cost=1 card=1 bytes=117) TABLE ACCESS (BY INDEX ROWID) OF DATA_OUT (TABLE) (Cost=1 Card=1 Bytes=117) INDEX (UNIQUE SCAN) OF IX1_DATA_OUT (INDEX(UNIQUE)) (Cost=1 Card=1) How is this possible? It is a very simple query with one criterion in the WHERE clause, so if it is executing very efficiently, why are the end-users waiting 20 seconds for this query each time it executes? The answer is revealed when we review the execution plan from V$SQL_PLAN using DBMS_XPLAN: In this example, we use the DISPLAY_CURSOR function from the DBMS_XPLAN package and pass it the SQL_ID and CHILD_NUMBER as parameters. If we were only reviewing EXPLAIN PLAN data, we may have dismissed the issue and referred the problem back to the development team claiming the problem lies in the application tier. The execution plan from V$SQL_PLAN above quickly points to the full table scan on the DATA_OUT table and the predicate information reveals the extent of the problem. The :B1 bind variable is being passed as a BINARY DOUBLE number from Java code. The segment column is defined as a standard NUMBER data type so Oracle is forced to implicitly convert the data in the table to BINARY DOUBLE to apply the criteria. Anytime a function is used around a column, even if it is an implicit function, standard indexes on that column will not be used. You now have a plan of action: page 6
8 1. Change Application show the developers the problem and ask them to modify the Java code to pass in a standard number. 2. Modify Table Definition - redefine the column in the DATA_OUT column to be a BINARY DOUBLE if needed. Oracle will not be required to implicitly convert the data passed in from the application. 3. Create Function-Based Index this will immediately help performance while the development team determines the most effective method for code modification. Now that we ve covered the theory behind this simple tuning process, I d like to provide some practical examples to illustrate the value of response time analysis in your SQL tuning process. TUNING EXERCISE #1 The first sample SQL statement answers the question: Who registered for the SQL Tuning class within the last day? : SELECT s.fname, s.lname, r.signup_date FROM student s INNER JOIN registration r ON s.student_id = r.student_id INNER JOIN class c ON r.class_id = c.class_id WHERE c.name = SQL TUNING AND r.signup_date BETWEEN TRUNC(SYSDATE-1) AND TRUNC(SYSDATE) AND r.cancelled = N REVIEW EXECUTION PLAN AND QUERY STATISTICS The execution plan was retrieved from V$SQL_PLAN for our sample SQL statement and is given below: page 7
9 Learning to read the execution plan is outside the scope of this white paper, but in simple terms, start from the innermost lines to understand what Oracle does first. In this case, two full table scans are performance against the CLASS and REGISTRATION tables. Another important piece of data about the query execution is the number of logical reads, also known as buffer gets. This query is performing 11,239 logical reads. The logical reads metric provides a very good understanding of the amount of work done by Oracle to execute the query. Why not use simple execution times to measure a SQL statement? The problem with using time is that it is greatly influenced by other processes running while you are testing the query. This can significantly impact the time a query takes to execute and thus give false impressions about the performance gains. Logical reads will not be affected in this way. CREATE THE SQL DIAGRAM I would like to introduce a technique that I use to tune SQL statements correctly without the trial and error that I was often faced with before. The concept of SQL diagramming was introduced to me through a book entitled SQL Diagramming by Dan Tow. For our purposes, I will explain the basics of the following SQL diagram: The diagram looks similar to an ERD diagram. To build it: Start with any table in the FROM clause and put it on paper (the easiest way to draw these diagrams is by hand). In my case I started with the first table in the FROM clause named STUDENT. Take the next table, which in my case is REGISTRATION, and place it either above or below the existing tables based on the relationship. Since the REGISTRATION relates to the STUDENT table uniquely, i.e. one row in REGISTRATION points to one row in the STUDENT table, I put it above and draw an arrow downwards. Take the next table, CLASS - one row in REGISTRATION points to one row in CLASS so I put it below REGISTRATION with another downward pointing arrow. page 8
10 The next step is to further understand the criteria used in the query to limit the number of rows from each of the tables. The first criteria to explore is anything in the WHERE clause to limit the rows from REGISTRATION. This criteria is: AND r.signup_date BETWEEN TRUNC(SYSDATE-1) AND TRUNC(SYSDATE) AND r.cancelled = N To understand the selectivity, run a query similar to below against the table using the critiera: select count(*) from registration r WHERE r.signup_date BETWEEN TRUNC(SYSDATE-1) AND TRUNC(SYSDATE) AND r.cancelled = N Results 8,221 / 1,687,980 (total rows in REGISTRATION) = = 0.4% selectivity Use this number on the diagram next to the REGISTRATION table and underline it. This represents the selectivity of the criteria against that table. The next table to review in the same manner is the CLASS table. The query I would run becomes: SELECT count(1) FROM class WHERE name = SQL TUNING Results 2 / 1,267 (total rows in CLASS) = = 0.1% selectivity Add this to the diagram next to the CLASS table. The next table to explore is the STUDENT table, but there are no direct criteria against this table, so no underlined number next to that table. The other numbers next to the arrows in the diagram are simple calculations based on average numbers of rows that one row in a table references in the others. In this case, the REGISTRATION table refers to exactly one row in the CLASS and STUDENT tables so the number 1 goes next to the bottom of the arrows. One row in the CLASS table refers to on average 1,332 rows in the REGISTRATION table (1,687,980 total rows REGISTRATION divided by 1,276 rows in CLASS) and one row in the STUDENT table refers to on average 71 rows in REGISTRATION (1,687,980 / 23,768). The diagram has now been completed for our example, however, Dan Tow goes into more detail than I will include at this point. ANALYZE THE SQL DIAGRAM Analyzing the SQL diagram begins by looking for the smallest, underlined number. In this example it is next to the CLASS table. To limit the number of rows the query needs to process, starting here will trim our result sets the soonest. If we can make Oracle start with this table the query can be executed optimally. When the query starts with the CLASS table for this query, it will read two rows and then visit the REGISTRATION table and read 2,664 rows (2 * 1,332). From page 9
11 there it will read 2,664 more rows from the CLASS table for a total of 5,330 rows (2 + 2, ,664). If the query started on the REGISTRATION table first, it would read 8,221 rows and then 8,221 rows from the CLASS and STUDENT tables for a total of 24,663 rows (3 * 8,221). Based on this data we can understand why starting on the CLASS table is best for this query. TUNING BASED ON SQL DIAGRAMS We know we want Oracle to start with the CLASS table, but how do we do that? The easiest way is to ensure an index exists and fits our criteria of name = SQL TUNING. In this case that means the NAME column of the CLASS table. create index cl_name on class(name) The new execution plan is: The number of logical reads was reduced from 11,239 to 11,168 which represent a gain by using an index to retrieve data from the CLASS table versus a table scan. There is some improvement, but not as much as we had hoped. The CL_NAME index is now used to find the two rows in the CLASS table with a NAME= SQL TUNING. We achieved partial results but a full table scan is still done against the REGISTRATION table. Why would that be? When we review the indexes on REGISTRATION we find one index named REG_PK that contains the STUDENT_ID and CLASS_ID columns in that order. Since our query is hitting the CLASS table first it cannot use this index that starts with STUDENT_ID so it must perform a full table scan. This index could be modified to switch the columns around, but that could affect many other queries and may require significant testing. In this case, since I know I need an index with a leading edge of CLASS_ID, I created an index on just that column: create index reg_alt on registration (class_id) page 10
12 The new execution plan is: This query now performs 4,831 logical reads so we have made significant progress. Before utilizing the SQL diagramming technique I used to focus on the execution plan and attempt to reduce the cost of expensive steps in the plan. Based on the initial execution plan, I would focus on the REGISTRATION table. However, as we have seen, Oracle would have been required to read through more than four times the number of rows to get the same results. TUNING EXERCISE #2 The second sample SQL statement we will tune provides a list of open orders for a customer. SELECT o.orderid, c.lastname, p.productid, p.description, sd.actualshipdate, sd.shipstatus, sd.expectedshipdate FROM Orders o INNER JOIN Item i ON i.orderid = o.orderid INNER JOIN Customer c ON c.customerid = o.customerid INNER JOIN ShipmentDetails sd ON sd.shipmentid = i.shipmentid INNER JOIN Product p ON p.productid = i.productid INNER JOIN Address a ON a.addressid = sd.addressid WHERE c.lastname LIKE NVL(:1, ) % AND c.firstname LIKE NVL(:2, ) % AND o.orderdate >= SYSDATE - 30 AND o.orderstatus <> C The first question that needs to be asked is whether the bind variables :1 and :2 are always provided. In this case, both are optional but at least one of them is required by the application. Therefore, the first step is to rewrite the query. If only one criteria is provided, the query would perform a full table scan on CUSTOMER every time. For example, if the LASTNAME value was provided but FIRSTNAME was not, the criteria would turn into: page 11
13 WHERE c.lastname LIKE SMI% AND c.firstname LIKE % The FIRSTNAME criteria would cause Oracle to perform a full table scan to retrieve the results. A possible solution is to rewrite the query to be constructed dynamically and include only the criteria in the query where the bind variable has a value. It s important to remember that tuning a SQL statement is not always about technical details. REVIEW EXECUTION PLAN AND QUERY STATISTICS The execution plan was retrieved from V$SQL_PLAN for our sample SQL statement and is given below: The expensive steps from this plan are several full table scans performed against fairly large tables named ORDERS, ITEM and SHIPMENTDETAILS. The number of logical reads is 73,600. CREATE THE SQL DIAGRAM page 12
14 Note: I typically draw SQL diagrams like this because they are much simpler and cleaner but still provides the important details of selectivity. In this example, the end-users are trained to input only the first three characters of a name. For the selectivity calculations on the CUSTOMER table we should use SMI% as the criteria because it is the most occurring first three characters of the LASTNAME. SELECT COUNT(1) FROM Customer WHERE LastName LIKE SMI% Results 1,917 / 52,189 =.04 The next table to review is the ORDERS table. Whenever I have two criteria against a table in a query, I run them together as well as individually so I understand selectivity of each. For this SQL statement I ran the following queries: SELECT count(1) FROM orders o WHERE o.orderdate >= SYSDATE - 30 AND o.orderstatus <> C Results = 0.5% selectivity SELECT count(1) FROM orders o WHERE o.orderdate >= SYSDATE - 30 Results 0.08 = 8% selectivity SELECT count(1) FROM orders o WHERE o.orderstatus <> C Results = 0.5% selectivity These results show the ORDERDATE column selectivity is not near as good as the selectivity of the ORDERSTATUS column individually. Also, when including both criteria, the selectivity matches the results from using only the ORDERSTATUS column. Because of this, we should focus on that criterion alone without ORDERDATE. TUNING BASED ON SQL DIAGRAMS Since this is a non-equality criterion, adding an index on the ORDERSTATUS column will not help because Oracle will not use it. I always review data skew when I notice a status or flag column being used in a query. For this column, here are a list of values and the number of rows that contain the value: page 13
15 SELECT OrderStatus, COUNT(1) FROM Orders GROUP BY OrderStatus I 3760 C Based on this data, the criteria could be rewritten as: AND o.orderstatus = I This is a little dangerous to do without discussions about the data with the applications group. A problem can arise if the ORDERSTATUS column can have other values which would break the new query s logic. In this case, I and C are the only two possible values so our new logic is sound. This also means that an index on ORDERSTATUS seems to make sense. Remember that when a column contains skewed data, you will also need to collect histograms on the new index as well (not shown in the statements below): CREATE INDEX order_status ON Orders (OrderStatus); The new execution plan is: This query now performs 7,221 logical reads. This is a significant improvement. Again, SQL diagramming is instrumental in identifying how to tune the query correctly the first time. Reviewing the execution plan shows that there are still full table scans on the PRODUCT and SHIPMENTDE- TAILS table, so there probably is room for additional tuning. page 14
16 SUMMARY As a DBA, I get to work through database performance issues with hundreds of DBAs and developers every year. There is one commonality amongst all these professionals: no one has time to spare. Everyone wants to streamline processes and solve problems as quickly as possible and move on to the next issue of the day. A simple, repeatable process for performance tuning is a valuable time saver because you ll get it right the first time. Fully Functional For 14 Days 1. Focus on the correct SQL statements 2. Utilize response time analysis 3. Gather accurate execution plans 4. Use SQL diagramming HOW CAN DATABASE PERFORMANCE ANALYZER HELP? Database Performance Analyzer (DPA) from SolarWinds (NYSE: SWI) provides the fastest way to identify and resolve database performance issues. DPA is part of the SolarWinds family of powerful and affordable IT solutions that eliminate the complexity in IT management software. DPA s unique Multi-dimensional Database Performance Analysis enables you to quickly get to the root of database problems that impact application performance with continuous monitoring of SQL Server, Oracle, SAP ASE and DB2 databases on physical, Cloud-based and VMware servers. For additional information, please contact SolarWinds at or [email protected] SolarWinds, Inc. All rights reserved. SolarWinds, the SolarWinds logo, ipmonitor, LANsurveyor, and Orion are among the trademarks or registered trademarks of the company in the United States and/or other countries.all other trademarks are property of their respective owners. WP-1504 page 15
SQL QUERY TUNING FOR SQL SERVER. Getting It Right the First Time
SQL QUERY TUNING FOR SQL SERVER Getting It Right the First Time INTRODUCTION As a Senior DBA, I get to review SQL Server database performance data with hundreds of customers a year. During the review process
MS SQL Performance (Tuning) Best Practices:
MS SQL Performance (Tuning) Best Practices: 1. Don t share the SQL server hardware with other services If other workloads are running on the same server where SQL Server is running, memory and other hardware
Oracle Database 11 g Performance Tuning. Recipes. Sam R. Alapati Darl Kuhn Bill Padfield. Apress*
Oracle Database 11 g Performance Tuning Recipes Sam R. Alapati Darl Kuhn Bill Padfield Apress* Contents About the Authors About the Technical Reviewer Acknowledgments xvi xvii xviii Chapter 1: Optimizing
SQL Server Query Tuning
SQL Server Query Tuning A 12-Step Program By Thomas LaRock, Technical Evangelist and Head Geek Confio Software 4772 Walnut Street, Suite 100 Boulder, CO 80301 www.confio.com Introduction Query tuning is
PERFORMANCE TIPS FOR BATCH JOBS
PERFORMANCE TIPS FOR BATCH JOBS Here is a list of effective ways to improve performance of batch jobs. This is probably the most common performance lapse I see. The point is to avoid looping through millions
Optimizing Your Database Performance the Easy Way
Optimizing Your Database Performance the Easy Way by Diane Beeler, Consulting Product Marketing Manager, BMC Software and Igy Rodriguez, Technical Product Manager, BMC Software Customers and managers of
Performance rule violations usually result in increased CPU or I/O, time to fix the mistake, and ultimately, a cost to the business unit.
Is your database application experiencing poor response time, scalability problems, and too many deadlocks or poor application performance? One or a combination of zparms, database design and application
Writing SQL. PegaRULES Process Commander
Writing SQL PegaRULES Process Commander Copyright 2007 Pegasystems Inc., Cambridge, MA All rights reserved. This document describes products and services of Pegasystems Inc. It may contain trade secrets
Tune That SQL for Supercharged DB2 Performance! Craig S. Mullins, Corporate Technologist, NEON Enterprise Software, Inc.
Tune That SQL for Supercharged DB2 Performance! Craig S. Mullins, Corporate Technologist, NEON Enterprise Software, Inc. Table of Contents Overview...................................................................................
Enhancing SQL Server Performance
Enhancing SQL Server Performance Bradley Ball, Jason Strate and Roger Wolter In the ever-evolving data world, improving database performance is a constant challenge for administrators. End user satisfaction
<Insert Picture Here> Designing and Developing Highly Scalable Applications with the Oracle Database
Designing and Developing Highly Scalable Applications with the Oracle Database Mark Townsend VP, Database Product Management Server Technologies, Oracle Background Information from
EMC Unisphere for VMAX Database Storage Analyzer
EMC Unisphere for VMAX Database Storage Analyzer Version 8.1.0 Online Help (PDF version) Copyright 2014-2015 EMC Corporation. All rights reserved. Published in USA. Published September, 2015 EMC believes
Oracle Database 11g: SQL Tuning Workshop
Oracle University Contact Us: + 38516306373 Oracle Database 11g: SQL Tuning Workshop Duration: 3 Days What you will learn This Oracle Database 11g: SQL Tuning Workshop Release 2 training assists database
Keep It Simple - Common, Overlooked Performance Tuning Tips. Paul Jackson Hotsos
Keep It Simple - Common, Overlooked Performance Tuning Tips Paul Jackson Hotsos Who Am I? Senior Consultant at Hotsos Oracle Ace Co-Author of Oracle Applications DBA Field Guide Co-Author of Oracle R12
Advanced Oracle SQL Tuning
Advanced Oracle SQL Tuning Seminar content technical details 1) Understanding Execution Plans In this part you will learn how exactly Oracle executes SQL execution plans. Instead of describing on PowerPoint
Response Time Analysis
Response Time Analysis A Pragmatic Approach for Tuning and Optimizing Database Performance By Dean Richards Confio Software 4772 Walnut Street, Suite 100 Boulder, CO 80301 866.CONFIO.1 www.confio.com Introduction
Wait-Time Analysis Method: New Best Practice for Performance Management
WHITE PAPER Wait-Time Analysis Method: New Best Practice for Performance Management September 2006 Confio Software www.confio.com +1-303-938-8282 SUMMARY: Wait-Time analysis allows IT to ALWAYS find the
1Z0-117 Oracle Database 11g Release 2: SQL Tuning. Oracle
1Z0-117 Oracle Database 11g Release 2: SQL Tuning Oracle To purchase Full version of Practice exam click below; http://www.certshome.com/1z0-117-practice-test.html FOR Oracle 1Z0-117 Exam Candidates We
MyOra 3.0. User Guide. SQL Tool for Oracle. Jayam Systems, LLC
MyOra 3.0 SQL Tool for Oracle User Guide Jayam Systems, LLC Contents Features... 4 Connecting to the Database... 5 Login... 5 Login History... 6 Connection Indicator... 6 Closing the Connection... 7 SQL
Proactive database performance management
Proactive database performance management white paper 1. The Significance of IT in current business market 3 2. What is Proactive Database Performance Management? 3 Performance analysis through the Identification
Load Testing and Monitoring Web Applications in a Windows Environment
OpenDemand Systems, Inc. Load Testing and Monitoring Web Applications in a Windows Environment Introduction An often overlooked step in the development and deployment of Web applications on the Windows
Toad for Oracle 8.6 SQL Tuning
Quick User Guide for Toad for Oracle 8.6 SQL Tuning SQL Tuning Version 6.1.1 SQL Tuning definitively solves SQL bottlenecks through a unique methodology that scans code, without executing programs, to
Oracle EXAM - 1Z0-117. Oracle Database 11g Release 2: SQL Tuning. Buy Full Product. http://www.examskey.com/1z0-117.html
Oracle EXAM - 1Z0-117 Oracle Database 11g Release 2: SQL Tuning Buy Full Product http://www.examskey.com/1z0-117.html Examskey Oracle 1Z0-117 exam demo product is here for you to test the quality of the
Method R Performance Optimization the Smart Way. Chad McMahon. Senior Consultant, Database Services CGI
Method R Performance Optimization the Smart Way Chad McMahon Senior Consultant, Database Services CGI 1 About the Speaker Chad McMahon Career: Database consultant at CGI Database Services for five years.
HOW IS RAC PERFORMANCE TUNING DIFFERENT?
HOW IS RAC PERFORMANCE TUNING DIFFERENT? After working on numerous performance problems on both RAC and single-node systems, I thought it would be helpful to reflect on what I see as differences between
INTRODUCTION TO QUERY PERFORMANCE TUNING: A 12 STEP PROGRAM JANIS GRIFFIN SENIOR DBA / PERFORMANCE EVANGELIST
INTRODUCTION TO QUERY PERFORMANCE TUNING: A 12 STEP PROGRAM JANIS GRIFFIN SENIOR DBA / PERFORMANCE EVANGELIST WHO AM I?» Senior DBA / Performance Evangelist for Solarwinds [email protected]
Performance Tuning with Oracle Enterprise Manager Session # S300610
Performance Tuning with Oracle Enterprise Manager Session # S300610 September 10, 2008 Prepared by John Darrah DBA Knowledge, Inc. Session # S300610 www.dbaknow.com Page 1 of 10 Introduction Oracle Enterprise
Guide to Performance and Tuning: Query Performance and Sampled Selectivity
Guide to Performance and Tuning: Query Performance and Sampled Selectivity A feature of Oracle Rdb By Claude Proteau Oracle Rdb Relational Technology Group Oracle Corporation 1 Oracle Rdb Journal Sampled
Response Time Analysis
Response Time Analysis A Pragmatic Approach for Tuning and Optimizing Oracle Database Performance By Dean Richards Confio Software, a member of the SolarWinds family 4772 Walnut Street, Suite 100 Boulder,
SQL Optimization & Access Paths: What s Old & New Part 1
SQL Optimization & Access Paths: What s Old & New Part 1 David Simpson Themis Inc. [email protected] 2008 Themis, Inc. All rights reserved. David Simpson is currently a Senior Technical Advisor at
TUTORIAL WHITE PAPER. Application Performance Management. Investigating Oracle Wait Events With VERITAS Instance Watch
TUTORIAL WHITE PAPER Application Performance Management Investigating Oracle Wait Events With VERITAS Instance Watch TABLE OF CONTENTS INTRODUCTION...3 WAIT EVENT VIRTUAL TABLES AND VERITAS INSTANCE WATCH...4
Configuring and Integrating Oracle
Configuring and Integrating Oracle The Basics of Oracle 3 Configuring SAM to Monitor an Oracle Database Server 4 This document includes basic information about Oracle and its role with SolarWinds SAM Adding
Databases Going Virtual? Identifying the Best Database Servers for Virtualization
Identifying the Best Database Servers for Virtualization By Confio Software Confio Software 4772 Walnut Street, Suite 100 Boulder, CO 80301 www.confio.com Many companies are turning to virtualization in
An Oracle White Paper November 2012. Hybrid Columnar Compression (HCC) on Exadata
An Oracle White Paper November 2012 Hybrid Columnar Compression (HCC) on Exadata Introduction... 3 Hybrid Columnar Compression: Technology Overview... 4 Warehouse Compression... 5 Archive Compression...
Experiment 5.1 How to measure performance of database applications?
.1 CSCI315 Database Design and Implementation Experiment 5.1 How to measure performance of database applications? Experimented and described by Dr. Janusz R. Getta School of Computer Science and Software
Response Time Analysis
Response Time Analysis A Pragmatic Approach for Tuning and Optimizing SQL Server Performance By Dean Richards Confio Software 4772 Walnut Street, Suite 100 Boulder, CO 80301 866.CONFIO.1 www.confio.com
In-memory Tables Technology overview and solutions
In-memory Tables Technology overview and solutions My mainframe is my business. My business relies on MIPS. Verna Bartlett Head of Marketing Gary Weinhold Systems Analyst Agenda Introduction to in-memory
Data Integrator Performance Optimization Guide
Data Integrator Performance Optimization Guide Data Integrator 11.7.2 for Windows and UNIX Patents Trademarks Copyright Third-party contributors Business Objects owns the following
Oracle DBA Course Contents
Oracle DBA Course Contents Overview of Oracle DBA tasks: Oracle as a flexible, complex & robust RDBMS The evolution of hardware and the relation to Oracle Different DBA job roles(vp of DBA, developer DBA,production
DB2 for i. Analysis and Tuning. Mike Cain IBM DB2 for i Center of Excellence. [email protected]
DB2 for i Monitoring, Analysis and Tuning Mike Cain IBM DB2 for i Center of Excellence Rochester, MN USA [email protected] 8 Copyright IBM Corporation, 2008. All Rights Reserved. This publication may refer
System Copy GT Manual 1.8 Last update: 2015/07/13 Basis Technologies
System Copy GT Manual 1.8 Last update: 2015/07/13 Basis Technologies Table of Contents Introduction... 1 Prerequisites... 2 Executing System Copy GT... 3 Program Parameters / Selection Screen... 4 Technical
Oracle Database 11g: New Features for Administrators 15-1
Oracle Database 11g: New Features for Administrators 15-1 Oracle Database 11g: New Features for Administrators 15-2 SQL Monitoring The real-time SQL monitoring feature on Oracle Database 11g enables you
A Comparison of Oracle Performance on Physical and VMware Servers
A Comparison of Oracle Performance on Physical and VMware Servers By Confio Software Confio Software 4772 Walnut Street, Suite 100 Boulder, CO 80301 www.confio.com Introduction Of all the tier one applications
Oracle Backup and Recover 101. Osborne Press ISBN 0-07-219461-8
Oracle Backup and Recover 101 Osborne Press ISBN 0-07-219461-8 First Printing Personal Note from the Authors Thanks for your purchase of our book Oracle Backup & Recovery 101. In our attempt to provide
Introduction to SQL Tuning. 1. Introduction to SQL Tuning. 2001 SkillBuilders, Inc. SKILLBUILDERS
Page 1 1. Introduction to SQL Tuning SKILLBUILDERS Page 2 1.2 Objectives Understand what can be tuned Understand what we need to know in order to tune SQL Page 3 1.3 What Can Be Tuned? Data Access SQL
Performance Tuning for the Teradata Database
Performance Tuning for the Teradata Database Matthew W Froemsdorf Teradata Partner Engineering and Technical Consulting - i - Document Changes Rev. Date Section Comment 1.0 2010-10-26 All Initial document
DBACockpit for Oracle. Dr. Ralf Hackmann SAP AG - CoE EMEA Tech Appl. Platf. DOAG St. Leon-Rot 02. July 2013
DBACockpit for Oracle Dr. Ralf Hackmann SAP AG - CoE EMEA Tech Appl. Platf. DOAG St. Leon-Rot 02. July 2013 General remarks Introduction The DBACockpit is a common monitoring framework for all Database
SQL Server Performance Intelligence
WHITE PAPER SQL Server Performance Intelligence MARCH 2009 Confio Software www.confio.com +1-303-938-8282 By: Consortio Services & Confio Software Performance Intelligence is Confio Software s method of
Real-Time SQL Monitoring. December 2009
Real-Time SQL Monitoring December 2009 Real-Time SQL Monitoring INTRODUCTION Real-time SQL monitoring, introduced in Oracle Database 11g, provides a very effective way to identify run-time performance
MyOra 3.5. User Guide. SQL Tool for Oracle. Kris Murthy
MyOra 3.5 SQL Tool for Oracle User Guide Kris Murthy Contents Features... 4 Connecting to the Database... 5 Login... 5 Login History... 6 Connection Indicator... 6 Closing the Connection... 7 SQL Editor...
Monitor and Manage Your MicroStrategy BI Environment Using Enterprise Manager and Health Center
Monitor and Manage Your MicroStrategy BI Environment Using Enterprise Manager and Health Center Presented by: Dennis Liao Sales Engineer Zach Rea Sales Engineer January 27 th, 2015 Session 4 This Session
PERFORMANCE TUNING FOR PEOPLESOFT APPLICATIONS
PERFORMANCE TUNING FOR PEOPLESOFT APPLICATIONS 1.Introduction: It is a widely known fact that 80% of performance problems are a direct result of the to poor performance, such as server configuration, resource
SolarWinds Database Performance Analyzer (DPA) or OEM?
SolarWinds Database Performance Analyzer (DPA) or OEM? The DBA Says the Answer Is Both! By Confio Software Confio Software 4772 Walnut Street, Suite 100 Boulder, CO 80301 www.confio.com Did you know 90%
WAIT-TIME ANALYSIS METHOD: NEW BEST PRACTICE FOR APPLICATION PERFORMANCE MANAGEMENT
WAIT-TIME ANALYSIS METHOD: NEW BEST PRACTICE FOR APPLICATION PERFORMANCE MANAGEMENT INTRODUCTION TO WAIT-TIME METHODS Until very recently, tuning of IT application performance has been largely a guessing
Monitoring HP OO 10. Overview. Available Tools. HP OO Community Guides
HP OO Community Guides Monitoring HP OO 10 This document describes the specifications of components we want to monitor, and the means to monitor them, in order to achieve effective monitoring of HP Operations
StreamServe Persuasion SP5 Oracle Database
StreamServe Persuasion SP5 Oracle Database Database Guidelines Rev A StreamServe Persuasion SP5 Oracle Database Database Guidelines Rev A 2001-2011 STREAMSERVE, INC. ALL RIGHTS RESERVED United States patent
Oracle Database 11g: SQL Tuning Workshop Release 2
Oracle University Contact Us: 1 800 005 453 Oracle Database 11g: SQL Tuning Workshop Release 2 Duration: 3 Days What you will learn This course assists database developers, DBAs, and SQL developers to
LOBs were introduced back with DB2 V6, some 13 years ago. (V6 GA 25 June 1999) Prior to the introduction of LOBs, the max row size was 32K and the
First of all thanks to Frank Rhodes and Sandi Smith for providing the material, research and test case results. You have been working with LOBS for a while now, but V10 has added some new functionality.
Toad for Data Analysts, Tips n Tricks
Toad for Data Analysts, Tips n Tricks or Things Everyone Should Know about TDA Just what is Toad for Data Analysts? Toad is a brand at Quest. We have several tools that have been built explicitly for developers
Informix Performance Tuning using: SQLTrace, Remote DBA Monitoring and Yellowfin BI by Lester Knutsen and Mike Walker! Webcast on July 2, 2013!
Informix Performance Tuning using: SQLTrace, Remote DBA Monitoring and Yellowfin BI by Lester Knutsen and Mike Walker! Webcast on July 2, 2013! 1! Lester Knutsen! Lester Knutsen is President of Advanced
Storing Measurement Data
Storing Measurement Data File I/O records or reads data in a file. A typical file I/O operation involves the following process. 1. Create or open a file. Indicate where an existing file resides or where
Sage 500 ERP (7.4) Business Intelligence
Sage 500 ERP (7.4) Business Intelligence Release Notes for Product Update 3 Sage 500 Business Intelligence (7.4) Product update 3 The software described in this document is protected by copyright, and
1. This lesson introduces the Performance Tuning course objectives and agenda
Oracle Database 11g: Performance Tuning The course starts with an unknown database that requires tuning. The lessons will proceed through the steps a DBA will perform to acquire the information needed
PERFORMANCE TUNING IN MICROSOFT SQL SERVER DBMS
Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology IJCSMC, Vol. 4, Issue. 6, June 2015, pg.381
Performance Baseline of Hitachi Data Systems HUS VM All Flash Array for Oracle
Performance Baseline of Hitachi Data Systems HUS VM All Flash Array for Oracle Storage and Database Performance Benchware Performance Suite Release 8.5 (Build 131015) November 2013 Contents 1 System Configuration
Best Practices for Optimizing Storage for Oracle Automatic Storage Management with Oracle FS1 Series Storage ORACLE WHITE PAPER JANUARY 2015
Best Practices for Optimizing Storage for Oracle Automatic Storage Management with Oracle FS1 Series Storage ORACLE WHITE PAPER JANUARY 2015 Table of Contents 0 Introduction 1 The Test Environment 1 Best
Transaction Monitoring Version 8.1.3 for AIX, Linux, and Windows. Reference IBM
Transaction Monitoring Version 8.1.3 for AIX, Linux, and Windows Reference IBM Note Before using this information and the product it supports, read the information in Notices. This edition applies to V8.1.3
Oracle Database Capacity Planning. Krishna Manoharan [email protected]
Oracle Database Capacity Planning Krishna Manoharan [email protected] 1 Introduction Capacity Planning Capacity planning is essential to deliver a predetermined optimal/consistent user experience throughout
DBA Best Practices: A Primer on Managing Oracle Databases. Leng Leng Tan Vice President, Systems and Applications Management
DBA Best Practices: A Primer on Managing Oracle Databases Leng Leng Tan Vice President, Systems and Applications Management The following is intended to outline our general product direction. It is intended
One of the database administrators
THE ESSENTIAL GUIDE TO Database Monitoring By Michael Otey SPONSORED BY One of the database administrators (DBAs) most important jobs is to keep the database running smoothly, which includes quickly troubleshooting
Programa de Actualización Profesional ACTI Oracle Database 11g: SQL Tuning Workshop
Programa de Actualización Profesional ACTI Oracle Database 11g: SQL Tuning Workshop What you will learn This Oracle Database 11g SQL Tuning Workshop training is a DBA-centric course that teaches you how
SAP HANA - Main Memory Technology: A Challenge for Development of Business Applications. Jürgen Primsch, SAP AG July 2011
SAP HANA - Main Memory Technology: A Challenge for Development of Business Applications Jürgen Primsch, SAP AG July 2011 Why In-Memory? Information at the Speed of Thought Imagine access to business data,
The Complete Performance Solution for Microsoft SQL Server
The Complete Performance Solution for Microsoft SQL Server Powerful SSAS Performance Dashboard Innovative Workload and Bottleneck Profiling Capture of all Heavy MDX, XMLA and DMX Aggregation, Partition,
SQL Performance for a Big Data 22 Billion row data warehouse
SQL Performance for a Big Data Billion row data warehouse Dave Beulke dave @ d a v e b e u l k e.com Dave Beulke & Associates Session: F19 Friday May 8, 15 8: 9: Platform: z/os D a v e @ d a v e b e u
ESSBASE ASO TUNING AND OPTIMIZATION FOR MERE MORTALS
ESSBASE ASO TUNING AND OPTIMIZATION FOR MERE MORTALS Tracy, interrel Consulting Essbase aggregate storage databases are fast. Really fast. That is until you build a 25+ dimension database with millions
SAP Sybase Adaptive Server Enterprise Shrinking a Database for Storage Optimization 2013
SAP Sybase Adaptive Server Enterprise Shrinking a Database for Storage Optimization 2013 TABLE OF CONTENTS Introduction... 3 SAP Sybase ASE s techniques to shrink unused space... 3 Shrinking the Transaction
Oracle RAC Tuning Tips
There is More to Know By Kathy Gibbs, Senior DBA Confio Software 4772 Walnut Street, Suite 100 Boulder, CO 80301 866.CONFIO.1 www.confio.com Introduction When I first started working with RAC 8 years ago,
Performance Implications of Various Cursor Types in Microsoft SQL Server. By: Edward Whalen Performance Tuning Corporation
Performance Implications of Various Cursor Types in Microsoft SQL Server By: Edward Whalen Performance Tuning Corporation INTRODUCTION There are a number of different types of cursors that can be created
NetBeans Profiler is an
NetBeans Profiler Exploring the NetBeans Profiler From Installation to a Practical Profiling Example* Gregg Sporar* NetBeans Profiler is an optional feature of the NetBeans IDE. It is a powerful tool that
Using Database Performance Warehouse to Monitor Microsoft SQL Server Report Content
Using Database Performance Warehouse to Monitor Microsoft SQL Server Report Content Applies to: Enhancement Package 1 for SAP Solution Manager 7.0 (SP18) and Microsoft SQL Server databases. SAP Solution
Performance Considerations for Web Applications
Performance Considerations for Web Applications By Dr. Paul Dorsey & Michael Rosenblum, Dulcian, Inc. Many of the performance tuning techniques applied to client/server applications that consisted of rewriting
FileNet System Manager Dashboard Help
FileNet System Manager Dashboard Help Release 3.5.0 June 2005 FileNet is a registered trademark of FileNet Corporation. All other products and brand names are trademarks or registered trademarks of their
DBMS Performance Monitoring
DBMS Performance Monitoring Performance Monitoring Goals Monitoring should check that the performanceinfluencing database parameters are correctly set and if they are not, it should point to where the
Oracle9i Release 2 Database Architecture on Windows. An Oracle Technical White Paper April 2003
Oracle9i Release 2 Database Architecture on Windows An Oracle Technical White Paper April 2003 Oracle9i Release 2 Database Architecture on Windows Executive Overview... 3 Introduction... 3 Oracle9i Release
Quick Start SAP Sybase IQ 16.0
Quick Start SAP Sybase IQ 16.0 UNIX/Linux DOCUMENT ID: DC01687-01-1600-01 LAST REVISED: February 2013 Copyright 2013 by Sybase, Inc. All rights reserved. This publication pertains to Sybase software and
Oracle Database 11g: Performance Tuning DBA Release 2
Oracle University Contact Us: 1.800.529.0165 Oracle Database 11g: Performance Tuning DBA Release 2 Duration: 5 Days What you will learn This Oracle Database 11g Performance Tuning training starts with
Using AS/400 Database Monitor To Identify and Tune SQL Queries
by Rick Peterson Dale Weber Richard Odell Greg Leibfried AS/400 System Performance IBM Rochester Lab May 2000 Page 1 Table of Contents Introduction... Page 4 What is the Database Monitor for AS/400 tool?...
Monitoring Databases on VMware
Monitoring Databases on VMware Ensure Optimum Performance with the Correct Metrics By Dean Richards, Manager, Sales Engineering Confio Software 4772 Walnut Street, Suite 100 Boulder, CO 80301 www.confio.com
low-level storage structures e.g. partitions underpinning the warehouse logical table structures
DATA WAREHOUSE PHYSICAL DESIGN The physical design of a data warehouse specifies the: low-level storage structures e.g. partitions underpinning the warehouse logical table structures low-level structures
Live Event Count Issue
Appendix 3 Live Event Document Version 1.0 Table of Contents 1 Introduction and High Level Summary... 3 2 Details of the Issue... 4 3 Timeline of Technical Activities... 6 4 Investigation on Count Day
Oracle Rdb Performance Management Guide
Oracle Rdb Performance Management Guide Solving the Five Most Common Problems with Rdb Application Performance and Availability White Paper ALI Database Consultants 803-648-5931 www.aliconsultants.com
Many DBA s are being required to support multiple DBMS s on multiple platforms. Many IT shops today are running a combination of Oracle and DB2 which
Many DBA s are being required to support multiple DBMS s on multiple platforms. Many IT shops today are running a combination of Oracle and DB2 which is resulting in either having to cross train DBA s
SQL SERVER 2014 INSTALL GUIDE. By: Thomas LaRock
SQL SERVER 2014 INSTALL GUIDE By: Thomas LaRock SQL SERVER 2014 INSTALL GUIDE TABLE OF CONTENTS Why this guide? 03 Pre-Installation 03 Hardware and Software Requirements 03 Installing Microsoft.NET Framework
Database Studio is the new tool to administrate SAP MaxDB database instances as of version 7.5.
1 2 3 4 Database Studio is the new tool to administrate SAP MaxDB database instances as of version 7.5. It replaces the previous tools Database Manager GUI and SQL Studio from SAP MaxDB version 7.7 onwards
Working with the Geodatabase Using SQL
An ESRI Technical Paper February 2004 This technical paper is aimed primarily at GIS managers and data administrators who are responsible for the installation, design, and day-to-day management of a geodatabase.
Physical Data Organization
Physical Data Organization Database design using logical model of the database - appropriate level for users to focus on - user independence from implementation details Performance - other major factor
