Re: MV complete refresh transactions
Date: Tue, 9 Sep 2008 18:47:33 -0400
You run into very well documented feature. Answer to your question is a last sentence of the paragraph.
Complete refreshes of a single materialized view internally use the
TRUNCATEfeature to increase speed and reduce rollback segment
until the materialized view refresh is complete, users may temporarily see no data in the materialized view. Refreshes of multiple materialized views (for example, refresh groups) do not use the TRUNCATE feature.
On Tue, Sep 9, 2008 at 6:16 PM, Jared Still <jkstill_at_gmail.com> wrote:
> Just ran into something unexpected.
> When doing a complete refresh on a materialized view, the deletion of the
> appears to be a different transaction than the insertion of new rows.
> This is not an issue that is affected by ATOMIC_REFRESH => [TRUE|FALSE]
> If I do a complete refresh on an MV in one session, a query against the MV
> another session returns 0 rows for a period of time while the data is being
> This is on 126.96.36.199 on Linux.
> Until and unless I find a workaround for MV, this is being built as a
> regular table,
> with a procedure using a transaction to delete and insert rows every 15
> The manual method works as expected, no interruptions from user queries.
> The refresh must be complete BTW, no way around it.
> Anyone know a way around the MV issue?
> The manual method works, it just is somewhat of a kludge.
> Jared Still
> Certifiable Oracle DBA and Part Time Perl Evangelist