Transcript Jerry Held

Session id: 40092
The Self-managing Database:
Automatic Performance Diagnosis
Graham Wood
Kyle Hailey
Oracle Corporation
Problem Definition
 Performance Diagnosis & Tuning is complex
 Diagnosis often requires additional data capture
 Database wide view of operations is lacking
 Data overload rather than information
 Misguided tuning efforts waste time & money
Problem Solution: Oracle10g
 Performance Diagnosis & Tuning are complex
automated problem diagnosis
 Diagnosis often requires additional data capture
complete, lightweight capture of workload
data
 Database wide view of operations is lacking
holistic time based analysis
 Data overload rather than information
reports top problems and solutions
 Misguided tuning efforts
reports non-problem areas
Oracle Database 10g –
Self-Managing Database
Application & SQL
Management
Storage
Management
Database
Control
System Resource
Management
Database
Backup & Recovery
Management
Management
Intelligent
Infrastructure
Space
Management
Intelligent Infrastructure
 Automatic Workload
Repository
Advisory
Application
& SQL
Management
Infrastructure
–
–
Storage
System Resource
Server-generated Alert
Management
Management
Infrastructure
Automatic Maintenance Task
Space
Backup & Recovery
Infrastructure
Management
Database
Management
Management
Automatic Workload
IntelligentRepository
Infrastructure
“Data Warehouse” of the
Database
Code instrumentation
 Automatic Maintenance
Tasks
–
Pre-packaged, resource
controlled
 Server-generated Alerts
–
Push vs. Pull, Just-in-time,
Out-of-the-box
 Advisory Infrastructure
–
Integrated, uniform
Automatic Database
Diagnostic Monitor (ADDM)
Application & SQL
Management
Storage
Management
System Resource
Management
Backup & Recovery
Database
Management
Space
Management
Management
Intelligent Infrastructure
 Performance Diagnostic
engine in the database
 Automatically diagnoses
performance problems
 Provides Root Cause
Analysis with recommended
solutions
 Identifies non-problems
areas
 Integrates all components
Proactive and effective tuning
Performance Monitoring Solutions
In memory
statistics
SGA
Snapshots
Alerts
ADDM
Proactive Monitoring
ADDM Results
Workload Repository
Reactive Monitoring
Automatic Workload Repository
(AWR)
a.k.a. Statspack++
Server captures workload data
•
•
•
•
Every 30 minutes, or manually
Efficient capture
Self manages space requirements
Saves data for 7 days by default
Automatic Workload Repository
(AWR)
Classes of Data




BASE STATISTICS e.g. physical reads
SQL STATISTICS e.g. disk reads (per sql stmt)
METRICS e.g. physical reads / sec
ACTIVE SESSION HISTORY
e.g. sid : 10
event : db file sequential read
file# : 33, block# : 209, obj# : 19
time : 20000 μs
New Base Statistics
Extensive code instrumentation
 Time Model (v$sys_time_model)
–
–
–
–
–
Java Exec
Db time
Connection Management (logon, logoff)
Parse (hard, soft, failed,..)
SQL, PLSQL and Java execution times
 Wait Model (v$system_event)
–
Parse
700 different wait events
12 wait classes
 OS Stats (v$osstat)
– CPU + Memory
Conn Mgmt
PLSQL Exec
SQL Exec
New SQL Statistics
 SQL_id – more unique hash value
 SQL statement statistics
–
–
–
Wait class time
PLSQL time
Java time
 Sampled bind values (v$sql_bind_capture)
 Efficient top SQL identification using Δs in the kernel,
by 6 dimensions:
–
–
–
–
CPU
Elapsed
Parse
...
Active Session History (ASH)
• Samples active sessions every second into memory
(v$active_session_history)
• Direct access to kernel structures
• Selected samples flushed to AWR
• Data captured includes:
–
–
–
–
–
–
SID
SQL ID
Program, Module, Action
Wait event#
Object, File, Block
actual wait time (if captured while waiting)
Sampled history of v$session_wait
Performance Monitoring Solutions
In memory
statistics
SGA
Snapshots
Alerts
ADDM
Proactive Monitoring
ADDM Results
Workload Repository
Reactive Monitoring
ADDM’s Architecture
Snapshots in
Automatic Workload
Repository
AutomaticDiagnostic
DiagnosticEngine
Engine
Automatic
High-load
SQL
IO / CPU
issues
SQL
Advisor
System
Sizing
Advice
RAC issues
Network +
DB config
Advice
 Uses Time & Wait Model
data from Workload
Repository
 Classification Tree is
based on decades of
Oracle performance
tuning expertise
 Time based analysis
 Recommends solutions
or next steps
 Runs proactively &
manually
ADDM Methodology
Top down analysis of where time is spent
 Period Analysis using AWR snapshots
 Throughput centric
 Focus on reducing time ‘DB time’
 Time based quantification
 Problems with impact
 Recommendations with benefit
ADDM Methodology
Problem classification system
Decision tree based on the Wait Model and Time Model Stats
……
……
RAC Waits
Buffer Busy
System Wait
Concurrency
IO Waits
Symptoms
Parse Latches
……
Buf Cache latches
Root Causes
ADDM Methodology
Problem classification system
Decision tree based on the Wait Model and Time Model Stats
……
……
RAC Waits
Buffer Busy
System Wait
Concurrency
IO Waits
Non - Problems areas.
Parse Latches
Buf Cache latches
……
Top Performance Issues
Not rocket science anymore
- Top SQL
- IO Issues
-Bandwidth, Hot Files
- Parsing
- hard, soft, failed
- Configuration issues
- Log file sizing
- Log buffer sizing
- Archiving
- MTTR settings.
- Application usage
Top Performance Issues
Not diagnosable using Statspack data
- Excessive Logon/Logoff
- Undersized memory
-SGA, PGA
- Hot Blocks & Objects with SQL
-buffer busy waits
-cache buffer chain latches
- RAC service issues
- network, LMS, remote instance
- Locks & ITL contention with object & SQL
- Checkpoint causes
- PL/SQL, Java time
ADDM Output
 Set of Findings with impact
