The OP is using automatic undo management (the rollback segment name's the
giveaway - "_SYSSMU19$") and so attempts to use manual rollback segments
will either fail or be silently ignored - there's a setting to suppress the
errors for backwards compatibility.

-- 
Andy Hassall <[EMAIL PROTECTED]> / Space: disk usage analysis tool
<http://www.andyh.co.uk> / <http://www.andyhsoftware.co.uk/space> 

> -----Original Message-----
> From: David N Murray [mailto:[EMAIL PROTECTED] 
> Sent: 24 September 2004 22:27
> To: Rob Benton
> Cc: [EMAIL PROTECTED]
> Subject: Re: Error on large select statement
> 
> For version info print $DBI::Version and $DBD::Oracle::VERSION.
> 
> $ oerr ora 1555
> 01555, 00000, "snapshot too old: rollback segment number %s 
> with name \"%s\" too small"
> // *Cause: rollback records needed by a reader for consistent read are
> //         overwritten by other writers
> // *Action: Use larger rollback segments
> 
> $dbh->do("set transaction use rollback segment a_really_big_segment");
> $select->execute();
> 
> HTH,
> Dave
> 
> 
> On Sep 24, Rob Benton scribed:
> 
> > Got DBI version 1.3.5 (not sure which version DBD::Oracle.  
> Is there a
> > way to tell?) on RedHat AS 2.1.
> >
> > I need some advice.  I'm doing an oracle query on a table 
> that has over
> > 23 million records and I keep running into this error near 
> the end.  I'm
> > not doing any updates, only a select.
> >
> > PrintError, RaiseError are on and AutoCommit is off.
> >
> > DBD::Oracle::st fetchrow_array failed: ORA-01555: snapshot too old:
> > rollback segment number 19 with name "_SYSSMU19$" too small 
> (DBD ERROR:
> > OCIStmtFetch) at ./group_bb.pl line 144.
> >

Reply via email to