2. Agenda
Oracle Text Overview
Introduction
Problem
Proposition
Reasoning
Tuning Area
Solution
Application Tuning
Training & Reference
Questions
3. Introduction
I am a forward-looking Information Systems Architect with a
solid Oracle DBA background comprising the daily
infrastructure tasks of the DBA, several projects as a Data
Modeler, and performance management projects.
I Started on the mainframe business, and soon had a deep dive
in application development for Oracle databases. After
acquiring an Oracle certification, I worked on performance
enhancement for applications using Oracle databases, and later
worked several years as an infrastructure DBA, later I worked
on data modeling projects and more recently a performance
management project, on both application and database layers.
4. “Knowledge is of two kinds.
We know a subject ourselves, or we
know where we can find
information upon it.
Samuel Johnson
5. Problem
• Business Disruption
• Call Centers Losing Sales
• Loss of Customer Trust & Satisfaction
• Applications
• Not designed for best performance
• Frequent changes
• Servers
• Upgrades limited by hardware
• New server - not a long term solution
6. Proposition
• Applications
• Do not act within application with only application knowledge
• Servers and Database
• Do not act within database with only database knowledge
Do act within Application with Servers and Database
knowledge
7. Reasoning
• Where should the tuning effort be directed?
• Database Design:
Poor system performance usually results from a poor database design.
• Application Tuning:
Experience shows that approximately 80% of all Oracle system performance problems are resolved by
coding optimal SQL.
• Memory Tuning:
Properly size your database buffers by looking at your wait events, buffer hit ratios, system swapping and
paging, etc.
• Disk I/O Tuning:
Database files needs to be properly sized and placed to provide maximum disk subsystem throughput.
• Eliminate Database Contention:
Study database locks, latches and wait events carefully and eliminate where possible.
• Tune the Operating System:
Monitor and tune operating system CPU, I/O and memory utilization.
(Source: http://www.orafaq.com/wiki/Oracle_database_Performance_Tuning_FAQ)
8. Tuning Area Chosen
It’s clear we should prioritize Application Tuning due to its impact in
performance
Impact
90%
80%
70%
60%
50%
40%
30%
20%
10%
0%
Impact
* Most cost-effective approach on solving performance problems.
10. Application Tuning
Starts with good knowledge of SQL and PL/SQL
Oracle Database features (special indexes, materialized views, execution plan, …)
Metalink:
Oracle Performance Diagnostic Guide (OPDG) [ID 390374.1]
Tools:
ADDM (Automated Database Diagnostics Monitor) Oracle 10g
TKProf
Trace and Trace Analyzer
Statspack
Oracle Enterprise Manager - Tuning Pack (cost option)
Old UTLBSTAT.SQL and UTLESTAT.SQL - Begin and end stats
monitoring
11. Training
Resources at Oracle website
•Performance Tuning Guide and Reference
http://docs.oracle.com/cd/B10500_01/server.920/a96533/toc.htm
•SQL Reference
http://docs.oracle.com/cd/B10500_01/server.920/a96540/toc.htm
•PL/SQL User's Guide and Reference
http://docs.oracle.com/cd/B10500_01/appdev.920/a96624/toc.htm
Look at my publications in LinkedIn for specific tuning approaches.