DIA8400C A bad page was encountered

06 July,2015 by Jack Vamvas

 

Question: The DIA8400C A bad page was encountered  message appeared in the db2diag.log file

 

MESSAGE : ZRC=0x86020001=-2046689279=SQLB_BADP "page is bad"          DIA8400C A bad page was encountered.
Object descriptor, PD_TYPE_SQLB_OBJECT_DESC, 104 bytes
    Obj: {pool:5;obj:5;type:0} Parent={5;5}

How can I investigate further ?

Answer: From the information provided , the first thing is to check the database object in question.

In the example you’ve presented – It’s the TablespaceID = 5 and TableId  = 5 . This query will display the database object

 

db2 "select char(tabname,20), char(tabschema,20) from syscat.tables where tableid=5 and tbspaceid=5"

Once you’ve identified the object – there are two utilities which ship with DB2- db2dart and INSPECT. They have some differences.

A key difference is INSPECT allows other online connections to the database. Db2dart does not allow other online connections to the database.

Here is an example of a db2dart command.

db2dart MYDB /t /tsi 5 /oi 5 /scr n /rptnn inspctBACKUPObj.rpt

DB2 INSPECT – can be an ONLINE action. i.e connections can continue

Db2 connect to db
db2 inspect check database begin TBSPACEID 5 OBJECTID 5 results keep  checkts.log

When the report completes , you’ll need to format  the output with the db2inspf utility.

To format all errors, warnings and summaries from the data file checkts.out, execute the following:

db2inspf checkts.log  checkts_read.txt -e -s –w

An example of errors:

Error: Page header invalid checksum flag set.
Error: In page 685344, physical page 685344 of object 5 in tablespace 5, pagesize 32768.

 

DB2 INSPECT and db2dart are very useful tools . They both ship with DB2 and have adequate documentation for easy implementation. In a future article I will discuss strategies on how to recover from certain error messages.

As well as ensuring you always have a valid backup,the best strategy for database corruption is to avoid it in the first place. Here are some basic steps, that could lower the risk of corruption occurring on a database

1)      Be on the lastest DB2 fixpacks.

2)      Shut down Db2 gracefully. It is very common for systems administrators to force shutdowns of servers.

3)      Maintain regular healthckecks on filesystsems

4)      ALWAYS have a valid DB2 backup. Manage the backup retention policy ,  make sure you have enough database backup copies

 

Read More on db2 trap files, diagnostic files and DBA ignorance

Analyzing a DB2 trap file - DBA DB2

DB2 – Managing Diagnostic Logs - DBA DB2

DBA Ignorance , complacency and arrogance experiment - DBA DB2

 

 

Author: Jack Vamvas(http://www.dba-db2.com)

Share:

Verify your Comment

Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Working...
Your comment could not be posted. Error type:
Your comment has been saved. Comments are moderated and will not appear until approved by the author. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.

Working...

Post a comment on DIA8400C A bad page was encountered

Comments are moderated, and will not appear until the author has approved them.


dba-db2.com | DB2 Performance Tuning | DBA DB2:Everything | FAQ | Contact | Copyright