RE: DBMS_REFRESH and Redo-Logging

  • From: Yavor Ivanov <Yavor_Ivanov@xxxxxxxx>
  • To: "Jan-Hendrik.Boll@xxxxxxxxxxx" <Jan-Hendrik.Boll@xxxxxxxxxxx>, "oracle-l@xxxxxxxxxxxxx" <oracle-l@xxxxxxxxxxxxx>
  • Date: Mon, 16 Feb 2009 16:25:45 +0200

                You may try refreshing using atomic_refresh:
exec dbms_mview.refresh('TEST_MV',method => 'C', atomic_refresh=>false);

This will do truncate/insert (as it was in 9i) instead of delete/insert. But be 
careful; there will be a point when you have no data in the MV (after the 
truncate and before the end of insert)

Regards,
Yavor Ivanov

From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On 
Behalf Of Jan-Hendrik.Boll@xxxxxxxxxxx
Sent: Monday, February 16, 2009 2:06 PM
To: oracle-l@xxxxxxxxxxxxx
Subject: DBMS_REFRESH and Redo-Logging

Hi folks,

i've got a mv created with nologging-clause on 10204. This view is regularly 
refreshed completly using dbms_refresh.refresh. During the refresh a plenty of 
archive-logs are generated, flooding our archive-destination.
As result oracle deactivates the full destionation forcing the database to halt.

Error:
ARCH: Archival stopped, error occurred. Will continue retrying
ORACLE Instance dada - Archival Error
ORA-16014: log 1 sequence# 49531 not archived, no available destinations
After that the archiver is pausing for 2 or 3 minutes.

As i know that there is no way to prevent redo-log generation, do you know a 
workaround for such a scenario? Expect increasing file-systemspace and 
deactivating archivelog mode. :-)
And secondly: how am i able to prevent oracle from waiting for the archiver. Is 
there any way to reenable the deacitvated archive_destionations?

regards, jan

Other related posts: