RE: Refresh multiple MV's in a single transaction

From: Elliott, Patrick <patrick.elliott_at_medtronic.com>
Date: Wed, 5 Nov 2008 15:59:10 -0600
Message-ID: <3B8B6A1700202C43A89D61CE495C894E0F58742A71@MSPM1BMSGM103.ent.core.medtronic.com>


No...
This doesn't contradict the manual. The refresh group provides the functionality that all of the MV's in the group will be read consistent with each other only. That is what I read from what you have provided below. The manual does not say that all MV's in the group will be refreshed with one transaction. That is what would need to be done to get read consistency for other queries referencing the MV's.

Pat



From: Michael Fontana [mailto:mfontana_at_enkitec.com] Sent: Wednesday, November 05, 2008 3:55 PM To: Elliott, Patrick; finn.oracledba_at_gmail.com; 'Goulet, Richard' Cc: 'oracle-l'
Subject: RE: Refresh multiple MV's in a single transaction

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<http://10.2.0.4>, I don't see why it would not work on 10.2.0.2<http://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<mailto: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:59:10 CST

Original text of this message