MV complete refresh transactions

From: Jared Still <jkstill_at_gmail.com>
Date: Tue, 9 Sep 2008 15:16:55 -0700
Message-ID: <bf46380809091516v220e52f9q198b31f8664a84f0@mail.gmail.com>


Just ran into something unexpected.

When doing a complete refresh on a materialized view, the deletion of the rows
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 from
another session returns 0 rows for a period of time while the data is being refreshed.

This is on 9.2.0.6 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 minutes.

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

--

http://www.freelists.org/webpage/oracle-l Received on Tue Sep 09 2008 - 17:16:55 CDT

Original text of this message