Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Checkpoint not complete.

Re: Checkpoint not complete.

From: <JohannesBavendiek_at_gmx.de>
Date: Fri, 05 Feb 1999 13:25:24 GMT
Message-ID: <79erfs$n0u$1@nnrp1.dejanews.com>


In article <79ec6p$bii$1_at_nnrp1.dejanews.com>,   JohannesBavendiek_at_gmx.de wrote:
> In article <36B84113.1815D8F_at_dde.dk>,
> Carl Bruhn <crb_at_dde.dk> wrote:
> > Hi everybody,
> >
> > i'm trying to figure out how to "read" the message 'checkpoint not
> > complete' from within Oracle, without accessing the alter file.
> >
> > In the alert file you can have messages like
> > Checkpoint not complete
> > Current log# 1 seq# 1909 mem# 0: /tmp/a
> > Thread 1 advanced to log sequence 1910
> > Current log# 2 seq# 1910 mem# 0: /tmp/b
> > Thread 1 cannot allocate new log, sequence 1911
> > Checkpoint not complete
> > if your system is heavily loaded or you have to small logfiles.
> >
> > Now i would like to read if this "error" occured, without reading in the
> > alert file, but doing a select from one of Oracle v$views or the like.
> > I made a small test and my best result was from the v$system_event where
> > i found a line
> > EVENT TOTAL_WAITS TOTAL_TIMEOUTS
> > TIME_WAITED AVERAGE_WAIT
> > log file switch (checkpoint incomplete) 382 202
> > 0 0
> >
> > and looked fine until i found out that there had only been 87 checkpoint
> > not complete in the alert log during the test.?.
> >
> > Does anybody know of at view or table where i can see if there has been
> > a checkpoint not complete in the alert log ?.
> >
> > thanks in advance.
> > Carl Bruhn
> > crb_at_dde.dk
> >
> >
> Hi Carl,
>
> I don't know why you want to work in Oracle.
> You can check the alert.log by creating and checking a pipe
> if you have Oracle running under UNIX.
> In AIX it works as described in the following example:
>
> 1. create pipe(here called: fifo):
> mkfifo -m 664 (..)/error_pipe
> 2. read pipe:
> while true
> do
> read Line
> if [ -z "$Line" ]; then
> # echo " nothing found in the pipe "
> sleep 6 # read pipe every x seconds
> else
> # launch Action when found a defined message
> cmp=`echo $Line | cut -f5,7,8,9,10 "-d "` # select keyword from msg
> msg1="ORA xyzv" v # define keyword for compare
> if [ "$cmp" = "$msg1" ]; then
> # here launch action
> fi
> fi
> done < (..)/error_pipe
>
> The read-pipe process is a endless loop. You will have to kill the process to
> stop it.
> I hope this will help.
>
> Johannes
>
> -----------== Posted via Deja News, The Discussion Network ==----------
> http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own
>

Sorry, I forgot the writepipe step.
Here it is:

3. write pipe:
  nohup tail -f -1 (..)/alert.log > (..)/error_pipe &   This reads the last line from the alert.log and writes it to the pipe.   This process has to be killed like the read pipe process, because the -f option of tail lets it run without end.

Now it is complete.

The writ pipe procedure is written in ksh.

Hope you can use it.

Johannes

-----------== Posted via Deja News, The Discussion Network ==---------- http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own Received on Fri Feb 05 1999 - 07:25:24 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US