> I meant , no one runs a DML against those tables during > the running of the program.
Right. If there is no DML while your program is running, then the snapshot error is due to DML that was run earlier. The solution is simple. In the programs that do large batch inserts or updates on these tables, simply put an ANALYZE TABLE statement at the end. Since the tables have undergone significant change, this is good practice because it will update statistics for the CBO. Also, it will visit the changed blocks in the table and perform block cleanout, and that will solve your snapshot error problem. -- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: Greg Moore INET: [EMAIL PROTECTED] Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 San Diego, California -- Public Internet access / Mailing Lists -------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).