Oracle Database 11gR2 Performance Tuning Cookbook
Formats:
save 15%!
save 37%!
Free Shipping!
| Also available on: |
|
- 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 : EnglishPaperback : 542 pages [ 235mm x 191mm ]
Release Date : January 2012
ISBN : 1849682607
ISBN 13 : 9781849682602
Author(s) : Ciro Fiorillo
Topics and Technologies : All Books, Cookbooks, Enterprise, Oracle
Table of Contents
PrefaceChapter 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
Index
- 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
- Appendix B: A Summary of Oracle Packages Used for Performance Tuning
- DBMS_ADDM
- DBMS_ADVISOR
- DBMS_JOB
- DBMS_LOB
- DBMS_MVIEW
- DBMS_OUTLN
- DBMS_OUTLN_EDIT
- DBMS_SHARED_POOL
- DBMS_SPACE
- DBMS_SPM
- DBMS_SQL
- DBMS_SQLTUNE
- DBMS_STATS
- DBMS_UTILITY
- DBMS_WORKLOAD_REPOSITORY
Ciro Fiorillo
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.
- 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
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.
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.

