Results for DBMAINT are provided in two forms: an on-screen results window and DBMAINT.LOG. The window displays only when DBMAINT is not run from within another module, e.g., Night Utility Job System.
On-screen Results
Standard Tab
Status: The results on this screen are arranged in the following order:
Failed indicates that the selected action, e.g., reindex, was not completed.
Partial indicates that the selected action was only partially completed. E.g., DBMAINT won't pack TRANSACT when there are open reconciliations. However, it would still reindex.
Success indicates that the selected action was completed.
Path: Location of the of the file. The cursor can be placed on the separator bar in the heading to enlarge this field so that the entire path is visible. The same is true of each column on this screen.
Name: Name of the file.
Time: Time required to complete the selected action. The time is expressed as minutes:seconds:milliseconds. E.g., 1:23.456 represents 1 minute, 23 seconds and 456 milliseconds.
Running Total: The time elapsed since DBMAINT began.
Overall Time Elapsed: The total time required to complete all selected actions.
Error Detail: Highlighting a file and clicking this button displays a message box with detailed error information. This button corresponds with the ERRORS Section of the DBMAINT.LOG.
View Log File: Notepad displays the DBMAINT.LOG described below.
Close: Click this button to close the Results window.
Advanced Tab
The pane on the left of the Advanced tab contains a treeview of tables selected for the DBMAINT utility. Corresponding indexes can be displayed by clicking the + next to the table name.
Expand All: Clicking this button expands the treeview to display all .NDXs with the corresponding tables.
Collapse All: Clicking this button collapses the treeview to display only tables.
Table Statistics: This information displays when a table is highlighted in the left pane.
Index Statistics: This information displays when an index is highlighted in the left pane. This information is intended for use by technicians of Applied Systems for troubleshooting purposes.
DBMAINT.LOG
Each time DBMAINT is executed, whether from inside a module or alone, an entry is made in the DBMAINT.LOG. Each new entry is made to the bottom of the file. The file has a maximum size of 2MB. When the file exceeds 2MB entries are deleted from the top of the file.
New Entry Marker
Each new entry begins with a double-dash line. The second line begins with DBMAINT.EXE, followed by date and time the utility started.
SETTINGS FOR THIS RUN Section
Process Type: Stand-alone process
Options: List of the six options from the Database Maintenance Options screen marked "Yes" if selected
Files Selected: All Files, FIM Files, TAM Files, or Selected Files
ERRORS Section
Table: Path and filename
Errors: This line details any errors or failures that occurred when DBMAINT attempted to scan, pack or reindex. This section can hold a wide variety of information, from minimal problems, which may be addressed by the user, to critical problems, which require assistance from Support. In the example above, TRANSACT.DBF could not be packed because one or more open reconciliations exist. The table was still reindexed. The error below is a more extreme example. In this case the header for CASH.DBF is corrupted.
SHIFTED RECORDS FOUND BY SCAN
Scan Legend
N: NULL byte - This means that one of the fields in the record is of an incorrect length. You must select the Fix all shifted records that cannot be repaired option in order for TAM to be able to repair these records. The program immediately fixes that field to match the structure. Null bytes are self-correcting and do not need Support's attention. If the same error continues to print each time you scan, contact Support.
P: Non-printable character found - These are characters, such as smiley faces or ghosts, that most printers are incapable of printing. Quite often they correct themselves, but if the same error continues to print each time you scan, contact Support. You must select the Fix all corrupted records that cannot be repaired option in order for TAM to be able to repair these records.
Note: When null bytes and non-printable characters are corrected by scanning, any information that was in the field is lost, and the field is then left blank.
L: Lowercase letter found - A lowercase letter was found in a field that holds only upper case letters. Contact Support to fix these errors.
D: Bad delete flag or invalid deletion marker found - These are records that were once deleted, but the system cannot read the delete flag assigned to it. Contact Support to fix these errors. Do not pack if uncorrected shifted D's exist; the information may be removed from the database in error.
I: Invalid key value found - Contact Support to fix these errors.
S: Shifted record found - Usually, the field is completely missing in the record. Contact Support to fix these errors.
R: Numeric field value was shifted to the right - Indicates that a decimal point has been shifted. Contact Support to fix these errors.
T: Numeric field value was shifted to the left - Indicates that a decimal point has been shifted. Contact Support to fix these errors.
FIX - Indicates that TAM repaired the corrupted record.
DEL - Indicates that TAM deleted the corrupted record because it could not be repaired.
ERR - Indicates that an unexpected error occurred while scanning the record. Contact Support to fix these errors.
More shifted data tips:
If you receive multiple pages of errors on one particular database, contact Support, even if the error type is self-correcting.
After scanning files, a Pack and Reindex should not be run until the records have been corrected. The Pack and Reindex routine renumbers the records in each database and may change the accuracy of the scan report.
To verify that a shifted record is truly fixed, run the Database Maintenance utility with the scan databases option selected again.
You can also consult the DBSCAN.CUR file, available via the Log Viewer utility, for a list of shifted records. The data in this file, however, is only as current as the last pack and reindex.
Error Listing for Scan
The first line is the path and filename of the table scanned.
The second line gives the record number and error code(s). In the example above, record number 518401 has null bytes.
The third, fourth, and fifth lines list the fields that contain the corrupted data. If applicable, a sixth line displays indicating that more than three fields in the record are shifted. No additional details are provided in this line.
TABLES PROCESSED
Status: As with the on-screen results, there are three possible outcomes.
Failed indicates that the selected action, e.g., reindex, was not completed. See the ERRORS section for details of the failure.
Partial indicates that the selected action was only partially completed. E.g., DBMAINT won't pack TRANSACT when there are open reconciliations. However, it would still reindex.
Success indicates that the selected action was completed.
S: An X is marked in this column if the table was scanned.
R: An X is marked in this column if the table was reindexed.
P: An X is marked in this column if the table was packed.
Table: This lists the path and filename of the table.
Time min:sec: As with the on-screen results, this column refers to the time required to complete the selected action. The time is expressed as minutes:seconds:milliseconds. E.g., 1:23.456 represents 1 minute, 23 seconds and 456 milliseconds.
File size: This is the size of the file expressed in bytes.
Record Count: The total number of records in the table.