Unnecessary Invalidations in 12c
Last updated on JANUARY 31, 2018
Applies to:Oracle Database - Enterprise Edition - Version 184.108.40.206 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.
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 hundreds of Community platforms