DBMS_SNAPSHOT: Managing Snapshots

The DBMS_SNAPSHOT package contains programs that allow you to maintain snapshots and snapshot logs and to set and query package state variables associated with the advanced replication facilities.

How the Package Is Used

The procedures I_AM_A_REFRESH and SET_I_AM_A_REFRESH are used to check and set the package variable REP$WHAT_AM_I.I_AM_A_SNAPSHOT, which numerous replication triggers and procedures reference. The procedures PURGE_LOG and REFRESH are typically run by the DBA and/or scheduled in the job queue.

Installation and Access

The DBMS_SNAPSHOT package is created when the Oracle database is installed. The dbmssnap.sqlscript (found in the built-in packages source directory) contains the source code for this package’s specification. This script is called by catproc.sql, which is normally run immediately after database creation. The script creates the public synonym DBMS_SNAPSHOT for the package and grants the EXECUTE privilege on the package to public. All Oracle users can reference and make use of this package.

DBMS_SNAPSHOT Procedures

Name

Description

BEGIN_TABLE_REORGANIZATION (Oracle8 only)

Called prior to reorganizing a master table (e.g., through export/import); saves data required to refresh snapshots

END_TABLE_REORGANIZATION (Oracle8 only)

Called after reorganizing a master table (e.g., through export/import); validates data required to refresh snapshots

I_AM_A_REFRESH

Returns value of REP$WHAT_AM_I.I_AM_A_SNAPSHOT

PURGE_LOG

Purges snapshot ...

Get Oracle Distributed Systems now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.