ADSM-L

Re: Recovery log error ANR0209E on server startup

1998-06-10 15:48:19
Subject: Re: Recovery log error ANR0209E on server startup
From: Andrew Raibeck <storman AT US.IBM DOT COM>
Date: Wed, 10 Jun 1998 15:48:19 -0400
Usually I recommend using ADSM mirroring. When mirroring is controlled by
something other than ADSM, that "something" (hardware or operating system)
isn't smart enough to detect partial page writes that could result in
corruption; it just automatically mirrors the volumes, corruption and all.

ADSM mirroring with the MIRRORWRITE LOG SEQUENTIAL option in the server options
file is intended to prevent partial page writes from making it to all copies of
the recovery log. With MIRRORWRITE LOG SEQUENTIAL, a page has to be
successfully written to one copy of the recovery log before it will be written
to the other. So if ADSM is in the middle of writing a page to one of the
recovery log copies when it goes down, the update to the other copy(ies) does
not occur. Upon restart, if ADSM can't read the data from one of the recovery
log copies, it should be able to get it from another, then resynchronize all
copies.

One caveat with this is that there may be a performance penalty with
MIRRORWRITE LOG SEQUENTIAL (as opposed to MIRRORWRITE LOG PARALLEL). Writing in
parallel may offer better performance, but it won't prevent partial page writes
from being written to all log copies. So you should run some performance tests
before committing to the SEQUENTIAL write strategy. I think I saw someone post
once that they saw only a negligible difference, but it's best to see how it
works in your shop.

By the way: by default the database writes sequentially and the recovery log
writes in parallel.

Andy

Andy Raibeck
IBM Storage Systems Division
ADSM Client Development
e-mail: storman AT us.ibm DOT com



ADSM-L AT VM.MARIST DOT EDU on 06/10/98 12:32:03 PM
Please respond to ADSM-L AT VM.MARIST DOT EDU
To: ADSM-L AT VM.MARIST DOT EDU
cc:
Subject: Recovery log error ANR0209E on server startup


Our configuration is ADSM 2.1.5.15 on AIX 4.1.5.  Our RS6000 died today.
After the reboot, ADSM wouldn't start.  The error messages are:

ANR0209E Page address mismatch detected on recovery log volume
/adsm_volumes/rlogvol1, logical page 127
(physical page 383); actual: 99253.
ANR9999D logwrite.c(437): Error reading recovery log.

Level 1 thinks I'll have to restore my database, but has referred the
problem to level 2 just in case they know of some magic.  I thought I'd
see if any of you have suggestions other than doing a restore.

Any help will be appreciated.

By the way, the decision had been made a while back to not use ADSM
mirroring because our disk (EMC2 Symmetrix) has internal mirroring.
Would ADSM mirroring of the log and database have reduced the chances of
getting this error?  If so, I'll probably try to get some more disk
space.

Tina Hilton
Systems Consultant
Thomson Consumer Electronics, Inc.
Systems Software
hiltont AT tce DOT com
317-587-4292