20
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.
This error may be caused by a hardware problem.
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:
Overlapping partitions (refer to “Choosing between raw partitions and UNIX files” in the chapter “Other Useful Tasks” in the most recent version of Troubleshooting and Disaster Recovery).
Hardware failure.
An Adaptive Server problem (such as can occur when using the dump transaction with no_log command after a period of heavy user activity in the database).
This error can occur during database recovery as well as during normal operation of Adaptive Server.
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.
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.
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.
All versions