Consultor Eletrônico



Kbase 19747: Index Rebuild Fails During Phase 1 With Error 163.
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   10/15/2008
Status: Verified

SYMPTOM(s):

Proutil idxbuild fails during Phase 1.

SYSTEM ERROR: Seek error 22, file xx, addr -xxxxx. (163)

SYSTEM ERROR seek error 22, file 5, addr -2147453952 (163)

System Error. Seek Error 22, File 9, addr -2147453952 (163)

Using multi volume sort file (.srt)

Sufficient space on drives defined in .srt file

Multi-volume .srt resides in the same directory as the database.db file

CAUSE:

Rebuilding ALL indexes on a database larger than 2 gigabytes in size requires the use of a sort file.

A extent within the sort file (.srt) exceeded the 2 gigabyte limit during the idxbuild operation.

The Operating system errno.h file contains the following entry for error 22.
#define EINVAL 22 Invalid argument ?

The error 22 was called because an Operating System read function failed to read the block located at ?22xxxxxxxx.

The OS error 22 is trapped because the file# that was being read was 2147453952
in size. Srt files are restricted to 2GB in size or 2,147,483,648 bytes.

FIX:


Modify the dbname.srt to include additional extents or fix the defined file sizes.

As a rule of thumb: Create a structure file that is 75% of the database size.
The actually space needed will depend upon the index definition of the database.
Each extent should allocate LESS than 2GB for each instance.

For Example:

Create a file called dbname.srt where the dbname.db file resides that contains entries similar to:

2000000 /usr/sort1/
2000000 /usr/sort2/
2000000 /usr/test/
0 /usr/test1/


This sort file will create 3 sort files 2,048,000,000 (2000000 X 1024) in size just below 2GB. The number representation of sort files is always in KB.

To create sort files that are 1GB in size use (1000000)