Result File Contents
Any errors detected in the databank file are written to the result file directly after the identification record for the table affected.
The result file begins with the following information:
- Databank file name.
- Time when the DBC operation was performed.
- Version of Mimer SQL under which the databank was created (if this is not the same as the current version there will also be a 'converted to' message).
- A backup timestamp.
- Structure level.
- System identifier for the databank.
- Databank sequence number (0 = master databank, >0 = a shadow).
- Check flag.
- Number of bitmap pages (starting at 0).
- Root pages (starting at 1).
- Number of pages allocated.
- Number of pages used.
Note: If the databank was not properly closed when Mimer SQL was stopped, there may be an additional message saying:* No bitmap checking against databank!
If the check flag indicates that the databank was not properly closed, the database server will not allow the databank to be accessed and it will, therefore, not be possible to perform any operations.
DBC Table Information
An identification record is given for each table in the databank. The following information is shown:
The system identification number of the table. This is the number used to identify the table in the data dictionary. The table name is not stored directly in the databank file. The page number of the start page for the highest index level.If the number of levels is 1, this is the only data page. If the start page is 0, the table is empty. The number of levels in the table storage structure. The length of the primary key in bytes. The record length (row length) of the table. Base table, Base table (VL), Secondary index table or Secondary index table (VL).(VL) indicates that data pages have variable-length records (i.e. are compressed). Resident or Marked for delete. Size of the index page in bytes. Size of the data page in bytes. Indicates how many index pages were checked. Indicates how many data pages were checked. Gives an approximate measure of the space used in the data pages.This is expressed as a percentage, which may be >100% for data pages having variable-length (i.e. compressed) records because the required number of pages is calculated based on uncompressed record sizes. If no errors are reported, the number of records reached is equal to the total number of records (rows) stored for the table.
DBC Table Information for LOGDB, TRANSDB and SQLDB
For LOGDB, TRANSDB and SQLDB, the identification record contains the following information:
Ordered identification. First page in the sequential file. Last page in the sequential file. Sequential table or Sequential table (VL).(VL) indicates that pages have variable-length records (i.e. are compressed). Resident or Marked for delete. Size of the page in bytes. Number of pages checked. Number of records checked.
The following error situations are described by explicit messages in the result file:
The number of free bits in the bitmap is marked as a negative number or as a number greater than the permissible value. The pointer to the first word is either negative or greater than the number of words per page, or points outside the number of allocated pages.
Root Page Errors
The record length is not valid for the current version or for the site. The reference to the page number (x) is invalid. (Applies only where there is more than one root page.)
Sequential Structure Errors
Error in page linkage. The record length is either not the same as in the previous page or outside the page limits. A record stretches over the page limits.
Table Structure Errors
The value for start page, levels, key length or record length is outside the legal values for the site. The record length (x) given in the page is not the same as that given for the table. The pointer (x) to data within a page is outside the page limits. The limits are the values of bytes/header and bytes/page. The records in the page are not correctly sorted. The value of x is the byte position within the page for the start of the wrong record. The records within a page include key values greater than those in the index level above. The value of x is the byte position within the page for the start of the last record. Reference is made to a page number (x) which is higher than the highest allocated page. There are at least two references to the same page number (x). One of these references should also give another error, or an error should have been notified earlier in the file. A page that is used is illegally marked as free.Continued insertion of data in the databank will result in a double referenced page.
All table structure errors are followed by a listing of the page numbers passed in the B*-tree structure on the way to the error. In the example below a y-value indicates the byte position in the page (corresponding x-value) where the record holding the reference to the next level starts:B*-tree Page no: x1 x2 x3 .... xn Byte pos: y1 y2 y3 .... yn
If the error occurs at an index level, the following additional message is given, and no checks are made at lower levels:Branch is interrupted
Upright Database Technology AB
Voice: +46 18 780 92 00
Fax: +46 18 780 92 40