IOException: Data error (cyclic redundancy check) at File Input Stream.read(File Input Stream.java:246) at
Buffered Input Stream.read1(Buffered Input Stream.java:284) at
Buffered Input Stream.read(Buffered Input Stream.java:345) at
As explained above, a validation of a database will actually validate and update the database structures to, hopefully, return the database to a working state.However, you may not want this to happen and in this case, you would perform a read only validation which simply reports any problem areas and does not make any changes to the database.To carry out a read only validation, simply supply the Checksums are used to ensure that data in a page is valid.This command validates the database and makes updates to it when any orphan pages are found.An orphan page is one which was allocated for use by a transaction that subsequently failed, for example, when the application aborted.
In this case, committed data is safe but uncommitted data will have been rolled back.
The page appears to have been allocated for use, but is unused.
If the checksum no longer matches up, then it is possible that a database corruption has occurred.
You can run a validation against a database, but ignore the checksums using the This causes the corruptions in data records to be ignored. Subsequent database actions (such as taking a backup) will not include the corrupted records, leading to data loss.
The best way to avoid data loss is to make sure that you have enough regular backups of your database and to regularly carry out test restorations.
There is no point taking backups every night, for example, if they cannot be used when required.