System Architecture 2-159
Long Transactions
To free a logical log, the log must be backed up to tape and all records with
the logical log must be part of closed transactions. If any record in the log is
part of an open transaction, the log file cannot be freed.
The backup strategy for OnLine requires that the statement that creates a
blobspace and the statements that insert blobs into that blobspace must
appear in separate logical log files.
Therefore, after you create a blobspace, you must switch to a new logical log
before you can insert a blob into that blobspace. Execute tbmode -l to switch
to a new logical log.
The blobspace logging procedure affects the way that blobspaces are treated
during an archive. During an archive, the tbtape process blocks allocation of
blobspace blobpages in a chunk until it has read the chunk and archived all
used blobpages therein. As soon as the chunk is archived, blobpage
allocation in that chunk resumes.
One implication of this procedure is that during an online archive, blobs
cannot be inserted into a blobspace until the blobspace chunk has been
archived. Since chunks are read and archived by tbtape in order of the chunk
identification numbers, you can minimize this inconvenience by creating
blobspaces early, ensuring them a low chunk ID number.
To understand why the archive must block allocation, refer to page 4-30 for a
full description of what happens during an archive.
Long Transactions
A long-transaction condition occurs when the logical log fills past the mark
specified by the first long-transaction high-water mark, LTXHWM. The source of
the long-transaction condition is an open transaction that is preventing the
operator from freeing logical log files to create additional free space in the
log. (No log file can be freed if any records in the file are associated with an
open transaction.) The open transaction might not be generating many
logical log records itself; the problem might be the duration of the trans-
action. If the open transaction spans several logical log files, records written
by other processes can fill the logical log while the open transaction prevents
individual logical log files from becoming free.