RE: Logical Logs not full
Posted in 2005
Topics: Logging & Checkpoints
Brice, What you have described is not quite accurate; The logical log is not backed up the instant the transaction is committed when in unbuffered mode, it is written directly to the logical log as opposed to being stored in the current logical log buffer. Buffered logging uses the current logical log buffer until filled, the next logical log buffer is set to current, the current is then written to the logical log. Cheers Cliff. -----Original Message----- From: Brice [mailto:briceavila@hotmail.com] Sent: Wednesday, 2 February 2005 9:33 AM To: informix-list@iiug.org Subject: Re: Logical Logs not full Muthana, If you are using unbuffered logging on any of your databases, then their is a fair chance that you will not fill a logical log before it needs to be backed-up. In unbuffered logging, a logical log will be backed-up as soon as a transaction is committed. You can confirm the type of logging your databases are using with "onmonitor -- > status --> databases"; If you have "U" or "A" (ascii) logging then the logs may not be filled before they need to be backed-up. Hope this helps. Brice Avila Muthana.AL-Temimi@tu-harburg.hamburg.de wrote: > This is a multi-part message in MIME format. ---------------------------------------------------- This message is for the named person's use only. Privileged/confidential information may be contained in this message. If you are not the addressee indicated in this message (or responsible for delivery of the message to such person), you may not copy or deliver this message to anyone. In such case, you should destroy this message, and notify us immediately. Any views expressed in this message are those of the individual sender, except where the message states otherwise and the sender is authorised to state them to be the views of any such entity. ---------------------------------------------------- sending to informix-list
Gentlemen, I should RTFM before I open my mouth. Thanks. Brice Burton, Clifford wrote: > Brice, > > What you have described is not quite accurate; > > The logical log is not backed up the instant the transaction is > committed when in unbuffered mode, it is written directly to the logical log > as opposed to being stored in the current logical log buffer. Buffered > logging uses the current logical log buffer until filled, the next logical > log buffer is set to current, the current is then written to the logical > log. > > Cheers > Cliff. > > -----Original Message----- > From: Brice [mailto:briceavila@hotmail.com] > Sent: Wednesday, 2 February 2005 9:33 AM > To: informix-list@iiug.org > Subject: Re: Logical Logs not full > > > Muthana, > > If you are using unbuffered logging on any of your databases, then their is > a fair chance that you will not fill a logical log before it needs to be > backed-up. In unbuffered logging, a logical log will be backed-up as soon as > a transaction is committed. You can confirm the type of logging your > databases are using with "onmonitor -- > status > --> databases"; If you have "U" or "A" (ascii) logging then the logs > may not be filled before they need to be backed-up. > > Hope this helps. > > Brice Avila > > Muthana.AL-Temimi@tu-harburg.hamburg.de wrote: > > This is a multi-part message in MIME format. > > > ---------------------------------------------------- > > This message is for the named person's use only. > > Privileged/confidential information may be contained in this message. If you > are not the addressee indicated in this message (or responsible for delivery > of the message to such person), you may not copy or deliver this message to > anyone. In such case, you should destroy this message, and notify us > immediately. > > Any views expressed in this message are those of the individual sender, > except where the message states otherwise and the sender is authorised to > state them to be the views of any such entity. > ---------------------------------------------------- > sending to informix-list
Burton, Clifford wrote: > Brice, > > What you have described is not quite accurate; > > The logical log is not backed up the instant the transaction is True. > committed when in unbuffered mode, it is written directly to the logical log > as opposed to being stored in the current logical log buffer. Buffered False. See my earlier response to Brice, but, simply, in UNBUFFERED logging all transaction log records are STILL written to the current of the three logical log buffers, HOWEVER, the current buffer is flushed to the logical log file on disk IMMEDIATELY upon writing a COMMIT or ROLLBACK record for a transaction against an UNBUFFERED database to the buffer. That's the ONLY difference between BUFFERED and UNBUFFERED logging. > logging uses the current logical log buffer until filled, the next logical True. > log buffer is set to current, the current is then written to the logical > log. True, but the same for UNBUFFERED except that it does not -neccessarily- wait for the buffer to fill. A buffer that does not contain any COMMIT or ROLLBACK entries for an UNBUFFERED database will still only flush when full. The reason is that if the engine crashes before the COMMIT/ROLLBACK is written to the buffer the rest of the transaction is not needed anyway since a) it will be rolled back during fast recovery, and b) none of the logged changes will have been flushed to disk either so they do not have to be undone during fast recovery. This is true and consistent as a checkpoint will also flush the logical log buffer BEFORE flushing dirty data buffers, even in FUZZY checkpoints, so if the data changes have been written to disk, then the corresponding logical log records were on disk first to permit rollback. > Cheers > Cliff. <SNIP> Art S. Kagel