Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Usenet -> c.d.o.server -> Re: Article about supposed "murky" future for Oracle

Re: Article about supposed "murky" future for Oracle

From: rkusenet <>
Date: Thu, 1 Apr 2004 16:29:31 -0500
Message-ID: <c4i1fu$2j5o8g$>

"Brian Peasland" <> wrote

> So can you explain to me what the difference is? A checkpoint is when
> modified blocks are written back to disk.
> Unless I missed something, the
> onmode -B does the same thing. So what is the difference between that
> and a checkpoint?

Not in informix lingo. To give a big picture, a checkpoint is:-

(1) when all modified blocks are written back to disk
(2) an entry is made in the logical logs that the checkpoint has completed
(3) and physical log is wiped clean to start all over again.

What onmode -B does is to make the process of (1) very fast and in non block mode. Without onmode -B we have to rely on the lazy writer to do the same job. Even though they do it non blocked , they aren't as fast on onmode -B.
What kills checkpoint performance is that the time taken to complete (1) is blocked. Actually a critical section of it blocks the database to read only activity only. Thru configuration parameters it can be ensured that the server has as less modified blocks to write as possible, so that the time taken to complete (1) is as less as posssible. However simply issuing onmode -B will not do step (2) and (3). For that onmode -c is used.

Note: block is called as page in informix.

      modified block is called dirty pages.

Now without this wonderful onmode -B tool, there is no way we can speed up step (1) in non block mode. Hence the dreaded message in the log file : Checkpoint completed: duration 10 seconds Note: I am not saying it is always 10 seconds. Many finely tuned system, specially if the disk writing is very fast, have lower checkpoint times.

> So why not do that then? If I only checkpoint once every 10 minutes, and
> I complain about the amount of time it takes for the checkpoint to
> complete, then I checkpoint more often. Why schedule a different job?
> You really didn't answer my question as to *why*.....

I hope I answered it now. By doing checkpoint more frequently, say from 10 minutes to every minute, I will be ensuring that the server has very little modified blocks to write (if my system during peak production hours has 3000 modified blocks per minute), I can be assured that a checkpoint duration of 1 minute will result in at most 3000 to 4000 modified blocks to write. This is also an option but then physical log activity increases. If you don't know what is physical log, I can take it off line. email me at my address. Received on Thu Apr 01 2004 - 15:29:31 CST

Original text of this message