This section contains error messages for Adaptive Server commit and abort transaction operations.
21
Invalid log record found in syslogs (logop %d).
This error may be caused by a hardware problem.
The syslogs table is the Adaptive Server transaction log, containing a record of changes made in the database in the order in which they occur. Adaptive Server scans the records in the transaction log during database recovery and certain other activities. Error 3301 occurs if Adaptive Server encounters an invalid record while scanning the transaction log. logop refers to the type of record (log operation) encountered. For example, a logop of 18 is logged by a save transaction command.
Error 3301 is raised with the following states:
State |
Meaning |
---|---|
1 |
An unexpected log record was encountered during recovery. |
2 |
An unexpected log record was encountered while rescanning portions of the log during recovery. |
3 |
Recovery encountered a savepoint record it did not expect to find. The record marks the beginning of a portion of a transaction that is to be rolled back (and should not be seen during recovery). |
4 |
An obsolete record was encountered during recovery. |
5 |
While scanning a block of records for a transaction, recovery encountered a savepoint record pointing back to a previous savepoint record which was missed during the scan. |
6 |
Recovery encountered a savepoint record it did not expect to find. The record marks the end of a portion of a transaction that is to be rolled back (and should not be seen during recovery). |
7 |
Nested abort records were found in the log during a rollback. |
8 |
An unexpected log record was found during a rollback. |
9 |
An unexpected log record was encountered while translating log records associated with an obsolete log format (for a previous Adaptive Server version) to the format for the current Server version. |
10 |
An out-of-range logop number was encountered while translating log records associated with an obsolete log format (for a previous Adaptive Server version) to the format for the current Server version. |
This is a serious error as it indicates a problem with the transaction log. Corrective action depends on the state with which the error is raised.
A 3301 error during recovery marks the database suspect. The database is identified in the error log. Restore the database from a good backup as follows:
Drop the database. If the drop fails, follow the instructions in “How to Drop a Database When drop database Fails”.
Create a database for load. Make sure the database you create has sizes as least as large as those in sysusages for the original database (and that all other sysusages values match the original values). For more information, refer to “create database” in the Reference Manual.
Load the database from backup. (Refer to “load database” in the Reference Manual.)
Use the online database command to make the database available for use.
A 3301 error with these states indicates a run-time error when Adaptive Server attempted to roll back a single transaction. Contact Sybase Technical Support for assistance.
A 3301 error with these states typically occurs when upgrading via a load. To avoid this error a standard procedure such as upgrading via sybinit, or bulk copying data out of the old server and into the new server, is recommended.
Refer to “Developing a Backup and Recovery Plan” in the System Administration Guide for complete information about how to safely create, dump, load, and re-create databases.
All versions
21
Process %d was expected to hold logical lock on page %ld in database %S_DBID for object %S_OBJID, index number %d.
This error occurs when Adaptive Server, while committing or aborting a transaction, attempts to release a lock on the page displayed by the error message and the page is not locked.
This error may occur during recovery as well as during run time.
Common causes of this error are:
A software failure occurred.
When Adaptive Server was performing a rollback, it expected a logical lock on the page displayed in the error message but the lock could not be found.
When Adaptive Server attempted to deallocate a page, it expected a logical lock on that page but one did not exist.
Adaptive Server tried to undo a page deallocation.
Adaptive Server tried to roll back a user transaction which has executed a stored procedure that required reresolution. Reresolution is required for stored procedures that reference objects which have been dropped and re-created between executions.
Look for other errors in the Adaptive Server error log as well as in your operating system error log to find out the specific source of the problem and clear those errors first, as they might be the actual cause of the error. Restarting Adaptive Server will release any locks that active transactions might still hold. However, this will not clear the root cause of this error.
If there are no other errors in the Adaptive Server error log or in your operating system error log, contact Sybase Technical Support for assistance.
For more information about transactions, refer to transaction in the Transact-SQL User's Guide.
Before calling Technical Support, have the following information available:
Server version and SWR Rollup level
Server error log
Hardware error log
Output of sp_lock and sp_who before restarting Adaptive Server
Text of all error messages
All versions