1. Glossary/

Snapshot (Oracle)

Snapshot in Oracle is a point-in-time capture of database performance statistics stored in the AWR repository. By default Oracle generates a snapshot every 60 minutes and retains them for 8 days.

How it works #

Each snapshot records hundreds of metrics: wait events, SQL statistics, memory metrics (SGA, PGA), I/O by datafile, system statistics. Comparing two snapshots generates the AWR report, which shows what changed between the two points in time.

Manual snapshots #

In emergency situations you can generate a manual snapshot to capture the current state:

EXEC DBMS_WORKLOAD_REPOSITORY.create_snapshot;

This is useful when you want an immediate reference point — for example, before and after a deploy — without waiting for the automatic cycle.

Management #

Snapshots are accessible through the DBA_HIST_SNAPSHOT view. Retention (how many days to keep them) and interval (how often to generate them) are configured with:

EXEC DBMS_WORKLOAD_REPOSITORY.modify_snapshot_settings(
  retention => 43200,   -- 30 days in minutes
  interval  => 30       -- every 30 minutes
);

Why they matter #

Without snapshots, there is no AWR. Without AWR, performance diagnosis becomes guesswork instead of data-driven analysis. Snapshots are the foundation of observability in Oracle.