My Oracle Support Banner

Diagnosing ORA-12004 Refresh Fast Cannot be Used (Doc ID 179469.1)

Last updated on FEBRUARY 03, 2019

Applies to:

Oracle Database - Enterprise Edition
Information in this document applies to any platform.

Purpose

 

Overview
========

The purpose of this article is to provide a step by step guide to diagnosing
the following error message, when users are attempting to refresh read only
or updatable materialized views / snapshots :

  ORA-12004: "REFRESH FAST cannot be used for snapshot ..." (in v8.x)
  ORA-12004: "REFRESH FAST cannot be used for materialized view ..." (in v9.x)

   Cause: The materialized view log does not exist or cannot be used.
  Action: Use just REFRESH, which will reinstantiate the entire table.
          If a materialized view log exists and the form of the materialized
          view allows the use of a materialized view log, REFRESH FAST will
          be available starting the next time the materialized view is
          refreshed.

Article Contents
----------------

1. Possible Causes

  1.1 Materialized view does not exist
  1.2 Incorrect Privileges or Database Links
  1.3 Fast refreshable materialized views cannot contain complex queries
  1.4 Rollback / Undo segment space
  1.5 Primary Key and ROWID materialized view logs
  1.6 Master table truncation
  1.7 Materialized view log contains data prior to last refresh
  1.8 Materialized view uses synonyms or views
  1.9 Special Cases

2. Diagnostic Information

  2.1 Diagnostic Script & Sample Output
  2.2 Using DBMS_MVIEW.EXPLAIN_MVIEW to determine if a mv is fast refreshable

3. References

------------------------------------------------------------------------------

Troubleshooting Steps

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.