Automatic Database Diagnostic Monitor

Download Report

Transcript Automatic Database Diagnostic Monitor

Be an Effective DBA using
Oracle 10g Automatic
Database Diagnostic Monitor
Edward Hayrabedian
Semantec Bulgaria OOD
Agenda
 Oracle 10g and Oracle 9i Database Manageability Comparison
 Self-Managing Database
 Automatic Workload Repository (AWR)
 Features
 Configuration
 Collection Process
 Database Statistics
 Metrics
 Automatic Database Diagnostic Monitor (ADDM)
 Features
 Problems which can be detected
 Using ADDM
 Drawbacks
 Test cases & Examples
 Using literals instead of bind variables
 Concurrent updates
Oracle 10g and Oracle 9i Database
Manageability Comparison
 How to compare?

A set of basic and typical DBA tasks are measured on a common set of metrics
 Used typical DBA tasks


A sample of 21 tasks covering all the key DBA functionality, grouped in 5 categories
Each group of tasks has an associated weight value. It defines how much of the DBA
work it takes
Category
Weight
Installation and Simple “Out-of-Box” Setup
13%
Day-to-Day Database Administration
27%
Backup & Recovery
6%
Performance Diagnostics & Tuning
34%
Miscellaneous
20%
 What type of metrics?


Time – the total time that a DBA spends in caring out the task
Steps – the number of steps required to complete the task
Oracle 10g and Oracle 9i Database
Manageability Comparison
 Test Results – Task Time Comparison (minutes)
Installation
and Simple
Setup
Day-to-Day
Database
Administration
Backup &
Recovery
Performance
Diagnostics &
Tuning
Total
Oracle 9i
45
35
46
19
147
Oracle 10g
29
13
17
5
64
Oracle 10g
Time Savings
36%
63%
63%
74%
56%
Weighting
Factor
13%
27%
6%
34%
5%
17%
4%
25%
50%
Workday = 8 hr
---------------------9i tasks = 163min
10g tasks = 41min
---------------------Saving = 122 min
DBA need
50% less
time to
perform their
function
Weighted
Time Saving
Oracle 10g and Oracle 9i Database
Manageability Comparison
 Test Results – Complexity Comparison (steps)
Installation
and Simple
“Out-of-Box”
Setup
Day-to-Day
Database
Administration
Backup &
Recovery
Performance
Diagnostics &
Tuning
Total
Oracle 9i
7
15
19
15
56
Oracle 10g
4
9
6
5
24
43%
40%
68%
67%
57%
Oracle 10g
Step Savings
Oracle 10g took
67% fewer steps
to complete the
performance
diagnostics &
tuning tasks
Self-Managing Database
 Manual regular health checks, monitoring activities and bottleneck
investigations are replaced by automatic statistics collection, storage
and analysis
 Introduction of the Advisory Framework

Automatic Database Diagnostic Monitor (ADDM)
SQL Tuning Advisor – automates the tuning of SQL statements and gives an advice

SQL Access Advisor – provides an expert advice on materialized vies, indexes and MV logs

Segment Advisor –

Undo Advisor -

Redo Logfile size Advisor - determines the optimal smallest online redo log file size, based on

responsible for space issues involving a database object. Analyzes the growth
trends and shrink possibility for the segments
suggests parameter values and how much additional space will be needed to support
flashback for a specified time. However, most of the undo tuning (like undo retention) is automatic in Oracle
10g
the current fast_start_mttr_target setting and MTTR statistics

Automatic Shared Memory Tuning -
no longer need to tune SGA individual memory pools.
Only 2 memory parameters should be set and their values is recommended by ADDM
Automatic Workload Repository (AWR)
Features
 Automatic Workload Repository (AWR) –
new persistent store, which
automatically collects and stores statistics
 Called periodically at configured time interval
 More precise and granular information is collected
(compared to StatsPack snapshots)
 The statistics survive database reboots and crashes
 An efficient capture algorithm is used
 Provide historical analysis – no need to repeat the workload
 Completely self-managed
 The statistics are accessible to external users, who can
build their own performance monitoring tools
Automatic Workload Repository (AWR)
Configuration

AWR can be managed either via:
 the Enterprise Manager, or
 PL/SQL API (dbms_workload_repository package)

Two of the most important procedures are:
 modify_snapshot_settings - defines the interval and
retention of snapshot generation

create_snapshot – takes a new snapshot
Examples #1 and #2
Automatic Workload Repository (AWR)
Collection Process
Collection Process –
the new MMON BG process
captures in-memory statistics
from SGA and transfers them
to the Workload repository


The statistic_level parameter controls the number and type of statistics
collected and stored (a dynamic init.ora parameter)
 Basic – almost all advisors are turned off
 Typical - default
 All
Automatic Workload Repository (AWR)
Database Statistics
 The better Oracle kernel is instrumented the better diagnosis –
developing a tool located inside the server allows to resolve hard to diagnose problems by adding
more instrumentation
 Increase to over of 700 wait events
 Easier high-level analysis based on grouping the wait events in the
following categories:








