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)