Unnecessary Invalidations in 12c
(Doc ID 2355559.1)
Last updated on FEBRUARY 22, 2019
Applies to:Oracle Database - Enterprise Edition - Version 126.96.36.199 and later
Oracle Database Cloud Schema Service - Version N/A and later
Oracle Database Exadata Cloud Machine - Version N/A and later
Oracle Database Exadata Express Cloud Service - Version N/A and later
Oracle Cloud Infrastructure - Database Service - Version N/A and later
Information in this document applies to any platform.
Dropping an un-referenced column invalidates the view that references that object.
A very simple example will show the issue. When a view joins two tables with a LEFT JOIN, and a column with the same name in the two tables being joined is dropped in one of the tables but is NOT referenced in the view, the view is marked as INVALID. The view will recompile automatically on next access but this adds compile overhead and also interferes with our data dictionary management framework. A query on the internal Oracle data dictionary tables also shows this incorrect dependency even when the view is in a VALID state.
To view full details, sign in with your My Oracle Support account.
Don't have a My Oracle Support account? Click to get started!
In this Document