Kbase P150623: Binary load with indexes fails with an error indicating that the indexes option is valid only for em
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  13/08/2009 |
|
Status: Unverified
SYMPTOM(s):
Binary load with indexes fails with an error indicating that the indexes option is valid only for empty tables
Index XX is not empty.
Build indexes option is valid only for empty tables.
Binary Load failed. (6255)
Command: proutil dbname -C load tablename indexes
Table being loaded is empty. (Does not contain any data).
Data was deleted from the table prior to running the binary load command.
Data was deleted from the table while the database was up in a multi-user mode.
FACT(s) (Environment):
Can binary load the table without the indexes option e.g. proutil dbname -C load tablename.bd
Database is a UTF-8 database
-cpinternal is set to UTF-8
IBM AIX
OpenEdge 10.1B03 Service Pack
OpenEdge 10.1C
CAUSE:
Bug# OE00165962
CAUSE:
There are place holders in the index entries for the table associated with the records that had been deleted when the database was being served / up in a multi user mode. A binary load with indexes, detects these places holders and will not allow the load to proceed.
FIX:
Upgrade to 10.2A.
If upgrading to 10.2A is not possible at this time, the following workarounds can be used:
1. Binary load the table without indexes. e.g. proutil dbname -C load tablename.bd and then build the indexes later. OR
2. Next time delete the records without the database being server. Delete place holders are not utilized when a delete routine is performed in a single user session. Delete place holders only occur when the database is in a multi-user mode. OR
3. Perform an idxcompact against the indexes that contain the place holders. Example: proutil dbname -C idxcompact tablename.indexname . Compacting the indexes will result in the place holders being removed from the index entries. OR
4. Perform an idxbuild on the indexes that contain the place holders.