Look into refresh groups. You can have multiple MV's in a single refresh group. Oracle(r) Database Advanced Replication, 3 Materialized View Concepts and Architecture Dick Goulet Senior Oracle DBA PAREXEL International 978.313.3426 information transmitted in this communication is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please destroy any copies, contact the sender and delete the material from any computer. ________________________________ From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Finn Jorgensen Sent: Wednesday, November 05, 2008 3:51 PM To: oracle-l Subject: Refresh multiple MV's in a single transaction Hello List. Does anybody know of a way to refresh multiple MV's in a single transaction? I have a bunch of MV's that users can join as they please in Business Objects (please, hold the jokes) and it's a problem if they join a MV that has been recently refreshed with one that hasn't been refreshed yet. At first I thought that was what dbms_refresh.refresh(refresh_group) was doing, but it's not. It ensures the starting point is consistent for all MV's in the refresh group, but does nothing for end user read consistency. Then I tested dbms_mview.refresh(MV) but that does an implicit commit so I can't serialize the process. Is there a way of doing what I want to do without writing the code myself? DB is 10.2.0.2. Thanks, Finn