RE: Refresh multiple MV's in a single transaction

  • From: "Elliott, Patrick" <patrick.elliott@xxxxxxxxxxxxx>
  • To: Michael Fontana <mfontana@xxxxxxxxxxx>, "finn.oracledba@xxxxxxxxx" <finn.oracledba@xxxxxxxxx>, "'Goulet, Richard'" <Richard.Goulet@xxxxxxxxxxx>
  • Date: Wed, 5 Nov 2008 15:59:10 -0600

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@xxxxxxxxxxx]
Sent: Wednesday, November 05, 2008 3:55 PM
To: Elliott, Patrick; finn.oracledba@xxxxxxxxx; '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@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On 
Behalf Of Elliott, Patrick
Sent: Wednesday, November 05, 2008 3:42 PM
To: finn.oracledba@xxxxxxxxx; 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@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx] 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@xxxxxxxxxxx<mailto:Richard.Goulet@xxxxxxxxxxx>> 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

Other related posts: