Monitoring Locks During Materialized View Refreshes
(Doc ID 258258.1)
Last updated on OCTOBER 01, 2019
Applies to:Oracle Database - Enterprise Edition
Oracle Database Cloud Schema Service - Version N/A and later
Oracle Database Exadata Cloud Machine - Version N/A and later
Oracle Cloud Infrastructure - Database Service - Version N/A and later
Oracle Database Backup Service - Version N/A and later
Information in this document applies to any platform.
This note is to be used in conjunction with
<NOTE:258252.1> MATERIALIZED VIEW REFRESH: Locking, Performance, Monitoring.
The tests in this study are performed using two snapshots created on a 9.0.1 DB. The master tables namely, T1 and T2, reside on another 9.0.1 DB and snapshots on these two tables are of type updateable. Locks are investigated based on the phases of the refresh. During the tests dbms_mview.refresh('T1,T2') procedure is traced for the locks.Dbms_refresh.refresh could also be utilized but dbms_mview.refresh is more flexible as it permits specifying atomic_refresh, and the type of the refresh. The difference between the two from the locking perspective is that:
- dbms_refresh temporarily locks rgroup$. This lock is later released inside dbms_snapshot.refresh that commits the current transaction before starting its work.
This article is intended for DBA's and support analysts who are familiar with distributed materialized view concepts.
The information in this article is specific to distributed materialized views. While much of the information is applicable to local materialized views, there may be differences in locking and performance expectations for local materialized views.
'Materialized view' and 'Snapshot' are synonymous as of 8i.
To view full details, sign in with your My Oracle Support account.
Don't have a My Oracle Support account? Click to get started!