English

Bug: Running sdegdbrepair -o repair_tables on a DB2 geodatabase fails if the SDE_LOGFILES table does not exist

Description

When running the sdegdbrepair -o repair_tables command on a DB2 geodatabase, a function sequence error occurs during the registration scan. This happens if all of the following are true:

· The SDE_LOGFILES table has not yet been created in the geodatabase.

· At least one table has been successfully repaired.

· More than 100 tables remain to be scanned after the first table has been repaired.

Cause

This is a known issue.

When the sdegdbrepair -o repair_tables command finds a table to fix, it checks to see if the SDE_LOGFILES table exists. If it does not, a ROLLBACK occurs, the SDE_LOGFILES table is created, and additional tables are repaired, up to the first block of 100 registered tables.

When an attempt is made to retrieve the next 100 registered tables from the TABLE_REGISTRY table, a function sequence error is returned. This occurs because the ROLLBACK invalidated the open registry scan cursor.

Workaround

Once the SDE_LOGFILES table exists in the geodatabase, execute sdegdbrepair -o repair_tables a second time; the repair succeeds because the SDE_LOGFILES table was created when the command was run the first time, therefore, no ROLLBACK occurs during the registration scan.