The SCANDISK command validates the file system and reports any errors found, including discrepancies in the following items:
- Key file system data structures, such as master index (MI), current (memory) copy of the snapshot MI, cylinder indexes (CIs), data blocks (DBs), and free CIs. Additionally, SCANDISK validates the WAL Log structures: WAL master index (WMI), WAL cylinder indexes (WCIs), and WAL data blocks (WDBs).
- The RowIDs, including the partition numbers, for key physical rows should match the values stored for those rows in the cylinder index and master index.
"Physical row" means the low-level row structure that is stored by the file system. A physical row can store one of several types of data, such as table rows, the data from one or more column partitions, a table header (metadata about the table), index data structures, and other types of data. Every physical row stores only one kind of data.
- The WAL Logical Sequence Number (WLSN) for key physical TJ and REDO records should match the values stored for those records in the WAL Cylinder Index and WAL Master Index.
- Within a subtable, the internal partition number of a physical row should be greater than or equal to the internal partition number in the preceding row, if any.
- Within a subtable, either all the physical rows are partitioned (the physical rows include an internal partition number) or all the physical rows are nonpartitioned (the physical rows do not include an internal partition number).
- Within a partition, the RowID of a physical row should be greater than the RowID in the preceding row, if any.
- The calculated checksum values of key file system data structures (Cylinder Index, Data Blocks and their WAL counterparts) should match the recorded checksum values (if checksums are enabled).
- The internal partition number is not validated for consistency with the result of the partitioning expression applied to the partitioning columns in a logical row, or for consistency with currently defined column partition numbers.
- The hash value in the RowID of the physical row header is not validated with the result of hashing the index columns for a primary index or primary AMP index.
You can use Ferret commands INQUIRE and ABORT to check the progress or halt this operation.