Hello

This subject is not easy to explain in plain words it would be much easier
for you
with a picture - perhaps you can find one in the documentation - but
nevertheless I will try it.

In the releases before 7.4 SAP DB writes the before images (undo entries)
into the archive log
and the archive log is written circadian. Only this log can be overridden
which is older
then the last savepoint and the first_not_saved position.

If the distance from the current log write position reaches the
_LOG_START_COPY
distance related to the end of the log a server task is started.

This servertask copies the oldest logentries of all currently open
transactions into log files (page chains). When all logentries of open
transactions in the area between the oldest logpage and _LOG_COPY_DISTANCE
are copied into log files the archive log can be overridden. Each
transaction has their own log file with copied logentries.

If a transaction has logentries which were copied from the archive log to a
log file and it must rollback then the logentries are read from the archive
log until the copy position is reached and then the log entries are read
from the log file.

Log files are located in the data volumes like the primary table files
(b-trees).
If a transaction produces a huge amount of log entries in worst case it
causes a database full situation because the log file which contains the
outcopied logentries grows and grows and consumpts the whole data volume.

The enabled autosave log process and the automatically triggered savepoints
do not prevent
the need for copying log entries.

I hope this will answer your question.
Bye, Uwe

> -----Original Message-----
> From: Mark Thomas [mailto:[EMAIL PROTECTED]]
> Sent: Montag, 29. April 2002 17:23
> To: SAPDB general
> Subject: Long Transactions
> 
> 
> Hello,
> 
> I used to run into long transactions when using Informix, and I was
> wondering how SAP DB would handle a similar situation.  
> Informix 7.3 would
> force a rollback if an open transaction consumed half of the 
> available log
> (so that it would have enough log space to complete a 
> rollback, if I recall
> correctly).
> 
> I am wondering what SAP DB would do if a single transaction 
> tried to consume
> more than half the available log space.  Would it force a 
> rollback?  Would
> the behavior differ if Autolog were enabled?
> 
> Thanks.
> 
> --
> Mark "T.C." Thomas
> United Drugs
_______________________________________________
sapdb.general mailing list
[EMAIL PROTECTED]
http://listserv.sap.com/mailman/listinfo/sapdb.general

Reply via email to