Error 624

We have just upgraded our database server to a 14 processor ultrasparc and are now having a problem with one of the tables in the database.
We dumped the database and reloaded it on the new machine and now one of the tables is giving us error 625 (Could not retrieve row from logical page %ld via RID because the entry in the offset
table for that RID is less than or equal to 0.) whenever we try to update it from a trigger in another table in the database. DBCC shows no errors and we have even dropped the table and BCP'd the data back into it but still the error occurs.
We are also getting the occasional error 693, 625, and 605 but again only on this table even after we have recreated it.

Has anyone any ideas of what this can be and how to fix it?
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

BoringAuthor Commented:
sorry the title of the above should read error 625
Have you tried this:

find which index may be used by the trigger.
drop the index and recreate it.


(re)create a clustered index on the table

The above solutions come from the Sybase error messages book.

Also maybe the problem is at the table the trigger fires from, maybe recreate  the trigger? Or the entire table?

Good luck...

I think I have run into this before. Try to recreate the trigger and all stored procedures it calls.

If that won't help, send here output of the 'select @@version' command (the version string).
Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

BoringAuthor Commented:
I have found the section of the trigger causing the problem. This worked before we moved onto the new machine. The Trigger  is stored in the OrderLine table and is triggered on a Status update and acts on ChargeLine.
Comment this section out and all work fine. This should never have hit we can find no line where this delete would delete anything. Any thoughts?

/*      delete ChargeLine where Charged <> 'y'  
                              AND (BatchNo=0 or BatchNo is NULL)  
                              AND exists(select * from inserted i    
                                                where i.OrderNo=ChargeLine.OrderNo  
                                                AND i.SectionID=ChargeLine.SectionID  
                                                AND i.LineRef=ChargeLine.LineRef  
                                                AND ((i.LineStatus<>"3" AND i.LineStatus<>"3a"  AND i.LineStatus<>"8") OR i.LineStatus is NULL))  
                              AND exists(select * from deleted d    
                                                where d.OrderNo=ChargeLine.OrderNo  
                                                AND d.SectionID=ChargeLine.SectionID  
                                                AND d.LineRef=ChargeLine.LineRef  
                                                AND (d.LineStatus="3" OR d.LineStatus="3a" OR d.LineStatus="8"))  
BoringAuthor Commented:
We have recreated everything on the table we currently have one clustered and one non clustered index. And like I said we have compleatly destroyed and re-created the whole table.
BoringAuthor Commented:
Adaptive Server Enterprise/11.9.2/1031/P/Sun_svr4/OS 5.5.1/FBO/Fri Aug 14 06:26:45 1998
We had te same problems here.

You have run into bug 195847

wrID  BugID   Description
   -----  ------  ------------------------------------------------------

    8444  195847  Queries using OR strategy with APL tables (Using
                  Dynamic Index reported by SET SHOWPLAN option) may hit
                  error 625 "Could not retrieve row from  logical page
                  <X> via RID because the entry in the offset table for
                  that  RID is less than or equal to 0." resulting into
                  the session being killed.   A stack trace will be
                  reported into the error log with modules apl_getnext,

This means that you must upgrade your Sybase version.

The latest Sybase software relaease is SWR 8720 from 25 Januari.

Get it as soon as possible from Sybase (CD or download)

Succes, Albert

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It could be the problem with the Hardware too.
so U  ,where and hoe Ur datafile R ,if it is in file system and in Raid too ,
then U have to understood how Ur operating system is taking care of UR ASE while writing to disk. Secondly ,Do check on which device Ur table is located and try to change is to some other physical device .
R U facing this problem

1.with certain table or all the table on that device .

2. that table size and number of transaction on that table compare to other table on the same device.

3. and hoe frequent U R doing Transaction on that table ,

4. Does that table contain the varchar datatype and  null field on col.

5.Does Index contain the varchar field.and hoe frequently U r modifying it.

Those going to be the decieding factor for the wheather problem is with device or ASE problem.
BoringAuthor Commented:
I am SOOO sorry that I did not accept your answer quickly. Is there any way I can up the autograde to a better one?
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Sybase Database

From novice to tech pro — start learning today.