Oracle Database 11gR2 Performance Tuning Cookbook

Oracle Database 11gR2 Performance Tuning Cookbook
eBook: $32.99
Formats: PDF, PacktLib, ePub and Mobi formats
save 15%!
Print + free eBook + free PacktLib access to the book: $87.98    Print cover: $54.99
save 37%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Table of Contents
Sample Chapters
  • Learn the right techniques to achieve best performance from the Oracle Database
  • Avoid common myths and pitfalls that slow down the database
  • Diagnose problems when they arise and employ tricks to prevent them
  • Explore various aspects that affect performance, from application design to system tuning

Book Details

Language : English
Paperback : 542 pages [ 235mm x 191mm ]
Release Date : January 2012
ISBN : 1849682607
ISBN 13 : 9781849682602
Author(s) : Ciro Fiorillo
Topics and Technologies : All Books, Enterprise Products and Platforms, Cookbooks, Enterprise, Oracle

Table of Contents

Chapter 1: Starting with Performance Tuning
Chapter 2: Optimizing Application Design
Chapter 3: Optimizing Storage Structures
Chapter 4: Optimizing SQL Code
Chapter 5: Optimizing Sort Operations
Chapter 6: Optimizing PL/SQL Code
Chapter 7: Improving the Oracle Optimizer
Chapter 8: Other Optimizations
Chapter 9: Tuning Memory
Chapter 10: Tuning I/O
Chapter 11: Tuning Contention
Appendix A: Dynamic Performance Views
Appendix B: A Summary of Oracle Packages Used for Performance Tuning
  • Chapter 1: Starting with Performance Tuning
    • Introduction
    • Reviewing the performance tuning process
    • Exploring the example database
    • Acquiring data using a data dictionary and dynamic performance views
    • Analyzing data using Statspack reports
    • Diagnosing performance issues using the alert log
    • Analyzing data using Automatic Workload Repository (AWR)
    • Analyzing data using Automatic Database Diagnostic Monitor (ADDM)
    • A working example
    • Chapter 2: Optimizing Application Design
      • Introduction
      • Optimizing connection management
      • Improving performance sharing reusable code
      • Reducing the number of requests to the database using stored procedures
      • Reducing the number of requests to the database using sequences
      • Reducing the number of requests to the database using materialized views
      • Optimizing performance with schema denormalization
      • Avoiding dynamic SQL
      • Chapter 3: Optimizing Storage Structures
        • Introduction
        • Avoiding row chaining
        • Avoiding row migration
        • Using LOBs
        • Using index clusters
        • Using hash clusters
        • Indexing the correct way
        • Rebuilding index
        • Compressing indexes
        • Using reverse key indexes
        • Using bitmap indexes
        • Migrating to index organized tables
        • Using partitioning
        • Chapter 4: Optimizing SQL Code
          • Introduction
          • Using bind variables
          • Avoiding full table scans
          • Exploring index lookup
          • Exploring index skip-scan and index range-scan
          • Introducing arrays and bulk operations
          • Optimizing joins
          • Using subqueries
          • Tracing SQL activity with SQL Trace and TKPROF
          • Chapter 5: Optimizing Sort Operations
            • Introduction
            • Sorting—in-memory and on-disk
            • Sorting and indexing
            • Writing top n queries and ranking
            • Using count, min/max, and group-by
            • Avoiding sorting in set operations: union, minus, and intersect
            • Troubleshooting temporary tablespaces
            • Chapter 6: Optimizing PL/SQL Code
              • Introduction
              • Using bind variables and parsing
              • Array processing and bulk-collect
              • Passing values with NOCOPY (or not)
              • Using short-circuit IF statements
              • Avoiding recursion
              • Using native compilation
              • Taking advantage of function result cache
              • Inlining PL/SQL code
              • Using triggers and virtual columns
              • Chapter 7: Improving the Oracle Optimizer
                • Introduction
                • Exploring optimizer hints
                • Collecting statistics
                • Using histograms
                • Managing stored outlines
                • Introducing Adaptive Cursor Sharing for bind variable peeking
                • Creating SQL Tuning Sets
                • Using the SQL Tuning Advisor
                • Configuring and using SQL Baselines
                • Chapter 8: Other Optimizations
                  • Introduction
                  • Caching results with the client-side result cache
                  • Enabling parallel SQL
                  • Direct path inserting
                  • Using create table as select
                  • Inspecting indexes and triggers overhead
                  • Loading data with SQL*Loader and Data Pump
                  • Chapter 9: Tuning Memory
                    • Introduction
                    • Tuning memory to avoid Operating System paging
                    • Tuning the Library Cache
                    • Tuning the Shared Pool
                    • Tuning the Program Global Area and the User Global Area
                    • Tuning the Buffer Cache
                    • Chapter 10: Tuning I/O
                      • Introduction
                      • Tuning at the disk level and strategies to distribute Oracle files
                      • Striping objects across multiple disks
                      • Choosing different RAID levels for different Oracle files
                      • Using asynchronous I/O
                      • Tuning checkpoints
                      • Tuning redo logs
                      • Chapter 11: Tuning Contention
                        • Introduction
                        • Detecting and preventing lock contention
                        • Investigating transactions and concurrency
                        • Tuning latches
                        • Tuning resources to minimize latch contention
                        • Minimizing latches using bind variables
                        • Appendix A: Dynamic Performance Views
                          • ALL_OBJECTS
                          • DBA_BLOCKERS
                          • DBA_DATA_FILES
                          • DBA_EXTENTS
                          • DBA_INDEXES
                          • DBA_SQL_PLAN_BASELINES
                          • DBA_TABLES
                          • DBA_TEMP_FILES
                          • DBA_VIEWS
                          • DBA_WAITERS
                          • INDEX_STATS
                          • DBA_SEQUENCES
                          • DBA_TABLESPACES
                          • DBA_TAB_HISTOGRAMS
                          • V$ADVISOR_PROGRESS
                          • V$BUFFER_POOL_STATISTICS
                          • V$CONTROLFILE
                          • V$DATAFILE
                          • V$DB_CACHE_ADVICE
                          • V$DB_OBJECT_CACHE
                          • V$ENQUEUE_LOCK
                          • V$FILESTAT
                          • V$FIXED_TABLE
                          • V$INSTANCE_RECOVERY
                          • V$LATCH
                          • V$LATCH_CHILDREN
                          • V$LIBRARYCACHE
                          • V$LOCK
                          • V$LOCKED_OBJECT
                          • V$LOG
                          • V$LOG_HISTORY
                          • V$LOGFILE
                          • V$MYSTAT
                          • V$PROCESS
                          • V$ROLLSTAT
                          • V$ROWCACHE
                          • V$SESSION
                          • V$SESSION_EVENT
                          • V$SESSTAT
                          • V$SGA
                          • V$SGAINFO
                          • V$SHARED_POOL_RESERVED
                          • V$SORT_SEGMENT
                          • V$SQL
                          • V$SQL_PLAN
                          • V$SQLAREA
                          • V$STATNAME
                          • V$SYSSTAT
                          • V$SYSTEM_EVENT
                          • V$TEMPFILE
                          • V$TEMPSTAT
                          • V$WAITSTAT
                          • X$BH

                            Ciro Fiorillo

                            Ciro Fiorillo is an IT professional and consultant with experience of more than a decade in different roles (developer, analyst, DBA, project manager, data and software architect) among software industries. He has worked on different technologies and architectures, such as Oracle, SQL Server, Delphi, C# and .NET Framework, C/C++, Java, PHP, COBOL, Fortran, and Tibco. Ciro is currently employed as Lead Software and Data Architect with FinWin Srl, a software house specializing in banking and loans applications. As a freelancer he writes articles for websites and printed magazines about software and computing, participates in workshops, and teaches C++ and Fortran parallel programming with Intel Software tools. Ciro can be reached at
                            Sorry, we don't have any reviews for this title yet.

                            Code Downloads

                            Download the code and support files for this book.

                            Submit Errata

                            Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.

                            Sample chapters

                            You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

                            Frequently bought together

                            Oracle Database 11gR2 Performance Tuning Cookbook +    Oracle APEX 4.0 Cookbook =
                            50% Off
                            the second eBook
                            Price for both: $47.10

                            Buy both these recommended eBooks together and get 50% off the cheapest eBook.

                            What you will learn from this book

                            • Design applications that run at lightning speed
                            • Implement fast and scalable SQL and PL/SQL code
                            • Choose the correct structures to store the data and access them
                            • Optimize sort operations, such as order-by, Top-N queries, ranking, and set operators
                            • Help the optimizer to choose the right access plan to retrieve data at the best available speed
                            • Load data in the database at a faster speed by using the correct tools and options
                            • Tune the database memory to obtain maximum performance using available resources
                            • Tune the I/O operations, by designing a database over the I/O system
                            • Tune and reduce contention issues on data and structures by using an optimal design

                            In Detail

                            Oracle's Database offers great performance, scalability, and many features for DBAs and developers. Due to a wide choice of technologies, successful applications are good candidates to run into performance issues and when a problem arises it's very difficult to identify the cause and the right solution to the problem.

                            The Oracle Database 11g R2 Performance Tuning Cookbook helps DBAs and developers to understand every aspect of Oracle Database that can affect performance. You will be guided through implementing the correct solution in a proactive way before problems arise, and how to diagnose issues on your Oracle database-based solutions.

                            This fast-paced book offers solutions starting from application design and development, through the implementation of well-performing applications, to the details of deployment and delivering best-performance databases.

                            With this book you will quickly learn to apply the right methodology to tune the performance of an Oracle Database, and to optimize application design and SQL and PL/SQL code. By following the real-world examples you will see how to store your data in correct structures and access and manipulate them at a lightning speed. You will learn to speed up sort operations, hack the optimizer and the data loading process, and diagnose and tune memory, I/O, and contention issues.

                            The purpose of this cookbook is to provide concise recipes, which will help you to build and maintain a very high-speed Oracle Database environment.

                            Effectively apply performance tuning principles with concise recipes


                            In this book you will find both examples and theoretical concepts covered.

                            Every recipe is based on a script/procedure explained step-by-step, with screenshots, while theoretical concepts are explained in the context of the recipe, to explain why a solution performs better than another.

                            Who this book is for

                            This book is aimed at software developers, software and data architects, and DBAs who are beginning to use the Oracle Database, and want to solve performance problems faster and in a rigorous way.

                            If you are an architect who wants to design fast performing applications, a DBA who is keen to dig into the causes of performance issues, or a developer who wants to learn why and where the application is running slowly this book will provide a good start for your career in performance tuning.

                            Code Download and Errata
                            Packt Anytime, Anywhere
                            Register Books
                            Print Upgrades
                            eBook Downloads
                            Video Support
                            Contact Us
                            Awards Voting Nominations Previous Winners
                            Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
                            Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software