You are on page 1of 32

Database Maintenance

Copyright © 2007, Oracle. All rights reserved.


Objectives

After completing this lesson, you should be able to:


• Manage optimizer statistics
• Manage the Automatic Workload Repository (AWR)
• Use the Automatic Database Diagnostic Monitor
(ADDM)
• Use advisors and checkers
• Set alert thresholds
• Use server-generated alerts
• Use automated tasks

12 - 2 Copyright © 2007, Oracle. All rights reserved.


Database Maintenance

Automatic Automated Proactive Reactive


tasks

Advisory Server Critical


framework alerts errors

Automatic Automatic
Workload Diagnostic
Repository Efficient Repository

Data warehouse Automatic collection Direct memory


of the database of important statistics access

12 - 3 Copyright © 2007, Oracle. All rights reserved.


Terminology

• Automatic Workload Repository (AWR): Infrastructure


for data gathering, analysis, and solutions
recommendations
• Baseline: A set of AWR snapshots for performance
comparison
• Metric: Rate of change in a cumulative statistic
• Statistics: Data collections used for performance
monitoring or SQL optimization
• Threshold: A boundary value against
which metric values are compared

12 - 4 Copyright © 2007, Oracle. All rights reserved.


Oracle Optimizer: Overview

The Oracle optimizer determines the most efficient


execution plan and is the most important step in the
processing of any SQL statement.
The optimizer:
• Evaluates expressions and conditions
• Uses object and system statistics
• Decides how to access the data
• Decides how to join tables
• Determines the most efficient path

12 - 5 Copyright © 2007, Oracle. All rights reserved.


Optimizer Statistics

Optimizer statistics are:


• A snapshot at a point in time
• Persistent across instance restarts
• Collected automatically
SQL> SELECT COUNT(*) FROM hr.employees;
COUNT(*)
----------
214
SQL> SELECT num_rows FROM dba_tables
2 WHERE owner='HR' AND table_name = 'EMPLOYEES';
NUM_ROWS
----------
107

12 - 6 Copyright © 2007, Oracle. All rights reserved.


Using the Manage Optimizer
Statistics Page

12 - 7 Copyright © 2007, Oracle. All rights reserved.


Gathering Optimizer Statistics Manually

12 - 8 Copyright © 2007, Oracle. All rights reserved.


Statistic Levels

STATISTICS_LEVEL

BASIC TYPICAL ALL

Additional statistics
Self-tuning Recommended
for manual
capabilities disabled default value
SQL diagnostics

12 - 9 Copyright © 2007, Oracle. All rights reserved.


Preferences for Gathering Statistics

SCOPE
PREFERENCES
STATEMENT LEVEL
TABLE LEVEL CASCADE
Optimizer DEGREE
SCHEMA LEVEL
statistics ESTIMATE_PERCENT
gathering DATABASE LEVEL
task
NO_INVALIDATE
GLOBAL LEVEL METHOD_OPT
GRANULARITY
INCREMENTAL
DBA PUBLISH
DBMS_STATS
STALE_PERCENT
set | get | delete | export | import
exec dbms_stats.set_table_prefs('SH','SALES','STALE_PERCENT','13');

12 - 10 Copyright © 2007, Oracle. All rights reserved.


12 - 11 Copyright © 2007, Oracle. All rights reserved.
AWR Infrastructure

External clients
EM SQL*Plus …

SGA
Efficient V$ DBA_*
in-memory AWR
statistics snapshots
collection MMON

Self-tuning … Self-tuning
ADDM
Internal clients component component

12 - 12 Copyright © 2007, Oracle. All rights reserved.


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 - 13 Copyright © 2007, Oracle. All rights reserved.


Enterprise Manager and the AWR

12 - 14 Copyright © 2007, Oracle. All rights reserved.


Managing the AWR

• Retention period
– Default: Eight days
– Consider storage needs
• Collection interval
– Default: 60 minutes
– Consider storage needs and performance impact
• Collection level
– Basic (disables most ADDM functionality)
– Typical (recommended)
– All (adds additional SQL tuning information to snapshots)

