Results 1 to 3 of 3
  1. #1
    Join Date
    Jan 2014
    Posts
    1

    Unanswered: DB2 issues: table corruption, indexes, log file full

    Hi there,

    I've stumbled in here due to a DB2 issue that my software vendor can't help me with, and since they're using DB2-Express I can't get support from IBM. I think this will be simple enough for a DBA that knows DB2 a bit better than I do... with that said, here's my issue:

    DB2 Express-C v9.7.200.358

    At the end-of-day rollover last night (at which point the TODAY table is rolled into a monthly archive table and recreated), db2diag.log reports:

    Code:
    2014-01-22-00.05.09.162000-420 E1925590H604       LEVEL: Severe
    PID     : 2352                 TID  : 3180        PROC : db2syscs.exe
    INSTANCE: DB2                  NODE : 000
    EDUID   : 3180                 EDUNAME: db2loggw (CTI_DATA)
    FUNCTION: DB2 UDB, data protection services, sqlpgWriteToDisk, probe:1010
    MESSAGE : ZRC=0x85100009=-2062548983=SQLP_NOSPACE
              "Log File has reached its saturation point"
              DIA8309C Log file was full.
    DATA #1 : <preformatted>
    Error getting next log file to write to. Filecount 60, active 60, inactive 30, tailindex 4294967236 currentRecord 26
    And it appears the new TODAY table table was corrupted in the process, db2dart reported:

    Code:
             Index inspection phase start. Index obj: 14  In pool: 2 
    
             Index inspection phase start. Index obj: 14  In pool: 2 
                Error: forward-node-pointer for page(70) is (41) but in reality the next node 
    at this level is (36)
                Error: page 36p is empty but node type is x41000204, not last leaf.  Parent highkey on page=5p,slot=0,rid=x0A00410000000000,entries=2.
             Error: page in tree but not marked in use: Object Page (36)
             Error: in page 36, pool page 36, of obj 14, in tablespace 2.
             Error: Page data will be dumped to report.
                Error: previous-node-pointer for page(21) is (70) but in reality the previous node 
    at this level is (36)
                Error: page 21p is empty but node type is x41000204, not last leaf.  Parent highkey on page=5p,slot=0,rid=x0A00490000000000,entries=2.
             Error: page in tree but not marked in use: Object Page (21)
             Error: in page 21, pool page 21, of obj 14, in tablespace 2.
                Error: previous-node-pointer for page(48) is (70) but in reality the previous node 
    at this level is (21)
                Error: page 48p is empty but node type is x41000204, not last leaf.  Parent highkey on page=5p,slot=0,rid=x0700700000000000,entries=2.
             Error: page in tree but not marked in use: Object Page (48)
             Error: in page 48, pool page 48, of obj 14, in tablespace 2.
                Error: previous-node-pointer for page(41) is (70) but in reality the previous node 
    at this level is (48)
             Error: Page data will be dumped to report.
                Error: forward-node-pointer for page(23) is (34) but in reality the next node 
    at this level is (31)
                Error: page 31p is empty but node type is x41000204, not last leaf.  Parent highkey on page=8p,slot=3,rid=x0900630000000000,entries=5.
             Error: page in tree but not marked in use: Object Page (31)
             Error: in page 31, pool page 31, of obj 14, in tablespace 2.
                Error: previous-node-pointer for page(34) is (23) but in reality the previous node 
    at this level is (31)
             Error: Page data will be dumped to report.
              Error detected in index.
             Index inspection phase end.
    
          Table inspection end.
    Based on that, I used db2dart /DDEL to remove those pages, which leaves me with this:

    Code:
    Table inspection start: CTI.CTI_CALLLOG_TODAY
     
             Data inspection phase start. Data obj: 14  In pool: 2
             Data inspection phase end.
    
    
             Index inspection phase start. Index obj: 14  In pool: 2 
    
             Index inspection phase start. Index obj: 14  In pool: 2 
             Warning: Index object flags indicate invalid state, requires index be re-built,
             errors reported for this object may be due to this state.
             Warning: Index object flags indicate invalid state, requires index be re-built,
             some index consistency checks have been skipped due to this state.
             Index inspection phase end.
    
          Table inspection end.
    However, I can't issue a REORG command to reindex. Command line returns "no connection initialized", and the Control Center crashes (along with the DB2 service) if I attempt to access the database in question. I've tried this with INDEXREC set to both Access and Restart.

    I did relocate the 24,996kb db2diag.log that existed when I got in the system, and I haven't seen any other log file errors, but I don't know enough to say for sure that I'm not still having issues with the logging.

    However, I know I need to re-index this table, and I can't figure out how with the database offline and the DB2 service not letting me connect.

    I'd really appreciate any direction.

  2. #2
    Join Date
    Apr 2008
    Location
    Iasi, Romania
    Posts
    561
    Provided Answers: 2
    I would call a DB2 consultant.
    Florin Aparaschivei
    DB2 9.7, 10.5 on Windows
    Iasi, Romania

  3. #3
    Join Date
    Dec 2007
    Location
    Richmond, VA
    Posts
    1,328
    Provided Answers: 5
    The log saturation tells us that you have reached the maximum number of logs for your system. This, typically, happens when you have a transaction that has been running for several days that has not issued a commit. The reason is that a process started made some change that is in say log file 1, it is in some type of wait or just looping, now you are up to log file 225 and the system can't create any more log files. If you have not yet reached the maximum allowed, you can add some additional logs to let you get in there and then purge that one that is holding all the logs up for archival. As to your problem with that table, that is probably due to not being able to log and some of the fix up stuff you have tried thus far.

Posting Permissions

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