Checks the database for data and structural integrity.
|errorlogFile||Name and optional path of destination file for error messages. If no path is specified, the specified list file is stored in the current application\database directory.|
This command validates the current database. You must select a database before issuing this command.
The VALIDATE command checks the following information:
- Verifies data integrity in each block. Reading from top to bottom, it checks blocks, sections, block type, and block length. The command checks for validity in floating-point numbers. This command writes information about bad blocks to the log file.
- Automatically compares every index key in the index page with the index key in the corresponding data block and checks other header information in the block. If it encounters a mismatch, VALIDATE displays an error message and continues processing until it checks the entire database.
- Compares the data block key in the index page with the data block key in the corresponding data block. Keys out of order indicate corruption.
- Verifies the structural integrity of the index free space information in the index.
- Verifies the structural integrity of the LRO catalog.
If this command finds integrity errors, it writes validation process error messages to a text-format log file. The default location for the specified file is in the application\database directory. For example:
- You can also use the VALIDATE command to clear an internal file,
database_name.OCL, when it grows too large.
database_name.OCLis a file used for incremental restructuring. VALIDATE causes Analytic Services to restructure any blocks whose restructure was deferred, and clears the file.
- Before issuing the VALIDATE command, we recommend placing the database in read-only mode, using the ESSCMD BEGINARCHIVE or the MaxL statement
alter database DBS-NAME begin archive to file FILE-NAME;