MOTD Fact Sheet 04/10/2013 Hits: 988
This PDF provides details about our one-day Master Oracle Trace Data course taught by Cary MIllsap. It is designed to give you everything that you and your manager need to decide whether this course is right for you. It includes information about the content of the course, everything you get, the Method R software that’s included in the various course packages, pricing, discounts, how to host a course at your facility, and loads of endorsements from customers who have taken the course.
Why You Should Focus on LIOs Instead of PIOs - Cary Millsap 02/19/2013 Hits: 1181
Many Oracle educators teach that reducing the number of PIO calls should be the top priority of SQL optimization. However, in our field work, we commonly eliminate 50% or more of the response time from slow Oracle applications, even after they’ve been tuned to execute no PIO calls. The secret is that Oracle LIO calls are more expensive than many people understand. In this paper, I explain the following research results: (1) LIO processing is the number-one bottleneck for many business processes today, even on systems with “excellent” database buffer cache hit ratios. (2) Excessive LIO call frequency is a major scalability barrier, because LIOs consume two of the system’s most expensive resources: CPU and latches. (3) Even if you could have an infinite amount of memory and achieve a perfect 100% database buffer cache hit ratio, your system will be inefficient and unscalable if it executes more Oracle LIO calls than it needs to. (4) The statistics that database administrators commonly track can lead you to believe that PIO processing is your bottleneck when it’s not. Do not increase disk or memory capacity until after you determine the impact of PIO latency upon your end-user response times. (5) If you will focus on LIO reduction from the very beginning of a SQL optimization task instead of PIO reduction, then you will usually eliminate most of your PIOs by side-effect, because most of your PIOs are motivated by LIO calls in the first place.
Method R Software White Paper #1: A First Look at Using Method R Workbench Software 12/20/2012 Hits: 2460
Many people underestimate the value and overestimate the difficulty of Oracle tracing. Tracing is unique in how well it directly connects objective performance data to end-user performance experiences. This makes it the ideal bridge among a business’s users, its software developers, and its operational runtime support staff. With the right understanding and tools, tracing is no more difficult to obtain than other forms of Oracle diagnostic data. This paper demonstrates how to use the Method R Workbench software package to convert trace files into profiles, repair an improperly collected trace file, use profiles to diagnose an Oracle-based software performance problem, predict the effect of proposed remedies upon the end-user performance experience, fix the problem, assess the fix for potential side-effects, and then measure the end-user experience after the fix.
My Case for Agile 06/27/2011 Hits: 4777
Among many of my Oracle database administrator (DBA) friends, “agile” is widely regarded as a dirty word, a synonym for “sloppy.” However, adopting the principles of the Agile Manifesto (specifically, the implementation of the Agile Manifesto called Extreme Programming, or XP) has radically improved the commercial and technical success of projects that I’ve worked on. Agile principles have enriched my entire life—not just professionally, but personally. The contradiction between the typical DBA’s perception of “agile” and my own is profound. This paper describes my experiences with Agile values and my implementation of them. I describe the circumstances that have led me to believe passionately that it’s XP that will best assure the success of my projects. I describe what has worked for me and why, and I describe what hasn’t worked and why.
Mastering Performance with Extended SQL Trace 02/24/2011 Hits: 10925
Oracle's extended SQL trace data stream contains a linear sequential record of every database call and every operating system call that the Oracle kernel executes in response to the code that you write. The trace file contains timings that enable you to precisely measure how long your code takes to run and why. The detailed information about individual database calls and operating system calls is vital to building scalable applications (as well as troubleshooting them in production). The information in there is a gold mine, and some of it is available nowhere else.
Thinking Clearly About Performance - Cary Millsap 05/11/2010 Hits: 17417
Creating high-performance as an attribute of complex software is extremely difficult business for developers, technology administrators, architects, system analysts, and project managers. However, by understanding some fundamental principles, performance problem solving and prevention can be made far simpler and more reliable. This paper describes those principles, linking them together in a coherent journey covering the goals, the terms, the tools, and the decisions that you need to maximize your application’s chance of having a long, productive, high-performance life. Examples in this paper touch upon Oracle experiences, but the scope of the paper is not restricted to Oracle products.
Fundamentals of Software Performance Quick Reference Card - Cary Millsap 01/07/2010 Hits: 6609
This two-page quick reference card written by Cary Millsap sums up computer software performance the Method R way. The first page lists definitions of the terms you need to know: efficiency, knee, load, response time, and so on. The second page lists ten principles that are vital to your ability to think clearly about software performance. This document contains meaningful insight in a format that's compact enough to hang on your wall.
Managing Statistics for Optimal Query Performance - Karen Morton 02/10/2009 Hits: 13215
Half the battle of writing good SQL is in understanding how the Oracle query optimizer analyzes your code and applies statistics in order to derive the “best” execution plan. The other half of the battle is successfully applying that knowledge to the databases that you manage. The optimizer uses statistics as input to develop query execution plans, and so these statistics are the foundation of good plans. If the statistics supplied aren’t representative of your actual data, you can expect bad plans. However, if the statistics are representative of your data, then the optimizer will probably choose an optimal plan.
For Developers: Making Friends with the Oracle Database - Cary Millsap 01/07/2009 Hits: 11557
To many application developers, a database is just a “data store” with an API that they call when they need to persist an object. It’s an abstraction that makes sense from one perspective: in a world where you’re expected to write dozens of new features every day in Java, PHP, or C#, who has the time or the inclination to dive into what’s going on deep inside the Oracle Database? As a result of this abstraction, though, developers sometimes inflict unintended performance horrors upon their customers. The good news is that you can avoid most of these horrors simply by better understanding a bit more about what’s going on inside the Oracle kernel. The trick is knowing which details you need to study, and which you can safely learn later. This presentation describes, from a developer’s perspective, some of the most important code paths inside the Oracle kernel that can make the difference between an application that breaks down under load and one that can scale to thousands of users.
The Oracle Advisors from a Different Perspective - Karen Morton 12/19/2008 Hits: 4890
Oracle continues to add more and more automated features and advisors to assist with diagnosing and fixing problems. Given all this automation and advice Oracle is providing, a question to ask is whether or not all this advice is "dumbing us down" or "smartening us up". This paper explores this question and asks you to consider "Are you a monkey or an astronaut"?
Measure Once, Cut Twice - Cary Millsap 12/19/2008 Hits: 4468
“Measure Twice, Cut Once” is a reminder that careful planning yields better gratification than going too quickly into operations that can’t be undone. Sometimes, however, it’s better to Measure Once, Cut Twice. It’s one of the secrets behind how carpenters hang square cabinets in not-so-square kitchens. And it’s one of the secrets behind how developers write applications that are easy to fix when they cause performance problems in production use. The key is to know which details you can plan for directly, and which details you simply can’t know and therefore have to defend yourself against.
An Industrial Engineer's Approach to Managing Oracle Databases - Robyn Sands 03/11/2008 Hits: 5000
This paper is an introduction to several concepts used in the manufacturing industry to improve efficiency. Some of these concepts will be compared to existing, well known methods in database management to demonstrate commonality between the disciplines. Other concepts will be explored to determine if there is a potential to develop new tools for database management. This paper discusses variation and why variation should be minimized where practical. The potential use of variation as a tool in performance measurement will be explored.
Performance Management Myths & Facts 06/28/1999 Hits: 4679
(This is the original document published June 28, 1999, brought to you here with the kind permission of Oracle Corporation.) Performance management consists of problem diagnosis and repair, resource management, application optimization, and capacity planning. In constructing a reliable performance management method for hundreds of Oracle database sites, my colleagues and I have encountered bits of interesting folklore that, ironically, block progress toward the ultimate goal of lasting system performance satisfaction. In this paper, I will take a fun look at the dangers of several popular but bad guidelines, and I will offer alternative advice that helps you avoid the risk of costly performance management mistakes while not losing sight of the friendly goals: fast, easy, and cheap.
System Architect’s Essential Role in Open Systems Implementations - Cary Millsap 05/19/1998 Hits: 2928
(This is the original document published May 18, 1998, brought to you here with the kind permission of Oracle Corporation.) The enormous variety of technology options available in today’s open systems environment makes the role of system architect more critical than ever on both large and small projects. More component options have led to greater flexibility and lower component prices, but also to greater complexity and, in turn, to greater risk of implementation project failure or delay due to technical miscalculations or inappropriate assumptions. System architecture is the discipline that addresses the difficult technical issues inherent in a complex software system implementation. In spite of the importance of system architecture design, many information systems practitioners lack adequate understanding of this subject area, resulting in many costly mistakes throughout information technology organizations worldwide. This paper explains the types of technical challenges the system architect must address. It illustrates the role of the system architect, the type of person required to fill that role, and the types of authority and information access that this person needs to perform effectively in the role. Finally, it describes procedures and an approach that a good system architect uses to reduce the technology risk in a software application implementation project.
Configuring Oracle Server for VLDB - Cary Millsap 08/21/1996 Hits: 3626
(This is the original document published August 21, 1996, brought to you here with the kind permission of Oracle Corporation.) This paper will help the reader configure a very large Oracle Server database (VLDB) for high performance and high availability with low maintenance. It describes decisions about database block size, RAID technology and raw devices, redo log files, tablespace partitioning, storage parameters, and rollback segments. This paper explores the technologies and trade-off constraints associated with these issues and presents technically detailed methods for optimizing a configuration within these trade-offs.
Designing Your System to Meet Your Requirements - Cary Millsap 01/03/1996 Hits: 3405
(This is the original document published January 3, 1996, brought to you here with the kind permission of Oracle Corporation.) The technical architect of an application system is responsible for building a system that meets the goals of the end users. To succeed, this person must combine the right hardware components with suitable application architectures, always obeying complex functional, operational, and economic constraints. This job is complicated. A noticeable lack of good tools, methods, and experience have made it all the more difficult. Yet an inadequate technical architecture will doom an application. Oracle’s success in the mainframe downsizing market has begun to produce tools, methods, and experience that tremendously reduce technical architecture risk. This paper will identify factors critical to the success of a technical architecture design project. We will discuss successful methods used at the most demanding relational database projects in the world, and we will tell you how to use those methods to make your application succeed.
OFA Standard—Oracle for Open Systems - Cary Millsap 09/24/1995 Hits: 4263
(This is the original document published September 24, 1995, brought to you here with the kind permission of Oracle Corporation.) The OFA Standard is a set of configuration guidelines that will give you faster, more reliable Oracle databases that require less work to maintain. The OFA Standard is written by the founder of the Oracle team responsible for installing, tuning, and upgrading several hundreds of sites worldwide since 1990—this paper is based on the best practices of those hundreds of sites. Today the "Optimal Flexible Architecture" described in the OFA Standard is built into the Oracle configuration tools and documentation on all open systems ports. This paper formally defines the OFA Standard for configuring complex Oracle systems at sites demanding high performance with low maintenance under continually evolving requirements. It also details how the OFA is derived from requirements essential to successful implementation of complicated software on any system. Along with the definition of the OFA, this paper will also reveal the strategy and analysis that motivate the individual recommendations of Oracle Services’ Optimal Flexible Architecture. By reading this paper, you will more fully understand the challenges that confront the Oracle Server configuration planner.