RE: Refresh multiple MV's in a single transaction

From: Michael Fontana <mfontana_at_enkitec.com>
Date: Wed, 5 Nov 2008 15:55:04 -0600 (CST)
Message-ID: <33017120.15621225922104182.JavaMail.root@mail.enkitec.com>


If this is true, it is in contradiction to the manual, vis-ą-vis:

Refresh Groups

To preserve referential integrity and transactional (read) consistency among multiple materialized views, Oracle has the ability to refresh individual materialized views as part of a refresh group. After refreshing all of the materialized views in a refresh group, the data of all materialized views in the group correspond to the same transactionally consistent point in time.

If your mview refresh group is not working as described above, I suggest you have a bug. Do you have any way to prove the read inconsistency of the finished product? As a workaround, could you not perhaps allow for a refresh window where no reports would be run, and no processing on the base tables is performed?


From: oracle-l-bounce_at_freelists.org [mailto:oracle-l-bounce_at_freelists.org] On Behalf Of Elliott, Patrick
Sent: Wednesday, November 05, 2008 3:42 PM To: finn.oracledba_at_gmail.com; Goulet, Richard Cc: oracle-l
Subject: RE: Refresh multiple MV's in a single transaction

So what you are saying is that the transactions that are performing the refresh of the group is are all getting read consistency, but commits occur after each MV is refreshed, so other users querying the MV's will not get read consistency. Correct?

Pat


From: oracle-l-bounce_at_freelists.org [mailto:oracle-l-bounce_at_freelists.org] On Behalf Of Finn Jorgensen
Sent: Wednesday, November 05, 2008 3:32 PM To: Goulet, Richard
Cc: oracle-l
Subject: Re: Refresh multiple MV's in a single transaction

That's what I thought it was for too, but it's not. See my original post :)

>This works on 10.2.0.4, I don't see why it would not work on 10.2.0.2:
>Dbms_Mview.Refresh_All_Mviews(Failures,'?','',TRUE,FALSE);

I will look into this although the "atomic_refresh" parameter is also present in dbms_mview.refresh(list) and defaults to "true" (according to the documentation) but it doesn't work like that.

Thanks!

Finn

On Wed, Nov 5, 2008 at 4:00 PM, Goulet, Richard <Richard.Goulet_at_parexel.com> wrote:

Look into refresh groups. You can have multiple MV's in a single refresh group. Oracle® Database Advanced Replication, 3 Materialized View Concepts and Architecture

[CONFIDENTIALITY AND PRIVACY NOTICE] Information transmitted by this email is proprietary to Medtronic and is intended for use only by the individual or entity to which it is addressed, and may contain information that is private, privileged, confidential or exempt from disclosure under applicable law. If you are not the intended recipient or it appears that this mail has been forwarded to you without proper authority, you are notified that any use or dissemination of this information in any manner is strictly prohibited. In such cases, please delete this mail from your records. To view this notice in other languages you can either select the following link or manually copy and paste the link into the address bar of a web browser: http://emaildisclaimer.medtronic.com

--
http://www.freelists.org/webpage/oracle-l
Received on Wed Nov 05 2008 - 15:55:04 CST

Original text of this message