Re: AGAIN: Cannot start Online Engine
Posted in 1994
In article <Cnsn0L.GHG@informatik.uni-muenchen.de> spitz@GANS1X.ana.med.uni-
muenchen.de (Richard Spitz) writes:
-> Dear Online Gurus,
->
-> a while ago, I posted the following problem, but didn't receive any
-> helpful replies. Since I cannot believe that the collective net.wisdom
-> of this group has absolutely no solution or helpful hints, I am trying
-> again.
->
-> We switched our Online engine over to another server at the beginning of
-> this year and consequently put our old engine to sleep. All databases
-> were deleted and the "tbinit" commented out of the startup scripts, but
-> other than that, nothing was changed on the old server. The raw devices
-> that were used for the Online engine were not re-used!
->
-> I have now encountered some data corruption in the new engine (specifically,
-> FLOAT/SMALLFLOAT data have their decimal digits cut off, but I think
-> I know what I did wrong when I transferred the data from the old to the
-> new engine) so I want to re-load the old data into the old engine so
-> I can restore the corrupted data.
->
-> I can read the backup tape without problems, but when I try to start up
-> the engine, I get an error, and the engine stays offline. The logfile
-> gives the following messages:
->
-> Tue Apr 5 17:39:55 1994
->
-> 17:39:55 INFORMIX-Online Initialized -- Shared Memory Initialized
-> 17:39:55 Physical Recovery Started
-> 17:39:55 Checkpoint Completed
-> 17:39:55 Physical Recovery Complete: 0 Pages Restored
-> 17:39:55 Checkpoint Record not Found in Logical Log
-> 17:39:55 Cannot Rollforward from Checkpoint
-> 17:39:55 INFORMIX-Online Stopped
->
-> What is going on here? Please help, I am getting desperate!
->
-> This is Online 4.10 on a Siemens-Nixdorf MX300-30 with SINIX 5.24.
->
-> Hoping for help,
-> Richard
Dear Richard!
One of our customers had exactly the same problem in Online 5.00.UD1 on
a ALR ProVEISA 66 MHz Dual Modular Prozessor with
SCO-UNIX System V/386 Release 3.2v4.2 MPX same days ago.
The problem occured when all logical logs where full and the users
tried to start the application again and again for about 4 hours.
There was no other way then to repair the existing database because
the customer did the last level-zero-backup about six months ago
and saved the logical logs always on the same tape.
NOTE FOR "REAL ONLINE-GURUS" possibly reading this:
I have had not very much time to solve this problem (about one night) and i
haven't had any time to check it through again so there may be some steps
which could eventually be omitted or shortened.
ANY note about my solution will be wellcome.
IMPORTANT NOTE FOR all of you who want to use the following informations to
bring up their crashed ONLINE:
Patching an Informix-Online-dbspace is a very destructive operation if you
don't exactly know what you are doing.
Please make verified Backups of your complete Unix-system including all
partitions, the Online-root-dbspace and the optional mirror-dbspace.
DON'T type in the following commands without adapting them to your special
configuration-options e.g. Informix-version, machine-specific implementation
by Informix, ROOTOFFSET, MIRROROFFSET.
Any information in the logical logs will be lost.
***********************************************************************
I am NOT responsible for anything (especially destructive) which might
happen if anyone uses all or some of the following.
***********************************************************************
Here is in short terms what I have done to repair the crashed
database.
1. I made a backup of the rootdbs and the optional mirrordbs
Creating two or more backups and verifying them is recommended
especially if you are using tapes.
(In my special case I used dd and gzip to create a backup-file in
the standard-filesystem because I was accessing the system remotely
via ISDN and there was no tape mounted).
2. I initialized the whole dbspace.
(If you have enough disk-space free on your or a similar system, you
can create an empty dbspace and the optional mirrorspace at another
location in your filesystem and save some time. Remember to save
and restore your tbconfig)
(You can optional reduce the size by changing the ROOTSIZE of this
empty rootdbs because you only need it to get fresh initialized
reserved pages)
3. I forced a checkpoint with tbmode -s.
(I don't think this is really required)
4. I brought Online into offline-mode with tbmode -ky
5. I started tbcheck -pr > filename and got something like the
following information:
START******** OUTPUT OF TBCHECK -PR STARTS HERE*******************START
Validating INFORMIX-OnLine reserved pages - PAGE_PZERO
Identity INFORMIX-OnLine
Database system state 0
Database system flags 0
Page Size 2048
Date/Time created 03/31/94 12:04:15
Version number of creator 2048
Last modified time stamp 1
Validating INFORMIX-OnLine reserved pages - PAGE_CONFIG
ROOTNAME rootdbs
ROOTPATH /dev/rrootdbs
ROOTOFFSET 0
ROOTSIZE 450000
MIRROR 1
MIRRORPATH /dev/rmirrordbs
MIRROROFFSET 0
PHYSDBS rootdbs
PHYSFILE 25000
LOGFILES 50
LOGSIZE 1000 MSGPATH /usr/informix/online.log
CONSOLE /usr/informix/system.log
TAPEDEV /dev/tape1
TAPEBLK 128
TAPESIZE 2000000
LTAPEDEV /dev/tape2
LTAPEBLK 128
LTAPESIZE 500000
DBSERVERNAME ONLINE
SERVERNUM 0
DEADLOCK_TIMEOUT 60
RESIDENT 1
USERS 50
LOCKS 20000
BUFFERS 5000
TBLSPACES 1024
CHUNKS 4
DBSPACES 4
PHYSBUFF 32
LOGBUFF 32
LOGSMAX 54
CLEANERS 2
BUFFSIZE 2048
SHMBASE 0
CKPTINTVL 300
Validating INFORMIX-OnLine reserved pages - PAGE_1CKPT & PAGE_2CKPT
Using check point page PAGE_1CKPT.
Time stamp of checkpoint 5097098
Time of checkpoint 04/08/94 16:25:52
Physical log begin address 1011a6
Physical log size 12500
Physical log position at Ckpt f78
Logical log unique identifier 19
Logical log position at Ckpt 145018
DBSpace descriptor page 100004
Chunk descriptor page