Consultor Eletrônico



Kbase P141193: Truncating database lg file with prolog fails
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   13/03/2009
Status: Verified

SYMPTOM(s):

prolog online fails to truncate the database lg file

truncating the database lg file offline aborts

The status of the log file for /usr1/db/dbname.lg is:
uname -2117937864 Wed Feb 11 13:32:48 2009 /usr1/db/dbname.lg
(1)lseek failed -13872 with error 0

D:\db\dbname.lg is less than 3072 bytes - truncation aborted.

After the database lg file truncation failure, the lg file is still same size as it was previously

FACT(s) (Environment):

Progress 9.x
OpenEdge 10.1x
OpenEdge 10.2A
All Supported Operating Systems

CAUSE:

The database lg file is larger than 2GB. The lseek position is still 32-bit limited for prolog.

CAUSE:

Bug# OE00180941

FIX:

This issue is fixed in Service Packs 10.1C04 and 10.2A01

Workaround: OFFLINE

a. Use OS utilites to archive the current database lg file for later reference
b. Instead of running prolog, delete the database lg file

Workaround: ONLINE

a. Use OS utilites to archive the current database lg file for later reference

b. First check for size of lg file before running prolog:
EXAMPLE [UNIX]:

SIZE=`ls -ls dbname.lg | awk '{ print $1 }'`
if [ $SIZE -lt 2097152 ] # if lg file is < 2 GB
then
prolog dbname.lg
fi

EXAMPLE [WINDOWS]:

for /f %%a IN ('dir /b *.lg') DO (
if 2097152 geq %%~zF call runprolog.bat %%~na %%~xa
)

# runprolog.bat
CALL prolog %1

For database lg files < 2GB please refer to Solution P20131, "How to truncate a database log online."