Transcript Document
Automatic Management
Copyright © 2004, Oracle. All rights reserved.
Objectives
After completing this lesson, you should be able to:
• Describe the various tools used to diagnose
database performance issues
• Access the database advisors
• Use the SQL Tuning Advisor to improve database
performance
12-2
Copyright © 2004, Oracle. All rights reserved.
Oracle Wait Events
•
•
12-3
A collection of wait events provides information
on the sessions or processes that had to wait or
must wait for different reasons.
These events are listed in the V$EVENT_NAME view
Copyright © 2004, Oracle. All rights reserved.
System Statistics
V$SYSSTAT
• statistic#
• name
• class
• value
• stat_id
V$SYSTEM_WAIT_CLASS
• wait_class_id
• wait_class#
• wait_class
• total_waits
• time_waited
V$EVENT_NAME
• event_number
• event_id
• name
• parameter1
• parameter2
• parameter3
• wait_class
12-4
V$SGASTAT
• pool
• name
• bytes
V$SYSTEM_EVENT
• event
• total_waits
• total_timeouts
• time_waited
• average_wait
• time_waited_micro
Copyright © 2004, Oracle. All rights reserved.
Displaying Session-Related Statistics
V$STATNAME
• statistic#
• name
• class
V$SESSTAT
• sid
• statistic#
• value
V$SESSION_EVENT
• sid
• event
• total_waits
• total_timeouts
• time_waited
• average_wait
• max_wait
• time_waited_micro
• event_id
12-6
V$EVENT_NAME
• event#
• name
• parameter1
• parameter2
• parameter3
V$SESSION
• sid
• serial#
• username
• command
• osuser
• seq#
• event#
• event
• p1/2/3text
• p1/2/3
• p1/2/3raw
• wait_class
• wait_time
• seconds_in_wait
• state
• ...
Copyright © 2004, Oracle. All rights reserved.
Troubleshooting and Tuning Views
Instance/Database
V$DATABASE
V$INSTANCE
V$PARAMETER
V$SPPARAMETER
V$SYSTEM_PARAMETER
V$PROCESS
V$BGPROCESS
V$PX_PROCESS_SYSSTAT
V$SYSTEM_EVENT
Memory
V$BUFFER_POOL_STATISTICS
V$LIBRARYCACHE
V$SGAINFO
V$PGASTAT
12-7
Disk
V$DATAFILE
V$FILESTAT
V$LOG
V$LOG_HISTORY
V$DBFILE
V$TEMPFILE
V$TEMPSEG_USAGE
V$SEGMENT_STATISTICS
Contention
V$LOCK
V$UNDOSTAT
V$WAITSTAT
V$LATCH
Copyright © 2004, Oracle. All rights reserved.
Statistics Collection
•
There are different types of statistics:
– Optimizer statistics
– System statistics
•
There are different methods of collecting
statistics:
– Automatically through GATHER_STATS_JOB
– Manually with the DBMS_STATS package
– By setting database initialization parameters
– Importing statistics from another database
12-8
Copyright © 2004, Oracle. All rights reserved.
Automatic Optimizer Statistics Collection:
Overview
•
Oracle8i Database provides DBMS_STATS package:
– DBA determines how to gather statistics.
– DBA determines when to gather statistics.
•
Oracle9i Database determines how to gather
statistics:
– Statistics can be gathered using a single command.
– DBA determines when to gather statistics.
•
Oracle Database 10g fully automates statistics
gathering:
– DBA no longer needs to gather statistics.
– Table monitoring is used by default.
12-9
Copyright © 2004, Oracle. All rights reserved.
Dictionary and Special Views
•
The following dictionary and special views provide
useful statistics after using the DBMS_STATS
package:
–
–
–
–
•
12-11
DBA_TABLES, DBA_TAB_COLUMNS
DBA_CLUSTERS
DBA_INDEXES, INDEX_STATS
INDEX_HISTOGRAM, DBA_TAB_HISTOGRAMS
This statistical information is static until you
reexecute the appropriate procedures in
DBMS_STATS.
Copyright © 2004, Oracle. All rights reserved.
Statspack
•
Execute statspack.snap to collect statistics.
•
Automate the collection of statistics using the
spauto.sql script.
Produce a report using the spreport.sql script.
Set TIMED_STATISTICS to TRUE to collect timing
information.
•
•
12-12
Copyright © 2004, Oracle. All rights reserved.
Workload Repository
MMON
ADDM finds
top problems
SYSAUX
SGA
In-memory
statistics
6:00 a.m.
7:00 a.m.
8:00 a.m.
9:00 a.m.
9:30 a.m.
12-13
Copyright © 2004, Oracle. All rights reserved.
Snapshot 1
Snapshot 2
Snapshot 3
Snapshot 4
AWR Snapshot Baselines
Relevant period
in the past
DBMS_WORKLOAD_REPOSITORY.CREATE_BASELINE ( start_snap_id IN NUMBER ,
end_snap_id
IN NUMBER ,
baseline_name IN VARCHAR2);
12-14
Copyright © 2004, Oracle. All rights reserved.
Advisory Framework Overview
SQL Tuning
Advisor
PGA
Buffer Cache
Advisor
Memory
ADDM
PGA Advisor
SGA
SQL Access
Advisor
Library Cache
Advisor
Segment Advisor
Space
Undo Advisor
12-15
Copyright © 2004, Oracle. All rights reserved.
Database Control and Advisors
12-17
Copyright © 2004, Oracle. All rights reserved.
Typical Advisor Tuning Session
Create an advisor task.
Adjust task parameters.
Perform analysis.
No
Implement
recommendations.
12-18
Copyright © 2004, Oracle. All rights reserved.
Accept
results?
Yes
Manually Invoking ADDM
12-19
Copyright © 2004, Oracle. All rights reserved.
Application Tuning Challenges
I can do
it for you!
SQL workload
How can I
tune my
high-load
SQL?
ADDM
High-load
SQL
12-20
SQL Tuning
Advisor
Copyright © 2004, Oracle. All rights reserved.
DBA
SQL Tuning Advisor Overview
Comprehensive SQL Tuning
Automatic Tuning Optimizer
Statistics Check
Optimization Mode
Detect Stale/Missing
Statistics
Plan Tuning
Optimization Mode
Plan Tuning
(SQL Profile)
Access Analysis
Optimization Mode
SQL Analysis
Optimization Mode
12-21
Add Missing Index
Run Access Advisor
SQL Tuning
Advisor
Restructure SQL
Copyright © 2004, Oracle. All rights reserved.
SQL Tuning Advisor Options and
Recommendations
12-22
Copyright © 2004, Oracle. All rights reserved.
Using the SQL Tuning Advisor
•
•
Use the SQL Tuning Advisor to analyze SQL
statements and obtain performance
recommendations.
Sources for SQL Tuning Advisor to analyze:
– Top SQL: Analyzes the top SQL statements
currently active
– SQL Tuning Sets: Analyzes a set of SQL statements
you provide
– Snapshots: Analyzes a snapshot
– Baselines: Analyzes a baseline
12-23
Copyright © 2004, Oracle. All rights reserved.
Using the SQL Tuning Advisor: Example
12-24
Copyright © 2004, Oracle. All rights reserved.
Using the SQL Access Advisor
12-25
Copyright © 2004, Oracle. All rights reserved.
The Undo Management Page
12-27
Copyright © 2004, Oracle. All rights reserved.
Automatic Undo Retention Tuning
•
Proactive tuning:
– Undo retention is tuned for longest-running query.
– Query duration information is collected every 30
seconds.
•
Reactive tuning:
– Undo retention is gradually lowered under space
pressure.
– Oldest unexpired extents are used first.
– Undo retention never goes below either
UNDO_RETENTION or 15 minutes (whichever is less).
•
12-28
Enabled by default
Copyright © 2004, Oracle. All rights reserved.
The Undo Advisor Page
12-29
Copyright © 2004, Oracle. All rights reserved.
Summary
In this lesson, you should have learned how to:
• Describe the various tools used to diagnose
database performance issues
• Access the database advisors
• Use the SQL Tuning Advisor to improve database
performance
12-30
Copyright © 2004, Oracle. All rights reserved.
Practice 12 Overview:
Optimizing Database Performance
This practice covers proactively tuning your database
using ADDM.
12-31
Copyright © 2004, Oracle. All rights reserved.