Error 821

Severity

20

Message text

Attempt to unhash buffer at 0x%lx with a  buffer pageno of %ld and database id %ld with HASHED status set failed - buffer  was not found. %S_PAGE.

NoteThis error may be caused by a hardware problem.

Explanation

Every data or index page in the data cache has a corresponding buffer pointing to it, controlling its stay in the cache. As these pages are read and modified, they are scheduled to be written to disk and removed from the data cache. Error 821 occurs when Adaptive Server attempts to remove a nonexistent or corrupted page from the data cache.

Some potential causes of this error are:

This error can occur during database recovery as well as during normal operation of Adaptive Server.

Action

  1. Check the Adaptive Server error log to determine whether there are other indications of hardware problems, such as kernel messages reporting I/O errors. If problems exist, solve them.

  2. Check the operating system error log or run diagnostic utilities to check for I/O errors. If problems exist, solve them.

    Refer to “Checking the operating system error log” in the chapter “Other Useful Tasks” in the most recent version of Troubleshooting and Disaster Recovery for assistance.

  3. Once the actual cause of corruption has been removed, shut down and restart Adaptive Server to clear the 821 error.

Using dump transaction with no_log

Using the dump transaction with no_log command can result in an 821 error. Therefore, do not use dump transaction with no_log unless it is absolutely necessary (when dump transaction with truncate_only will not truncate the log). Try using dump transaction with truncate_only first and use the no_log option only as a last resort. Refer to Error 1105 for details.

Check for any occurrences of dump transaction with no_log in any of your scripts or procedures and replace them with dump transaction with truncate_only.

Versions in which this error is raised

All versions