Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Materialized View - Transactional Refreshing

Re: Materialized View - Transactional Refreshing

From: Christian Antognini <christian.antognini_at_trivadis.com>
Date: Thu, 9 Sep 2004 21:46:37 +0200
Message-ID: <4140b319$1@post.usenet.com>

"Sybrand Bakker" <gooiditweg_at_sybrandb.verwijderdit.demon.nl> wrote in message news:8b51k0p37eqddbta8bp77sstjb1unie0sm_at_4ax.com...
> On Thu, 09 Sep 2004 10:50:30 -0400, Peter Sylvester
> <peters_no_spam_please_at_mitre.org> wrote:
>
> >Is there a way to get Oracle to make this transactional (using a delete
> >statement), so the mview will always be usable?
>
> no. Nor does your suggestion make sense because the mview would be
> locked during the delete, and delete compared to truncate is pretty
> inefficient.
> But if you think a home-grown 'solution' will address your needs, why
> don't you go ahead knowing better?

Hi Sybrand

Sorry, but the correct answer is yes. In fact to avoid the TRUNCATE the mview can be added into a refresh group.

Excerpt from the Oracle9i Advanced Replication guide (http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96567/reptrou ble.htm#8549):
"Complete refreshes of a single materialized view internally use the TRUNCATE feature to increase speed and reduce rollback segment requirements. However, until the materialized view refresh is complete, users may temporarily see no data in the materialized view. Refreshes of multiple materialized views (for example, refresh groups) do not use the TRUNCATE feature."

Chris

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

Received on Thu Sep 09 2004 - 14:46:37 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US