Application
Administration
Commit
Concurrency
Configuration
User I/O
Network Communications
Idle
 Time model –
Time is used as a common currency for comparing across modules. Most of the
advisors report their findings in time
 The new most important “db_time” statistics
–
The total time spent in db calls. The reduction of db_time can be used as a measure of
the effectiveness of the tuning efforts
Automatic Workload Repository (AWR)
Metrics
 Metrics – delta values between the snapshots
 Metrics are normalized by:



Time
Transaction
SQL statement, and so on..
 The rate of change is important rather than statistic’s absolute value
 Alerting thresholds can be set based on 183 predefined metrics
 User-defined metrics (alerts) can be created
Examples #3 and #4
Automatic Database Diagnostic Monitor (ADDM) -
Features
 ADDM is an advisory framework that provides expert
recommendations to improve DB performance
 Build into the 10g kernel
 Called periodically after each AWR run
 Findings are presented in a convenient fashion
 Reports the impact of each finding
 Recommendations and step-by-step instructions
 Using time as a common metric between components
 Focusing on the activities that the DB spends most db_time
time, and then drills down through a sophisticated problem
classification tree to determine the root cause
 Documents also the non-problem areas of the system
Automatic Database Diagnostic Monitor (ADDM) -
Problems which can be detected
 CPU bottlenecks
 Poor connection management
 Excessive parsing
 Lock contention
 IO capacity
 Under sizing of Oracle memory structures e.g. PGA, buffer
cache, log buffer
 High load SQL statements
 High PL/SQL and Java time
 High checkpoint load and cause e.g. small log files, aggressive
MTTR setting
 RAC specific issues
Automatic Database Diagnostic Monitor (ADDM) -
Using ADDM
 Accessed either via Enterprise Manager or PL/SQL API
(dbms_advisor package)
 The main procedures of the dbms_advisor package

Create_task

Execute task – generates the report

Get task report – gets the report text
 Findings
 Recommendations
Drawbacks
 The documentation is not complete and not enough
 The web based Enterprise Manager is slow and
buggy (I won’t comment the user interface design :)
 It is not clear what type of problems won’t be
detected
 The ADDM and AWR are too new to be proved by the
Oracle user community
Summary
 Oracle makes a significant step to makes complicated
things simple to manage
 Give ADDM a try – there is nothing to lose and maybe
something to earn
 ADDM allows to do more for less time – just be effective
 It is time to show some examples …
Examples
Test cases & Examples
 Example #1 - Managing AWR via the EM
 Example #2 - Creating a snapshot via the PL/SQL API
 Example #3 - Manage Metrics in EM
 Example #4 - User-defined Metrics in EM
 Test case #1 – Using Literals instead of bind variables
 Test case #2 – Concurrent updates
Example #1 - Managing AWR via EM
Movie #1 - Managing AWR via EM
Example #2 – Creating AWR Snapshot
via the PL/SQL API
Movie #2 – Creating Snapshot via PL/SQL
Example #3 - Manage Metrics in EM
Movie #3 - Manage Metrics in EM
Example #4 - User-defined Metrics in EM
Movie #4 - User-defined Metrics in EM
Test case #1 – Using Literals instead of bind variables
What will be shown
 The bad practice of
using literals will be
effectively detected by
ADDM
 The number of steps
performed by a DBA in
Oracle 10g is obviously
less than in Oracle 9i
Test case #1 – Using Literals instead of bind variables
The code
declare
l_start_snapshot_id
number;
l_end_snapshot_id
number;
n
number;
begin
l_start_snapshot_id := dbms_workload_repository.create_snapshot();
dbms_output.put_line('Start snapshot id : ' || to_char(l_start_snapshot_id));
-for i in 1..100000 loop
n := dbms_random.random;
execute immediate 'select ' || to_char(n) || ' from dual'
into n;
end loop;
-l_end_snapshot_id := dbms_workload_repository.create_snapshot();
dbms_output.put_line('End snapshot id : ' || to_char(l_end_snapshot_id));
end;
Test case #1 – Using literals instead of bind variables
Movie #5
Test Case #2 – Concurrent Updates
What will be shown
 ADDM will catch a performance problem with application locks
due to concurrent updates against one row
 Reactive Performance Diagnostics
 The Active Sessions graph – diagnosing the problem becomes
‘point and click’ !
 ADDM recommendations and findings
Test Case #2 – Concurrent Updates
The code
Two sessions are concurrently running:
begin
for i in 1..300 loop
update t set x = i;
dbms_lock.sleep(1);
commit;
end loop;
end;
/
Test Case #2 – Concurrent Updates
Movie #6 - Reactive tuning/monitoring
References

Oracle Database 10g and Oracle9 i Database Manageability Comparison February 2004
Copyright © 2004 Oracle Corporation

Oracle Database 10g New Features Oracle 10g Reference for Advanced Tuning & Administration
by Mike Ault, Daniel Liu and Madhu Tumma

Oracle Database 10g: The Self-Managing Database
An Oracle White Paper Nov. 2003

The Self-Managing Database: Automatic Performance Diagnosis
An Oracle White Paper Nov. 2003