Results 1 to 3 of 3
  1. #1
    Join Date
    Nov 2004
    Posts
    27

    Unanswered: dbcc page allocation errors

    Greetings all,

    If I am encountering the below error messages when I run the dbcc commands against one of my user databases. I tried a dbcc tablealloc, but it did not resolve these page allocations error. What is the dbcc command to fix these errors?

    Sincerely,

    Patrick Quinn

    TQ3Navigant Sybase Database Administrator

    Table Corrupt: Page is allocated but not linked; check the following pages and ids: allocation pg#=596480 extent id=596528 logical pg#=596529 object id on extent=8 (object name = syslogs) indid on exten

  2. #2
    Join Date
    Oct 2004
    Location
    India
    Posts
    11
    Hi Quinn,

    Error log indicates that there is a linkage problem in syslogs table.
    Run the following dbcc commands in sequence.

    The database has to be in single user mode.

    dbcc checkcatalog (dbname)
    dbcc checkdb ( dbname,"fix_spacebits")
    dbcc checkalloc ( dbname,"fix")

    Regards,
    Sanoj Nair

    Quote Originally Posted by powerdude
    Greetings all,

    If I am encountering the below error messages when I run the dbcc commands against one of my user databases. I tried a dbcc tablealloc, but it did not resolve these page allocations error. What is the dbcc command to fix these errors?

    Sincerely,

    Patrick Quinn

    TQ3Navigant Sybase Database Administrator

    Table Corrupt: Page is allocated but not linked; check the following pages and ids: allocation pg#=596480 extent id=596528 logical pg#=596529 object id on extent=8 (object name = syslogs) indid on exten

  3. #3
    Join Date
    Aug 2004
    Posts
    38
    It's probably worth checking syslogs again as most allocation errors on syslogs are spurious, due to the database being in multi-user at the time of the check. It's quite likely that more errors will be raised on a second check, but if the page numbers are different you can probably ignore them. As Sanoj says, the only way to be really sure is to put the database into single user.

    If downtime on the database is an issue (while it's in single user) then tablealloc would be a quicker fix than checkalloc:

    dbcc tablealloc(syslogs,full,fix)

    Finally, there is a traceflag that you can set to tell checkalloc to ignore syslogs, but I guess that if you're going to use this then you have to work under the assumption that all allocation errors on syslogs are always transient.

    HTH

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •