title: Oracle Materialized View Refresh fails with ORA-01555
body: <p>I've a Materialized view set to refresh on demand:</p>
  
  <pre><code>CREATE MATERIALIZED VIEW XYZ
  REFRESH COMPLETE ON DEMAND
  AS
  SELECT * FROM ABC WHERE LAST_UPD &gt; SYSDATE-30;
  </code></pre>
  
  <p>When i run a procedure for refresh it fails every two days.</p>
  
  <p>Refresh command:</p>
  
  <pre><code>dbms_mview.refresh(list           =&gt; 'XYZ',
                         method         =&gt; 'C',
                         parallelism    =&gt; 0,
                         atomic_refresh =&gt; false);
  </code></pre>
  
  <p>Error:</p>
  
  <p>1 - ERROR IN MERGE : ORA-12008: error in materialized view refresh path
  ORA-01555: snapshot too old: rollback segment number 406 with name "_SYSSMU406_3487494604$" too small
  ORA-02063: preceding line from IJSFASIEBEL</p>
  
  <p>I've read that using select * to create the Materialized view can cause this error,
  but i've dropped the view and recreated it many times, the refresh runs fine one day and gets erred out the next day.
  No changes were made to the base table.</p>
  
  <p>Can anyone tell me what the error message means or what might be causing the issue?</p>