Version 22.214.171.12401 network database server encountered an assertion failed: 200608 Freeing page not in arena. Looking for an explanation for this assertion to know what can be done to prevent it from happening again.
I restored their backup database and got them back up and running yesterday, but it happened again this morning at the same time, 3:00 AM.
First, have a look at Handling an Assertion Failure.
Also, test the RAM memory on your server computer to make sure there are no faults. RAM failures can masquerade as all sorts of other symptoms, starting at data errors like this one and going all the way up to blue screen. Sometimes, depending on your resources, it is simpler to simply swap RAM, or swap computers, than to test RAM (thorough RAM tests are non-trivial).
(if the possibility of a RAM error doesn't frighten you, it should... continued use of a database on a computer with RAM faults can quickly result in a permanently unusable database as the errors introduced to the data by RAM faults are written to the disk)
Then, try applying the latest EBF for 11.0.1. I didn't find a mention of assertion 200608 in the EBF read-me for 126.96.36.19937 for Windows, but that doesn't mean it hasn't been eliminated by some other fix. Assertions often mean there's a bug in the code rather than a flaw in the data.
Take a backup and then run dbvalid on that copy... if it runs OK then the original database is OK since a backup never fixes anything.
The REAL answer is: call tech support. This forum is operated on a volunteer basis, and although Engineering folks answer a lot of questions, this is summer vacation time, and the rest of us outsiders have no access to the code (which is where assertion numbers are documented).
Another step you can (should) take at the earliest opportunity: Make sure Global Checksums are turned on, and if they aren't, recreate your database using the dbinit -s option. Run dbinfo to see if checksums are already turned on or not (they should be on by default, but funny things happen when old databases are upgraded):
"%SQLANY11%\bin32\dbinfo.exe" -c "ENG=ddd11;DBN=ddd11;UID=dba;PWD=sql" -o dbinfo11.txt SQL Anywhere Information Utility Version 188.8.131.5287 Database : C:\projects\$SA_templates\ddd11.db Log file : C:\projects\$SA_templates\ddd11.log Log mirror: none Page size : 8192 Encrypted : No Strings padded with blanks for comparisons: No Respect letter-case when comparing: No ('A' equal to 'a') Collation sequence: 1252LATIN1 (Code Page 1252, Windows Latin 1, Western) Database checksums enabled: Yes Encrypted tables supported: Yes
answered 21 Aug '12, 09:23
The error means that the engine has freed a table page but the page was not part of the tables page bitmap (for regular table pages) or table extention page bitmap (for blob pages). Both are table allocation bitmaps.
Rebuild the database if possible and use the latest EBF. If you cannot rebuild the database because its too large then try to find the effected table, for example by running with -zr sql -zo logfile and looking for the latest incomplete requests in the logfile.
answered 23 Aug '12, 05:21