Professional Documents
Culture Documents
SQL
Profiling Create a SQL
Profile
DBA
Access Path Add Missing
Analysis Indexes
SQL
Profiling Create a SQL
Profile
• Fix potential regression
– show verified
after upgrade
benefit
• Verify benefit through DBA
test-execution
Access Path
Analysis Add Missing Indexes
SQL Structure
Analysis Modify SQL Constructs
Testing SQL Profiles (1)
Measuring actual benefit with test-execution
Naïve: Execute in Order
P1 P2 Finish, P2 wins!
P1
Round 1: P1 P2
15 sec 15 sec
Round 2: P1 P2
30 sec 16 sec
Evaluate
Implement Recommendations
one hour
DBA
ADDM Invoke
Advisor
SQL Tuning
AWR SQL Tuning Candidates Advisor
Workload
Generate
Recommendations
Choose
Candidate
SQL SQL Tuning
Candidates
one It’s Automatic!
week
View Reports /
AWR Control
DBA Process
Picking Candidate SQL (1)
S1, 10 minutes
S2, 8 minutes Week’s Top SQL,
AWR S3, 5 minutes
Ordered by DB
Time
S4, 1 minute
AWR
Weekly Daily Hourly Average Exec
AWR
Weekly Daily Hourly Average Exec
20% 10%
65% 5%
Candidate List
Candidate SQLs
– Store findings, exec stats – Fetch next SQL
– Tournament competition
Focus on SQL Profiles
First step in automating SQL tuning
• Out-of-the-box defaults:
• Runs in each maintenance window
(MAINTENANCE_WINDOW_GROUP)
• SQL profiles are tested but not implemented
Single
SQL
Execution
Session Details
Enterprise Manager Flow (2)
Monitoring List Monitoring Details
SQL Monitoring List
SQL Monitoring Details
SQL Monitoring Details (Parallelism)
Conclusion
Partition Advisor
Problem
< 100 < 200 < 300 < 400 < 500 < 600
< 100 < 200 < 300 < 400 < 500 < 600
< 100 < 200 < 300 < 400 < 500 < 600
< 100 < 200 < 300 < 400 < 500 < 600
Sub-3 Sub-3
Sub-3 Sub-3 Node 3
How does SAA work?
Standard
STS
SQL cache,
Workload user defined,
Analyzes access etc.
patterns, column
usage, etc.
SQL Access Advisor
w/new Partition Advice
Table+Index Partition
Partition annotated
Analysis workload
Index MV MV Partition
Analysis Analysis Analysis
Table+Index Partition
Partition annotated
Analysis workload
Index MV MV Partition
Analysis Analysis Analysis
Enumeration
Pruning
Heuristics
Evaluation
Partition Advisor
Enumeration
Pruning
Heuristics
Evaluation
Partition Advisor
Enumeration
Pruning
Heuristics
Evaluation
Partition Advisor
Enumeration
Pruning
Heuristics
Evaluation
Partition Advisor
Enumeration
Pruning
Heuristics
Evaluation
Partition Annotations
How does SAA work?
Workload
Expensive Qs
on BIG tables Rank Qs
Table+Index Partition
Partition annotated
Analysis workload
Index MV MV Partition
Analysis Analysis Analysis
Table+Index Partition
Partition annotated
Analysis workload
Index MV MV Partition
Analysis Analysis Analysis
Evaluate
MV Partition
Optimizer / Query Rewrite
Advisor
Associated groups
of access candidates
Partitioning
What does SAA do?
Recommends:
Partitioning Tables
What does SAA do?
Recommends:
Partitioning Tables
Materialized Views
What does SAA do?
Recommends:
Partitioning Tables
Materialized Views
Indexes
What does SAA do? Supported
Partitioning Types:
Recommends: Interval
Hash
Partitioning Tables
Materialized Views
Indexes
What does SAA do? Supported
Partitioning Types:
Recommends: Interval
Hash
Partitioning Tables
Materialized Views
Indexes
Supported Partition
Key Types:
Date
Number
What does SAA do?
Recommends:
Partitioning Tables
Materialized Views
Indexes
Creating
What does SAA do?
Recommends:
Partitioning Tables
Materialized Views
Indexes
Partitioning Tables
Materialized Views
Indexes
Partitioning Tables
Materialized Views
Indexes
Partitioning Tables
Materialized Views
Indexes
Holistic Advice
Creating Materialized Views
Indexes
MV Logs
Choosing Partition Advice
New
Recommendation summary
New
Partition recommendations
New
Partition Recommendation
Conclusions
• SAA now covers your data access problems with all possible
access solutions
• New for 11g:
• Partition advice, including hash and new interval on date and
number
• Incremental advice
• Partition recommendations are holistically generated,
simultaneously considering all possible access solutions across
an entire SQL workload
• SAA is easy to use as ever – partition advice is yours for click
of a checkbox!
Navigating to SQL Access Advisor
EM Home Page
Select a workload
Running advisor job
Select job options
Review & submit
Review results