12 - 15 Copyright © 2007, Oracle. All rights reserved.


12 - 16 Copyright © 2007, Oracle. All rights reserved.
ADDM Findings

12 - 17 Copyright © 2007, Oracle. All rights reserved.


ADDM Recommendations

12 - 18 Copyright © 2007, Oracle. All rights reserved.


Advisory Framework

SQL Tuning Buffer Cache


ADDM
Advisor PGA Advisor
Advisor
SQL Access Shared Pool
Advisor Advisor

Memory Java Pool


Advisor SGA Advisor
Advisor
Streams Pool
Advisor

Segment Advisor
Space
Undo Advisor

Backup MTTR Advisor

12 - 19 Copyright © 2007, Oracle. All rights reserved.


Enterprise Manager and Advisors

12 - 20 Copyright © 2007, Oracle. All rights reserved.


DBMS_ADVISOR Package

Procedure Description
CREATE_TASK Creates a new task in the repository
DELETE_TASK Deletes a task from the repository
EXECUTE_TASK Initiates execution of the task
INTERRUPT_TASK Suspends a task that is currently
executing
GET_TASK_REPORT Creates and returns a text report for the
specified task
RESUME_TASK Causes a suspended task to resume
UPDATE_TASK_ATTRIBUTES Updates task attributes
SET_TASK_PARAMETER Modifies a task parameter
MARK_RECOMMENDATION Marks one or more recommendations as
accepted, rejected, or ignored
GET_TASK_SCRIPT Creates a script of all the
recommendations that are accepted

12 - 21 Copyright © 2007, Oracle. All rights reserved.


Automated Maintenance Tasks

Autotask maintenance process:


1. Maintenance Window opens.
2. Autotask background process schedules jobs.
3. Scheduler initiates jobs.
4. Resource Manager limits impact of Autotask jobs.
Default Autotask maintenance jobs:
• Gathering optimizer statistics
• Automatic Segment Advisor
• Automatic SQL Advisor

12 - 22 Copyright © 2007, Oracle. All rights reserved.


Automated Maintenance Tasks

12 - 23 Copyright © 2007, Oracle. All rights reserved.


Automated Maintenance Tasks Configuration

12 - 24 Copyright © 2007, Oracle. All rights reserved.


12 - 25 Copyright © 2007, Oracle. All rights reserved.
Setting Thresholds

12 - 26 Copyright © 2007, Oracle. All rights reserved.


Creating and Testing an Alert

1. Specify a threshold.
2. Create a test case.
3. Check for an alert.
1
2

12 - 27 Copyright © 2007, Oracle. All rights reserved.


Alerts Notification

12 - 28 Copyright © 2007, Oracle. All rights reserved.


Reacting to Alerts

• If necessary, you should gather more input (for


example, by running ADDM or another advisor).
• Investigate critical errors.
• Take corrective measures.
• Acknowledge alerts that are not automatically cleared.

12 - 29 Copyright © 2007, Oracle. All rights reserved.


Alert Types and Clearing Alerts

Metric based

Threshold 97% Critical Cleared


(stateful)
alerts 85% Warning Cleared

MMON

DBA_OUTSTANDING_ALERTS DBA_ALERT_HISTORY

Resumable Recovery Area


Snapshot Session Low On
Too Old Suspended Free Space
Nonthreshold
(stateless)
alerts
Alert
Event based

12 - 30 Copyright © 2007, Oracle. All rights reserved.


Summary

In this lesson, you should have learned how to:


• Use statistics
• Manage the Automatic Workload Repository
• Use the Automatic Database Diagnostic Monitor
• Describe the advisory framework
• Set alert thresholds
• Use server-generated alerts
• Use automated tasks

12 - 31 Copyright © 2007, Oracle. All rights reserved.


Practice 12 Overview:
Proactive Maintenance

This practice covers proactively managing your database


with ADDM, including:
• Setting up an issue for analysis
• Reviewing your database performance
• Implementing a solution

12 - 32 Copyright © 2007, Oracle. All rights reserved.