One moment please...
 

Issue

Progress error message: "Snapshot to old: 'rollback segment nr {number} with name {name} too smal".

During the processing of transactions in the database, Oracle keeps track of the status using rollback segments. If, for some reason, the server collapses, the rollback functionality takes care of the unfinished transactions when the server restarts. This way database inconsistency is prevented.

Customers can determine the size and the possibility of auto-extending the rollback segments themselves. If the size of the roll back segments is set too small and/or the limit of the size is reached, then the above mentioned error can occur.

This situation often happens when (major) transactions are processed which are bigger than the normal day working with the Oracle database. In Exact Financials C/S this can happen when companies are copies to another, when companies are deleted from the database, etc.

Solution

The very simple solution is to enlarge the size of the rollback segments or let them grow automatically without limits. In practice, however, two situations can be distinguished:

1. Getting this error message when processing the regular workflow in Exact Financials C/S

This means that the size and growth possibilities of the rollback segments are invalid for the normal work procedures that are being done in the Exact software. Determine by trail & error what the acceptable size and setting is for the rollback segments. A regular default size for a rollback segment using Exact Financials C/S is 256K and can grow automatically.

2. Getting this error message when processing bigger workflows than regular in Exact Financials C/S

When performing a major process at the Oracle database (for example when copying a company), the size and growth possibilities of the regular rollback segments are usually insufficient. In those cases it is better to put these rollback segments off line and use a new, temporary bigger rollback segment during the process.

Procedure:

  1. Make sure to have a recent back-up of the database environment.
  2. Put the regular rollback segments off line.
  3. Create a new, big roll back segment, put it on line and make sure it can grow during the process.
    For example when a company has to be copied which is 500 MB big, then create a new, temporarily rollback segment of initial 500 MB. Make sure this rollback segment can grow with for example 2K per extent.
  4. Perform the major process on the Oracle database.
  5. Put the created, big rollback segment off line and delete it.
  6. Put the regular rollback segments on line again.
  7. Now the process has been done and the regular workflow can be resumed.

Remarks:

  • In order to let the rollback segments be able to grow automatically, make sure the setting "unlimited_rollback_segments = true" is present in the file 'initexac.ora'. This is the initialization file of the Exact Oracle database and can be found in the directory {ORACLE_HOME}\DATABASE or the directory where the Exact database is placed. Note that this setting can only be applied when working with Oracle version 7.3.4 or higher.
  • From Exact Financials C/S version 3.03, adaptations are being made to the functionality in order to copy and delete companies more efficiently. This way less pressure is placed on the rollback segments of the Oracle database.