– Root cause
– Symptoms
– Non-problem areas
 Recommendations with benefit and rationale
 Inference Path of the analysis
 Output in Advisor Framework
 Externalized through EM screens or ADDM report
Database Home Page
ADDM Findings
ADDM Recommendations
Performance Diagnostic: Before and Now
Scenario: Hard parse problems
Before










Examine system utilization
Look at wait events
Observe latch contention
See wait on shared pool and library cache latch
Review v$sysstat
See “parse time elapsed” > “parse time cpu” and #hard
parses greater than normal
Identify SQL by..
 Identifying sessions with many hard parses and trace
them, or
 Reviewing v$sql for many statements with same hash
plan
Examine objects accessed and review SQL
Identify “hard parse” issue by observing the SQL contains
literals
Enable cursor sharing
Oracle10G


Review ADDM
recommendations
ADDM recommends
use of cursor_sharing
Performance Monitoring Solutions
In memory
statistics
SGA
Snapshots
Alerts
ADDM
Proactive Monitoring
ADDM Results
Workload Repository
Reactive Monitoring
Reactive Monitoring Overview
 Reactive monitoring may still be necessary
–
–
–
–
User calls up
Real time problem diagnosis
Validate ADDM diagnosis
When an alert is raised
 Uses new AWR data sources
 Integrates graphical displays with ADDM
 Oracle provides an integrated performance
management console using all relevant data
sources
EM Product Layout for
Performance
Database Home Page
Database Performance Page
Drilldowns
SQL
Session
EM Pages Layout
Home Page
Perf Page
Top Session
ADDM
Wait Detail
SQL Detail
Top SQL
Session Detail
ADDM Details
Buffer Busy Waits Case Study
Two Paths
Home Page
Perf Page
Top Session
ADDM
Wait Detail
SQL Detail
Top SQL
Session Detail
ADDM Details
ADDM Path
Home Page
Perf Page
Top Session
ADDM
Wait Detail
SQL Detail
Top SQL
Session Detail
ADDM Details
Database Home Page
ADDM Home
Home Page
Perf Page
Top Session
ADDM
Wait Detail
SQL Detail
Top SQL
Session Detail
ADDM Details
ADDM Home
ADDM Details
Home Page
Perf Page
Top Session
ADDM
Wait Detail
SQL Detail
Top SQL
Session Detail
ADDM Details
ADDM Details
Manual Path
Home Page
Perf Page
Top Session
ADDM
Wait Detail
SQL Detail
Top SQL
Session Detail
ADDM Details
Database Home Page
Database Home Page
Database Home Page
Performance Page
Home Page
Perf Page
Top Session
Top SQL
SQL Detail
ADDM
Wait Detail
Session Detail
ADDM Details
Performance Page
Performance Page highlight
Wait Drill Down
Home Page
Perf Page
Top Session
ADDM
Wait Detail
SQL Detail
Top SQL
Session Detail
ADDM Details
Wait Drill Down
Wait Drill Down highlight
Wait Drill Down
Wait Drill Down
Wait Drill Down highlight
Wait Drill Down – Top SQL
SQL Details
Home Page
Perf Page
Top Session
ADDM
Wait Detail
SQL Detail
Top SQL
Session Detail
ADDM Details
SQL Details
Problem Solution: Oracle10g
 Performance Diagnosis & Tuning are complex
ADDM performs automated problem
diagnosis
 Diagnosis often requires additional data capture
AWR performs capture of workload data
 Database wide view of operations is lacking
ADDM performs holistic time based analysis
 Data overload rather than information
EM reports ADDM findings and solutions
 Misguided tuning efforts
ADDM reports non-problem areas
Conclusion
 Oracle 10g revolutionizes performance
management
–
–
–
–
Built in automatic diagnostic engine
Extensive code instrumentation
Automatic collection of workload information
Proactive performance diagnostics and
recommendations
 The new Enterprise Manager provides an
integrated performance management console
using all relevant data sources
Next Steps….
 Recommended hands-on labs
–
Oracle Database 10g : Manage the Oracle Environment Hands-On
Lab
 Campground Demos
–
–
–
–
–
Self-Managing Database : Easy Upgrade
Self-Managing Database:Invisible Installation & Deployment
Self-Managing Database: Proactive Performance Management
Self-Managing Database: Automatic Memory Management
Self-Managing Database: Proactive Space Management
 Relevant web sites to visit for more information
–
http://otn.oracle.com/products/manageability/database
Next Steps….
 Recommended sessions
–
–
–
–
–
The Self-Managing Database: Guided Application & SQL
Tuning (Tuesday, 3:30 PM)
The Self-Managing Database: Automatic SGA Memory
Management (Tuesday, 5:00 PM)
The Invisible Oracle: Deploying Oracle Database in
Embedded Environment (Wednesday, 4:30 PM)
The Self-Managing Database: Proactive Space and Schema
Object Management (Thursday, 8:30 AM)
The Self-Managing Database: Automatic Health Monitoring
(Thursday, 11 AM)
QUESTIONS
ANSWERS
Reminder –
please complete the
OracleWorld online session
survey
Session id: 40092
Thank you.