RE: Refresh multiple MV's in a single transaction

  • From: "Michael Fontana" <mfontana@xxxxxxxxxxx>
  • To: <patrick.elliott@xxxxxxxxxxxxx>
  • Date: Wed, 5 Nov 2008 16:29:29 -0600 (CST)

Please forgive me, as I haven’t had this problem.  The manual says “all
mv’s in the group correspond to the same transactional point in time”, and
that’s what I’ve seen as the main benefit for using them.  We do use
atomic refresh, which I recommend.  Perhaps that will resolve the issue
for you?







  _____

From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx]
On Behalf Of Elliott, Patrick
Sent: Wednesday, November 05, 2008 3:59 PM
To: Michael Fontana; finn.oracledba@xxxxxxxxx; 'Goulet, Richard'
Cc: 'oracle-l'
Subject: RE: Refresh multiple MV's in a single transaction



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, 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@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: