Consultor Eletrônico



Kbase 21970: Forced Shutdown Will Damage Database That's Running with -i
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   16/04/2002
SUMMARY:

Running with the -i parameter, a database which has transactions being processed against it will be damaged if you issue a forced shutdown against the database.

EXPLANATION:

The database will be damaged because when running with the -i parameter (No Crash Protection), the database is running without integrity. This means that if the database were to crash for any reason, you would need to go to backup. This is because you are not running with integrity and therefore cannot perform crash recovery with the limited information which was written to the bi file.

When you perform a forced shutdown, Progress sets a flag in the master block indicating that the database is in a crashed state. This flag means that the database has to perform crash recovery. Because the database was running with -i, it cannot go through crash recovery. The result is a damaged database. You will also have the following errors:

16:03:12 BROKER 0: Multi-user session begin. (333)
16:03:12 BROKER 0: ** The last session was run with the no integrity (-i) parameter. (509)
16:03:12 BROKER 0: ** Your database cannot be repaired. You must restore a back up copy. (510)
16:03:12 BROKER 0: SYSTEM ERROR: The broker is exiting unexpectedly, beginning Abnormal Shutdown. (5292)
16:03:12 BROKER 0: drexit: Initiating Abnormal Shutdown
16:03:12 BROKER 0: ** Save file named core for analysis by Progress Software Corporation. (439)
16:03:12 BROKER 0: SYSTEM ERROR: Memory violation. (49)
16:03:12 BROKER 0: ** Save file named core for analysis by Progress Software Corporation. (439)
16:03:13 BROKER : ** The server terminated due to signal 11. (801)

The protrace file shows only that it was the _mprosrv that failed but no system calls or any additional information. Example:

solaris:91c$ more protrace.2765

PROGRESS stack trace as of Tue Apr 16 16:03:12 2002
Command line arguments are
/view/rdl91c_solaris/vobs_prgs/solaris/dlc/bin/_mprosrv fred

If you were running a database with the -r option, you will not damage your database, however you will receive error:

An earlier -r session crashed, the database may be damaged. (514)

You can still access a database that was running with the -r option. On startup you will continue to see the error above being written to the database log file.